$value) { if (isset($arr[$value]) && !empty($arr[$value])) { $where[] = [$value, 'like', '%' . $arr[$value] . '%']; } } $wherefield2 = ['is_active']; foreach ($wherefield2 as $key => $value) { if (isset($arr[$value]) && is_numeric($arr[$value])) { $where[] = [$value, '=', $arr[$value]]; } } $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1; $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10; $m_m = new MealcenterModel(); $count = $m_m->getList($where, 'count'); if ($count <= 0) { return backarr(0, "无数据"); } $totalpage = ceil($count / $size); $page > $totalpage && $page = $totalpage; $list = $m_m->getList($where, "*", $page, $size); $data = [ 'page' => $page, 'size' => $size, 'count' => $count, 'list' => $list, ]; //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '获取配餐中心列表', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "查询成功", $data); } /** * 通过配送中心获取详细信息 * * @return void * @author wj * @date 2022-12-05 */ public function getmealcenterinfobyid($arr) { $userinfo = checkToken(); $fillfields = ['cmid']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $cmid = $arr['cmid']; $m_m = new MealcenterModel(); $minfo = $m_m->getInfo(['id' => $cmid]); if (empty($minfo)) { return backarr(0, "无数据"); } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '获取配送中心[' . $cmid . ']信息', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "查询成功", $minfo); } /** * 创建配餐中心 * * @return void * @author wj * @date 2022-12-05 */ public function newcenter($arr) { $userinfo = checkToken(); $fillfields = ['name_center', 'gcj_lat', 'gcj_long', 'show_img', 'address']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $name_center = $arr['name_center']; $m_m = new MealcenterModel(); $where = ['name_center' => $name_center]; $minfo = $m_m->getInfo($where); if (!empty($minfo)) { return backarr(0, "配送中心已存在"); } $insertData = $arr; $mcid = $m_m->insertData($insertData); if (empty($mcid)) { return backarr(0, "配送中心添加失败"); } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '配餐中心创建:' . $mcid . ":" . $name_center, 'type' => 1, 'tablename' => 'mealcenter', 'refid' => $mcid, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "配送中心添加成功", ['mcid' => $mcid]); } /** * 修改配餐中心 * * @return void * @author wj * @date 2022-12-05 */ public function editcenter($arr) { $userinfo = checkToken(); $fillfields = ['id']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $id = $arr['id']; $m_m = new MealcenterModel(); $where = ['id' => $id]; $minfo = $m_m->getInfo($where); if (empty($minfo)) { return backarr(0, "配送中心不存在"); } unset($arr['id']); $updateData = []; foreach ($minfo as $key => $value) { if (isset($arr[$key]) && $arr[$key] != $value) { $updateData[$key] = $arr[$key]; } } $row = $m_m->updateinfo($where, $updateData); if (empty($row)) { return backarr(0, "配送中心修改失败"); } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '配餐中心修改:' . $id . ":" . $minfo['name_center'], 'type' => 1, 'tablename' => 'mealcenter', 'refid' => $id, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "配送中心修改成功", ['mcid' => $id]); } /** * 获取套餐配送中心 * * @return void * @author wj * @date 2022-12-07 */ public function getmeallist($arr) { $userinfo = checkToken(); $wherefield = ['name_center' => 'mc.name_center', 'name_meal' => 'm.name_meal']; $where = []; foreach ($wherefield as $key => $value) { if (isset($arr[$key]) && !empty($arr[$key])) { $where[] = [$value, 'like', '%' . $arr[$key] . '%']; } } $wherefield2 = ['is_active' => 'm.is_active']; foreach ($wherefield2 as $key => $value) { if (isset($arr[$key]) && is_numeric($arr[$key])) { $where[] = [$value, '=', $arr[$key]]; } } $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1; $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10; $m_m = new MealModel(); $count = $m_m->getListJoinCenter($where, 'count'); if ($count <= 0) { return backarr(0, "无数据"); } $totalpage = ceil((int) $count / $size); $page > $totalpage && $page = $totalpage; $field = ['m.*', 'mc.name_center']; $list = $m_m->getListJoinCenter($where, $field, $page, $size); $data = [ 'page' => $page, 'size' => $size, 'count' => $count, 'list' => $list, ]; //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '获取配餐中心列表', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "查询成功", $data); } public function updatemealisactive($arr) { $userinfo = checkToken(); $fillfields = ['id']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $id = $arr['id']; $m_m = new MealModel(); $where = ['id' => $id]; $minfo = $m_m->getInfo($where); if (empty($minfo)) { return backarr(0, "无对应数据"); } $update = []; if (1 == $minfo['is_active'] && 0 === $arr['is_active']) { $update['is_active'] = $arr['is_active']; } if (0 === $minfo['is_active'] && 1 === $arr['is_active']) { $update['is_active'] = $arr['is_active']; } if (empty($update)) { $update['updatetime'] = date('y-m-d H:i:s'); } $row = $m_m->updateinfo($where, $update); if (empty($row)) { return backarr(0, "修改失败"); } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '修改套餐可用[id:' . $id . '][is_active:' . $arr['is_active'] . ']', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "操作成功", ['mid' => $id]); } /** * 编辑套餐 * * @return void * @author wj * @date 2022-12-07 */ public function editmeal($arr) { $userinfo = checkToken(); $fillfields = ['center_id', 'name_meal', 'price']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $m_m = new MealModel(); if (isset($arr['id'])) { //修改 $mid = $arr['id']; $where = ['id' => $mid]; $minfo = $m_m->getInfo($where); $updateData = []; foreach ($arr as $key => $value) { if (isset($minfo[$key]) && $minfo[$key] != $value) { $updateData[$key] = $value; } } if (!empty($updateData)) { $updateData['updatetime'] = date('Y-m-d'); $row = $m_m->updateinfo($where, $updateData); if (empty($row)) { return backarr(0, "修改失败"); } } } else { //添加 $insertData = [ 'center_id' => $arr['center_id'], 'name_meal' => $arr['name_meal'], 'price' => $arr['price'], 'is_active' => 1, 'createtime' => date('Y-m-d H:i:s'), ]; $mid = $m_m->insertData($insertData); if (empty($mid)) { return backarr(0, "添加失败"); } } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '套餐编辑[id:' . $mid . ']', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "操作成功", ['mid' => $mid]); } /** * 根据id获取套餐详情 * * @param [type] $arr * @return void * @author wj * @date 2022-12-07 */ public function getmealinfo($arr) { $userinfo = checkToken(); $fillfields = ['id']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $id = $arr['id']; $m_m = new MealModel(); $where = ['id' => $id]; $minfo = $m_m->getInfo($where); if (empty($minfo)) { return backarr(0, "无对应数据"); } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '获取套餐[' . $id . ']详情', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "查询成功", $minfo); } /** * 根据中心id获取菜品列表 * * @return void * @author wj * @date 2022-12-07 */ public function getcooks($arr) { $userinfo = checkToken(); $fillfields = ['center_id']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $centerid = $arr['center_id']; $where = [ 'center_id' => $centerid, 'is_active' => 1, ]; $m_cb = new CookbookModel(); $list = $m_cb->getList($where, "*", 1, 0); if (empty($list)) { return backarr(0, "无对应数据"); } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '获取配送中心[' . $centerid . ']菜品列表', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "查询成功", $list); } /** * 保存套餐菜谱 * * @return void * @author wj * @date 2022-12-08 */ public function savemealcooks($arr) { $userinfo = checkToken(); $fillfields = ['center_id', 'week', 'items', 'meal_id']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $centerid = $arr['center_id']; $week = $arr['week']; $mealid = $arr['meal_id']; $items = $arr['items']; $where = [ 'center_id' => $centerid, 'meal_id' => $mealid, 'week' => $week, ]; Db::startTrans(); try { $m_mc = new MealcookModel(); $m_mc->deletecooks($where); foreach ($items as $key => $value) { $insertData = [ 'center_id' => $centerid, 'meal_id' => $mealid, 'cook_id' => $value['cook_id'], 'week' => $week, ]; $mcid = $m_mc->insertData($insertData); if (empty($mcid)) { throw new \Exception("添加失败"); } } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '更新套餐[' . $mealid . ']菜谱', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); Db::commit(); return backarr(1, "添加成功"); } catch (\Exception $e) { Db::rollback(); $msg = $e->getMessage(); return backarr(0, $msg); } } /** * 获取套餐菜谱全部信息 * * @param [type] $arr * @return void * @author wj * @date 2022-12-08 */ public function getmealcooklist($arr) { $userinfo = checkToken(); $wherefield = ['name_center' => 'mc1.name_center', 'name_meal' => 'm.name_meal', 'name_cook' => 'cb.name_meal', 'week', 'mc.week']; $where = []; foreach ($wherefield as $key => $value) { if (isset($arr[$key]) && !empty($arr[$key])) { $where[] = [$value, 'like', '%' . $arr[$key] . '%']; } } $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1; $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10; $m_mc = new MealcookModel(); $count = $m_mc->getListJoinInfo($where, 'count'); if ($count <= 0) { return backarr(0, "无数据"); } $totalpage = ceil((int) $count / $size); $page > $totalpage && $page = $totalpage; $list = $m_mc->getListJoinInfo($where, '*', $page, $size); $data = [ 'page' => $page, 'size' => $size, 'count' => $count, 'list' => $list, ]; //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '获取套餐菜谱列表', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "查询成功", $data); } /** * 获取菜单列表 * * @param [type] $arr * @return void * @author wj * @date 2022-12-08 */ public function getcookslist($arr) { $userinfo = checkToken(); $wherefield = ['name_cook' => 'cb.name_cook', 'name_center' => 'mc.name_center']; $where = []; foreach ($wherefield as $key => $value) { if (isset($arr[$key]) && !empty($arr[$key])) { $where[] = [$value, 'like', '%' . $arr[$key] . '%']; } } $wherefield2 = ['is_active' => 'cb.is_active']; foreach ($wherefield2 as $key => $value) { if (isset($arr[$key]) && is_numeric($arr[$key])) { $where[] = [$value, '=', $arr[$key]]; } } $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1; $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10; $m_cb = new CookbookModel(); $count = $m_cb->getListjoinMC($where, 'count'); if ($count <= 0) { return backarr(0, "无数据"); } $totalpage = ceil((int) $count / $size); $page > $totalpage && $page = $totalpage; $field = ['cb.*', 'mc.name_center']; $list = $m_cb->getListjoinMC($where, $field, $page, $size); $data = [ 'page' => $page, 'size' => $size, 'count' => $count, 'list' => $list, ]; //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '获取套餐菜谱列表', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "查询成功", $data); } /** * 获取菜谱信息根据id * * @param [type] $arr * @return void * @author wj * @date 2022-12-08 */ public function getcookinfobyid($arr) { $userinfo = checkToken(); $fillfields = ['cmid']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $mbid = $arr['cmid']; $m_cb = new CookbookModel(); $minfo = $m_cb->getInfo(['id' => $mbid]); if (empty($minfo)) { return backarr(0, "无数据"); } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '获取配送中心[' . $mbid . ']信息', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "查询成功", $minfo); } /** * 改菜品信息 * * @return void * @author wj * @date 2022-12-08 */ public function editcookinfo($arr) { $userinfo = checkToken(); $fillfields = ['name_center', 'name_cook', 'show_img']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $namecenter = trim($arr['name_center']); $namecook = trim($arr['name_cook']); $showimg = $arr['show_img']; $mcwhere = ['name_center' => $namecenter, 'is_active' => 1]; $time = date('Y-m-d H:i:s'); $m_mc = new MealcenterModel(); $m_cb = new CookbookModel(); $mcinfo = $m_mc->getInfo($mcwhere); if (empty($mcinfo)) { return backarr(0, "配送中心不存在"); } if (!isset($arr['id']) || empty($arr['id'])) { $cbwhere = ['name_cook' => $namecook, 'is_active' => 1]; $cbinfo = $m_cb->getInfo($cbwhere); if (!empty($cbinfo)) { return backarr(0, "菜品已存在"); } $insertData = [ 'name_cook' => $namecook, 'show_img' => $showimg, 'center_id' => $mcinfo['id'], 'craetetime' => $time, ]; $id = $m_cb->insertData($insertData); if (empty($id)) { return backarr(0, "菜品添加失败"); } $cbinfo = $insertData; $cbinfo['id'] = $id; } if (isset($arr['id']) && !empty($arr['id'])) { $id = $arr['id']; $where = ['id' => $id]; $cbinfo = $m_cb->getInfo($where); if (empty($minfo)) { return backarr(0, "菜品不存在"); } unset($arr['id']); $updateData = []; foreach ($cbinfo as $key => $value) { if (isset($arr[$key]) && $arr[$key] != $value) { $updateData[$key] = $arr[$key]; } } $row = $m_cb->updateinfo($where, $updateData); if (empty($row)) { return backarr(0, "菜品修改失败"); } } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '菜品编辑:' . $id . ":" . $cbinfo['name_cook'], 'type' => 1, 'tablename' => 'cookbook', 'refid' => $id, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "菜品编辑成功", ['cbid' => $id]); } /** * 修改菜品可用 * * @param [type] $arr * @return void * @author wj * @date 2022-12-08 */ public function updatecookisactive($arr) { $userinfo = checkToken(); $fillfields = ['id']; foreach ($fillfields as $key => $value) { if (!isset($arr[$value]) || empty($arr[$value])) { return backarr(0, "参数缺少"); } } $id = $arr['id']; $m_cb = new CookbookModel(); $where = ['id' => $id]; $cbnfo = $m_cb->getInfo($where); if (empty($cbnfo)) { return backarr(0, "无对应数据"); } $update = []; if (1 == $cbnfo['is_active'] && 0 === $arr['is_active']) { $update['is_active'] = $arr['is_active']; } if (0 === $cbnfo['is_active'] && 1 === $arr['is_active']) { $update['is_active'] = $arr['is_active']; } if (empty($update)) { $update['updatetime'] = date('y-m-d H:i:s'); } $row = $m_cb->updateinfo($where, $update); if (empty($row)) { return backarr(0, "修改失败"); } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '修改菜品可用[id:' . $id . '][is_active:' . $arr['is_active'] . ']', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, "操作成功", ['mid' => $id]); } }