MealOrdersModel.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. class MealOrdersModel extends Model
  5. {
  6. protected $table = "t_meal_orders";
  7. public function insertData($data)
  8. {
  9. if (!isset($data['createtime']) || empty($data['createtime']) || !is_string($data['createtime'])) {
  10. $data['createtime'] = date("Y-m-d H:i:s");
  11. }
  12. if (isset($data['id'])) {
  13. unset($data['id']);
  14. }
  15. $data = $this->formatData($data);
  16. if (empty($data)) {
  17. return false;
  18. }
  19. $id = $this->insertGetId($data);
  20. return $id ? $id : false;
  21. }
  22. /**
  23. * 校验入库数据
  24. * 20220119
  25. */
  26. private function formatData($data)
  27. {
  28. $useData = [];
  29. $fields = $this->getTableFields();
  30. foreach ($data as $key => $value) {
  31. if (in_array($key, $fields)) {
  32. $useData[$key] = $value;
  33. }
  34. }
  35. return $useData;
  36. }
  37. public function getInfo($where, $field = "*", $row = true)
  38. {
  39. $info = $this->field($field)->where($where);
  40. if ($row) {
  41. $info = $info->find();
  42. } else {
  43. $info = $info->select();
  44. }
  45. return empty($info) ? false : $info;
  46. }
  47. public function updateinfo($where, $updateData)
  48. {
  49. $row = $this->where($where)->update($updateData);
  50. return empty($row) ? false : $row;
  51. }
  52. public function deleteinfo($where)
  53. {
  54. $row = $this->where($where)->delete();
  55. return empty($row) ? false : $row;
  56. }
  57. public function getList($where = [], $field = "*", $page = 1, $size = 10, $order = "id desc", $group = "", $row = false)
  58. {
  59. $sqlObj = $this->where($where);
  60. if ("count" != $field) {
  61. if (empty($size)) {
  62. $sqlObj = $sqlObj->field($field)->order($order)->group($group);
  63. } else {
  64. $sqlObj = $sqlObj->field($field)->order($order)->group($group)->page($page, $size);
  65. }
  66. if ($row) {
  67. $data = $sqlObj->find();
  68. } else {
  69. $data = $sqlObj->select();
  70. }
  71. } else {
  72. $data = $sqlObj->count();
  73. }
  74. return $data;
  75. }
  76. public function getListjoincenter($where = [], $field = "*", $page = 1, $size = 10, $order = "id desc", $group = "", $row = false)
  77. {
  78. $usewhere = [];
  79. if (isset($where['name_center']) && !empty($where['name_center'])) {
  80. $usewhere['mc.name_center'] = ['like', "%" . $where['name_center'] . "%"];
  81. }
  82. if (isset($where['orderno']) && !empty($where['orderno'])) {
  83. $usewhere['mo.orderno'] = ['like', "%" . $where['orderno'] . "%"];
  84. }
  85. if (isset($where['createtime'])) {
  86. $usewhere['mo.createtime'] = ['between', $where['createtime']];
  87. }
  88. if (isset($where['status'])) {
  89. $usewhere['mo.status'] = $where['status'];
  90. }
  91. if (isset($where['status_delivery'])) {
  92. $usewhere['mo.status_delivery'] = $where['status_delivery'];
  93. }
  94. if ($field == "*") {
  95. $field = ['mc.name_center', 'm.name_meal', 'm.price', 'mo.*'];
  96. }
  97. $sqlObj = $this->alias('mo')->join("t_mealcenter mc", "mc.id=mo.center_id")->join("t_meal m", "m.id=mo.meal_id")->where($usewhere)->field($field);
  98. if ("count" != $field) {
  99. if (empty($size)) {
  100. $sqlObj = $sqlObj->order($order)->group($group);
  101. } else {
  102. $sqlObj = $sqlObj->order($order)->group($group)->page($page, $size);
  103. }
  104. if ($row) {
  105. $data = $sqlObj->find();
  106. } else {
  107. $data = $sqlObj->select();
  108. }
  109. } else {
  110. $data = $sqlObj->count();
  111. }
  112. return $data;
  113. }
  114. }