MealLogic.php 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  1. <?php
  2. namespace app\admin\logic;
  3. use app\admin\server\Webuserserver;
  4. use app\common\model\CookbookModel;
  5. use app\common\model\MealcenterModel;
  6. use app\common\model\MealcookModel;
  7. use app\common\model\MealModel;
  8. use app\common\model\MealOrdersModel;
  9. //use app\common\model\MealOrdersModel;
  10. //use app\common\model\UserAddressModel;
  11. use think\Db;
  12. class MealLogic
  13. {
  14. /**
  15. * 获取套餐配送中心列表
  16. *
  17. * @return void
  18. * @author wj
  19. * @date 2022-12-01
  20. */
  21. public function getcenterlist($arr)
  22. {
  23. $userinfo = checkToken();
  24. $wherefield = ['name_center', 'address'];
  25. $where = [];
  26. foreach ($wherefield as $key => $value) {
  27. if (isset($arr[$value]) && !empty($arr[$value])) {
  28. $where[] = [$value, 'like', '%' . $arr[$value] . '%'];
  29. }
  30. }
  31. $wherefield2 = ['is_active'];
  32. foreach ($wherefield2 as $key => $value) {
  33. if (isset($arr[$value]) && is_numeric($arr[$value])) {
  34. $where[] = [$value, '=', $arr[$value]];
  35. }
  36. }
  37. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  38. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  39. $m_m = new MealcenterModel();
  40. $count = $m_m->getList($where, 'count');
  41. if ($count <= 0) {
  42. return backarr(0, "无数据");
  43. }
  44. $totalpage = ceil($count / $size);
  45. $page > $totalpage && $page = $totalpage;
  46. $list = $m_m->getList($where, "*", $page, $size);
  47. $data = [
  48. 'page' => $page,
  49. 'size' => $size,
  50. 'count' => $count,
  51. 'list' => $list,
  52. ];
  53. return backarr(1, "查询成功", $data);
  54. }
  55. /**
  56. * 通过配送中心获取详细信息
  57. *
  58. * @return void
  59. * @author wj
  60. * @date 2022-12-05
  61. */
  62. public function getmealcenterinfobyid($arr)
  63. {
  64. $userinfo = checkToken();
  65. $fillfields = ['cmid'];
  66. foreach ($fillfields as $key => $value) {
  67. if (!isset($arr[$value]) || empty($arr[$value])) {
  68. return backarr(0, "参数缺少");
  69. }
  70. }
  71. $cmid = $arr['cmid'];
  72. $m_m = new MealcenterModel();
  73. $minfo = $m_m->getInfo(['id' => $cmid]);
  74. if (empty($minfo)) {
  75. return backarr(0, "无数据");
  76. }
  77. return backarr(1, "查询成功", $minfo);
  78. }
  79. /**
  80. * 创建配餐中心
  81. *
  82. * @return void
  83. * @author wj
  84. * @date 2022-12-05
  85. */
  86. public function newcenter($arr)
  87. {
  88. $userinfo = checkToken();
  89. $fillfields = ['name_center', 'gcj_lat', 'gcj_long', 'show_img', 'address'];
  90. foreach ($fillfields as $key => $value) {
  91. if (!isset($arr[$value]) || empty($arr[$value])) {
  92. return backarr(0, "参数缺少");
  93. }
  94. }
  95. $name_center = $arr['name_center'];
  96. $m_m = new MealcenterModel();
  97. $where = ['name_center' => $name_center];
  98. $minfo = $m_m->getInfo($where);
  99. if (!empty($minfo)) {
  100. return backarr(0, "配送中心已存在");
  101. }
  102. $insertData = $arr;
  103. $mcid = $m_m->insertData($insertData);
  104. if (empty($mcid)) {
  105. return backarr(0, "配送中心添加失败");
  106. }
  107. //保存日志
  108. $s_w = new Webuserserver();
  109. $logData = [
  110. 'node' => '配餐中心创建:' . $mcid . ":" . $name_center,
  111. 'type' => 1,
  112. 'tablename' => 'mealcenter',
  113. 'refid' => $mcid,
  114. ];
  115. $s_w->savelog($userinfo['id'], $logData);
  116. return backarr(1, "配送中心添加成功", ['mcid' => $mcid]);
  117. }
  118. /**
  119. * 修改配餐中心
  120. *
  121. * @return void
  122. * @author wj
  123. * @date 2022-12-05
  124. */
  125. public function editcenter($arr)
  126. {
  127. $userinfo = checkToken();
  128. $fillfields = ['id'];
  129. foreach ($fillfields as $key => $value) {
  130. if (!isset($arr[$value]) || empty($arr[$value])) {
  131. return backarr(0, "参数缺少");
  132. }
  133. }
  134. $id = $arr['id'];
  135. $m_m = new MealcenterModel();
  136. $where = ['id' => $id];
  137. $minfo = $m_m->getInfo($where);
  138. if (empty($minfo)) {
  139. return backarr(0, "配送中心不存在");
  140. }
  141. unset($arr['id']);
  142. $updateData = [];
  143. foreach ($minfo as $key => $value) {
  144. if (isset($arr[$key]) && $arr[$key] != $value) {
  145. $updateData[$key] = $arr[$key];
  146. }
  147. }
  148. $row = $m_m->updateinfo($where, $updateData);
  149. if (empty($row)) {
  150. return backarr(0, "配送中心修改失败");
  151. }
  152. //保存日志
  153. $s_w = new Webuserserver();
  154. $logData = [
  155. 'node' => '配餐中心修改:' . $id . ":" . $minfo['name_center'],
  156. 'type' => 1,
  157. 'tablename' => 'mealcenter',
  158. 'refid' => $id,
  159. ];
  160. $s_w->savelog($userinfo['id'], $logData);
  161. return backarr(1, "配送中心修改成功", ['mcid' => $id]);
  162. }
  163. /**
  164. * 获取套餐配送中心
  165. *
  166. * @return void
  167. * @author wj
  168. * @date 2022-12-07
  169. */
  170. public function getmeallist($arr)
  171. {
  172. $userinfo = checkToken();
  173. $wherefield = ['name_center' => 'mc.name_center', 'name_meal' => 'm.name_meal'];
  174. $where = [];
  175. foreach ($wherefield as $key => $value) {
  176. if (isset($arr[$key]) && !empty($arr[$key])) {
  177. $where[] = [$value, 'like', '%' . $arr[$key] . '%'];
  178. }
  179. }
  180. $wherefield2 = ['is_active' => 'm.is_active'];
  181. foreach ($wherefield2 as $key => $value) {
  182. if (isset($arr[$key]) && is_numeric($arr[$key])) {
  183. $where[] = [$value, '=', $arr[$key]];
  184. }
  185. }
  186. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  187. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  188. $m_m = new MealModel();
  189. $count = $m_m->getListJoinCenter($where, 'count');
  190. if ($count <= 0) {
  191. return backarr(0, "无数据");
  192. }
  193. $totalpage = ceil((int) $count / $size);
  194. $page > $totalpage && $page = $totalpage;
  195. $field = ['m.*', 'mc.name_center'];
  196. $list = $m_m->getListJoinCenter($where, $field, $page, $size);
  197. $data = [
  198. 'page' => $page,
  199. 'size' => $size,
  200. 'count' => $count,
  201. 'list' => $list,
  202. ];
  203. return backarr(1, "查询成功", $data);
  204. }
  205. public function updatemealisactive($arr)
  206. {
  207. $userinfo = checkToken();
  208. $fillfields = ['id'];
  209. foreach ($fillfields as $key => $value) {
  210. if (!isset($arr[$value]) || empty($arr[$value])) {
  211. return backarr(0, "参数缺少");
  212. }
  213. }
  214. $id = $arr['id'];
  215. $m_m = new MealModel();
  216. $where = ['id' => $id];
  217. $minfo = $m_m->getInfo($where);
  218. if (empty($minfo)) {
  219. return backarr(0, "无对应数据");
  220. }
  221. $update = [];
  222. if (1 == $minfo['is_active'] && 0 === $arr['is_active']) {
  223. $update['is_active'] = $arr['is_active'];
  224. }
  225. if (0 === $minfo['is_active'] && 1 === $arr['is_active']) {
  226. $update['is_active'] = $arr['is_active'];
  227. }
  228. if (empty($update)) {
  229. $update['updatetime'] = date('y-m-d H:i:s');
  230. }
  231. $row = $m_m->updateinfo($where, $update);
  232. if (empty($row)) {
  233. return backarr(0, "修改失败");
  234. }
  235. //保存日志
  236. $s_w = new Webuserserver();
  237. $logData = [
  238. 'node' => '修改套餐可用[id:' . $id . '][is_active:' . $arr['is_active'] . ']',
  239. 'type' => 1,
  240. ];
  241. $s_w->savelog($userinfo['id'], $logData);
  242. return backarr(1, "操作成功", ['mid' => $id]);
  243. }
  244. /**
  245. * 编辑套餐
  246. *
  247. * @return void
  248. * @author wj
  249. * @date 2022-12-07
  250. */
  251. public function editmeal($arr)
  252. {
  253. $userinfo = checkToken();
  254. $fillfields = ['center_id', 'name_meal', 'price'];
  255. foreach ($fillfields as $key => $value) {
  256. if (!isset($arr[$value]) || empty($arr[$value])) {
  257. return backarr(0, "参数缺少");
  258. }
  259. }
  260. $m_m = new MealModel();
  261. if (isset($arr['id'])) {
  262. //修改
  263. $mid = $arr['id'];
  264. $where = ['id' => $mid];
  265. $minfo = $m_m->getInfo($where);
  266. $updateData = [];
  267. foreach ($arr as $key => $value) {
  268. if (isset($minfo[$key]) && $minfo[$key] != $value) {
  269. $updateData[$key] = $value;
  270. }
  271. }
  272. if (!empty($updateData)) {
  273. $updateData['updatetime'] = date('Y-m-d');
  274. $row = $m_m->updateinfo($where, $updateData);
  275. if (empty($row)) {
  276. return backarr(0, "修改失败");
  277. }
  278. }
  279. } else {
  280. //添加
  281. $insertData = [
  282. 'center_id' => $arr['center_id'],
  283. 'name_meal' => $arr['name_meal'],
  284. 'price' => $arr['price'],
  285. 'is_active' => 1,
  286. 'createtime' => date('Y-m-d H:i:s'),
  287. ];
  288. $mid = $m_m->insertData($insertData);
  289. if (empty($mid)) {
  290. return backarr(0, "添加失败");
  291. }
  292. }
  293. //保存日志
  294. $s_w = new Webuserserver();
  295. $logData = [
  296. 'node' => '套餐编辑[id:' . $mid . ']',
  297. 'type' => 1,
  298. ];
  299. $s_w->savelog($userinfo['id'], $logData);
  300. return backarr(1, "操作成功", ['mid' => $mid]);
  301. }
  302. /**
  303. * 根据id获取套餐详情
  304. *
  305. * @param [type] $arr
  306. * @return void
  307. * @author wj
  308. * @date 2022-12-07
  309. */
  310. public function getmealinfo($arr)
  311. {
  312. $userinfo = checkToken();
  313. $fillfields = ['id'];
  314. foreach ($fillfields as $key => $value) {
  315. if (!isset($arr[$value]) || empty($arr[$value])) {
  316. return backarr(0, "参数缺少");
  317. }
  318. }
  319. $id = $arr['id'];
  320. $m_m = new MealModel();
  321. $where = ['id' => $id];
  322. $minfo = $m_m->getInfo($where);
  323. if (empty($minfo)) {
  324. return backarr(0, "无对应数据");
  325. }
  326. return backarr(1, "查询成功", $minfo);
  327. }
  328. /**
  329. * 根据中心id获取菜品列表
  330. *
  331. * @return void
  332. * @author wj
  333. * @date 2022-12-07
  334. */
  335. public function getcooks($arr)
  336. {
  337. $userinfo = checkToken();
  338. $fillfields = ['center_id'];
  339. foreach ($fillfields as $key => $value) {
  340. if (!isset($arr[$value]) || empty($arr[$value])) {
  341. return backarr(0, "参数缺少");
  342. }
  343. }
  344. $centerid = $arr['center_id'];
  345. $where = [
  346. 'center_id' => $centerid,
  347. 'is_active' => 1,
  348. ];
  349. $m_cb = new CookbookModel();
  350. $list = $m_cb->getList($where, "*", 1, 0);
  351. if (empty($list)) {
  352. return backarr(0, "无对应数据");
  353. }
  354. return backarr(1, "查询成功", $list);
  355. }
  356. /**
  357. * 保存套餐菜谱
  358. *
  359. * @return void
  360. * @author wj
  361. * @date 2022-12-08
  362. */
  363. public function savemealcooks($arr)
  364. {
  365. $userinfo = checkToken();
  366. $fillfields = ['center_id', 'week', 'items', 'meal_id'];
  367. foreach ($fillfields as $key => $value) {
  368. if (!isset($arr[$value]) || empty($arr[$value])) {
  369. return backarr(0, "参数缺少");
  370. }
  371. }
  372. $centerid = $arr['center_id'];
  373. $week = $arr['week'];
  374. $mealid = $arr['meal_id'];
  375. $items = $arr['items'];
  376. $where = [
  377. 'center_id' => $centerid,
  378. 'meal_id' => $mealid,
  379. 'week' => $week,
  380. ];
  381. Db::startTrans();
  382. try {
  383. $m_mc = new MealcookModel();
  384. $m_mc->deletecooks($where);
  385. foreach ($items as $key => $value) {
  386. $insertData = [
  387. 'center_id' => $centerid,
  388. 'meal_id' => $mealid,
  389. 'cook_id' => $value['cook_id'],
  390. 'week' => $week,
  391. ];
  392. $mcid = $m_mc->insertData($insertData);
  393. if (empty($mcid)) {
  394. throw new \Exception("添加失败");
  395. }
  396. }
  397. //保存日志
  398. $s_w = new Webuserserver();
  399. $logData = [
  400. 'node' => '更新套餐[' . $mealid . ']菜谱',
  401. 'type' => 1,
  402. ];
  403. $s_w->savelog($userinfo['id'], $logData);
  404. Db::commit();
  405. return backarr(1, "添加成功");
  406. } catch (\Exception $e) {
  407. Db::rollback();
  408. $msg = $e->getMessage();
  409. return backarr(0, $msg);
  410. }
  411. }
  412. /**
  413. * 获取套餐菜谱全部信息
  414. *
  415. * @param [type] $arr
  416. * @return void
  417. * @author wj
  418. * @date 2022-12-08
  419. */
  420. public function getmealcooklist($arr)
  421. {
  422. $userinfo = checkToken();
  423. $wherefield = ['name_center' => 'mc1.name_center', 'name_meal' => 'm.name_meal', 'name_cook' => 'cb.name_meal', 'week', 'mc.week'];
  424. $where = [];
  425. foreach ($wherefield as $key => $value) {
  426. if (isset($arr[$key]) && !empty($arr[$key])) {
  427. $where[] = [$value, 'like', '%' . $arr[$key] . '%'];
  428. }
  429. }
  430. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  431. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  432. $m_mc = new MealcookModel();
  433. $count = $m_mc->getListJoinInfo($where, 'count');
  434. if ($count <= 0) {
  435. return backarr(0, "无数据");
  436. }
  437. $totalpage = ceil((int) $count / $size);
  438. $page > $totalpage && $page = $totalpage;
  439. $list = $m_mc->getListJoinInfo($where, '*', $page, $size);
  440. $data = [
  441. 'page' => $page,
  442. 'size' => $size,
  443. 'count' => $count,
  444. 'list' => $list,
  445. ];
  446. return backarr(1, "查询成功", $data);
  447. }
  448. /**
  449. * 获取菜单列表
  450. *
  451. * @param [type] $arr
  452. * @return void
  453. * @author wj
  454. * @date 2022-12-08
  455. */
  456. public function getcookslist($arr)
  457. {
  458. $userinfo = checkToken();
  459. $wherefield = ['name_cook' => 'cb.name_cook', 'name_center' => 'mc.name_center'];
  460. $where = [];
  461. foreach ($wherefield as $key => $value) {
  462. if (isset($arr[$key]) && !empty($arr[$key])) {
  463. $where[] = [$value, 'like', '%' . $arr[$key] . '%'];
  464. }
  465. }
  466. $wherefield2 = ['is_active' => 'cb.is_active'];
  467. foreach ($wherefield2 as $key => $value) {
  468. if (isset($arr[$key]) && is_numeric($arr[$key])) {
  469. $where[] = [$value, '=', $arr[$key]];
  470. }
  471. }
  472. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  473. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  474. $m_cb = new CookbookModel();
  475. $count = $m_cb->getListjoinMC($where, 'count');
  476. if ($count <= 0) {
  477. return backarr(0, "无数据");
  478. }
  479. $totalpage = ceil((int) $count / $size);
  480. $page > $totalpage && $page = $totalpage;
  481. $field = ['cb.*', 'mc.name_center'];
  482. $list = $m_cb->getListjoinMC($where, $field, $page, $size);
  483. $data = [
  484. 'page' => $page,
  485. 'size' => $size,
  486. 'count' => $count,
  487. 'list' => $list,
  488. ];
  489. return backarr(1, "查询成功", $data);
  490. }
  491. /**
  492. * 获取菜谱信息根据id
  493. *
  494. * @param [type] $arr
  495. * @return void
  496. * @author wj
  497. * @date 2022-12-08
  498. */
  499. public function getcookinfobyid($arr)
  500. {
  501. $userinfo = checkToken();
  502. $fillfields = ['cmid'];
  503. foreach ($fillfields as $key => $value) {
  504. if (!isset($arr[$value]) || empty($arr[$value])) {
  505. return backarr(0, "参数缺少");
  506. }
  507. }
  508. $mbid = $arr['cmid'];
  509. $m_cb = new CookbookModel();
  510. $minfo = $m_cb->getInfo(['id' => $mbid]);
  511. if (empty($minfo)) {
  512. return backarr(0, "无数据");
  513. }
  514. return backarr(1, "查询成功", $minfo);
  515. }
  516. /**
  517. * 改菜品信息
  518. *
  519. * @return void
  520. * @author wj
  521. * @date 2022-12-08
  522. */
  523. public function editcookinfo($arr)
  524. {
  525. $userinfo = checkToken();
  526. $fillfields = ['name_center', 'name_cook', 'show_img'];
  527. foreach ($fillfields as $key => $value) {
  528. if (!isset($arr[$value]) || empty($arr[$value])) {
  529. return backarr(0, "参数缺少");
  530. }
  531. }
  532. $namecenter = trim($arr['name_center']);
  533. $namecook = trim($arr['name_cook']);
  534. $showimg = $arr['show_img'];
  535. $mcwhere = ['name_center' => $namecenter, 'is_active' => 1];
  536. $time = date('Y-m-d H:i:s');
  537. $m_mc = new MealcenterModel();
  538. $m_cb = new CookbookModel();
  539. $mcinfo = $m_mc->getInfo($mcwhere);
  540. if (empty($mcinfo)) {
  541. return backarr(0, "配送中心不存在");
  542. }
  543. if (!isset($arr['id']) || empty($arr['id'])) {
  544. $cbwhere = ['name_cook' => $namecook, 'is_active' => 1];
  545. $cbinfo = $m_cb->getInfo($cbwhere);
  546. if (!empty($cbinfo)) {
  547. return backarr(0, "菜品已存在");
  548. }
  549. $insertData = [
  550. 'name_cook' => $namecook,
  551. 'show_img' => $showimg,
  552. 'center_id' => $mcinfo['id'],
  553. 'craetetime' => $time,
  554. ];
  555. $id = $m_cb->insertData($insertData);
  556. if (empty($id)) {
  557. return backarr(0, "菜品添加失败");
  558. }
  559. $cbinfo = $insertData;
  560. $cbinfo['id'] = $id;
  561. }
  562. if (isset($arr['id']) && !empty($arr['id'])) {
  563. $id = $arr['id'];
  564. $where = ['id' => $id];
  565. $cbinfo = $m_cb->getInfo($where);
  566. if (empty($minfo)) {
  567. return backarr(0, "菜品不存在");
  568. }
  569. unset($arr['id']);
  570. $updateData = [];
  571. foreach ($cbinfo as $key => $value) {
  572. if (isset($arr[$key]) && $arr[$key] != $value) {
  573. $updateData[$key] = $arr[$key];
  574. }
  575. }
  576. $row = $m_cb->updateinfo($where, $updateData);
  577. if (empty($row)) {
  578. return backarr(0, "菜品修改失败");
  579. }
  580. }
  581. //保存日志
  582. $s_w = new Webuserserver();
  583. $logData = [
  584. 'node' => '菜品编辑:' . $id . ":" . $cbinfo['name_cook'],
  585. 'type' => 1,
  586. 'tablename' => 'cookbook',
  587. 'refid' => $id,
  588. ];
  589. $s_w->savelog($userinfo['id'], $logData);
  590. return backarr(1, "菜品编辑成功", ['cbid' => $id]);
  591. }
  592. /**
  593. * 修改菜品可用
  594. *
  595. * @param [type] $arr
  596. * @return void
  597. * @author wj
  598. * @date 2022-12-08
  599. */
  600. public function updatecookisactive($arr)
  601. {
  602. $userinfo = checkToken();
  603. $fillfields = ['id'];
  604. foreach ($fillfields as $key => $value) {
  605. if (!isset($arr[$value]) || empty($arr[$value])) {
  606. return backarr(0, "参数缺少");
  607. }
  608. }
  609. $id = $arr['id'];
  610. $m_cb = new CookbookModel();
  611. $where = ['id' => $id];
  612. $cbnfo = $m_cb->getInfo($where);
  613. if (empty($cbnfo)) {
  614. return backarr(0, "无对应数据");
  615. }
  616. $update = [];
  617. if (1 == $cbnfo['is_active'] && 0 === $arr['is_active']) {
  618. $update['is_active'] = $arr['is_active'];
  619. }
  620. if (0 === $cbnfo['is_active'] && 1 === $arr['is_active']) {
  621. $update['is_active'] = $arr['is_active'];
  622. }
  623. if (empty($update)) {
  624. $update['updatetime'] = date('y-m-d H:i:s');
  625. }
  626. $row = $m_cb->updateinfo($where, $update);
  627. if (empty($row)) {
  628. return backarr(0, "修改失败");
  629. }
  630. //保存日志
  631. $s_w = new Webuserserver();
  632. $logData = [
  633. 'node' => '修改菜品可用[id:' . $id . '][is_active:' . $arr['is_active'] . ']',
  634. 'type' => 1,
  635. ];
  636. $s_w->savelog($userinfo['id'], $logData);
  637. return backarr(1, "操作成功", ['mid' => $id]);
  638. }
  639. /**
  640. * 获取订单列表
  641. *
  642. * @return void
  643. * @author wj
  644. * @date 2023-01-16
  645. */
  646. public function getorderlist($arr)
  647. {
  648. $userinfo = checkToken();
  649. $wherefield = ['name_center', 'orderno'];
  650. $where = [];
  651. foreach ($wherefield as $key => $value) {
  652. if (isset($arr[$value]) && !empty($arr[$value])) {
  653. $where[$value] = $arr[$value];
  654. }
  655. }
  656. if (isset($arr['createtime']) && is_array($arr['createtime']) && !empty($arr['createtime'])) {
  657. $createtime = array_filter($arr['createtime']);
  658. if (count($arr['createtime']) == count($createtime)) {
  659. $where['createtime'] = $createtime;
  660. }
  661. }
  662. if (isset($arr['status']) && is_numeric($arr['status'])) {
  663. $where['status'] = $arr['status'];
  664. }
  665. if (isset($arr['status_delivery']) && is_numeric($arr['status_delivery'])) {
  666. $where['status_delivery'] = $arr['status_delivery'];
  667. }
  668. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  669. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  670. $m_mo = new MealOrdersModel();
  671. $m_cb = new CookbookModel();
  672. $count = $m_mo->getListjoincenter($where, 'count');
  673. if ($count <= 0) {
  674. return backarr(0, "无数据");
  675. }
  676. $totalpage = ceil((int) $count / $size);
  677. $page > $totalpage && $page = $totalpage;
  678. $field = '*';
  679. $list = $m_mo->getListjoincenter($where, $field, $page, $size);
  680. foreach ($list as $key => $value) {
  681. $cooks = $value['cooks'];
  682. $cooks = explode(",", $cooks);
  683. $cooklist = $m_cb->getList(['id' => ["in", $cooks], 'is_active' => 1]);
  684. $list[$key]['detail'] = $cooklist;
  685. }
  686. $data = [
  687. 'page' => $page,
  688. 'size' => $size,
  689. 'count' => $count,
  690. 'list' => $list,
  691. ];
  692. return backarr(1, "查询成功", $data);
  693. }
  694. }