MealLogic.php 23 KB

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