request->post('name'); $where = []; if (!empty($name)) { $where[] = ['name', 'like', `%$name%`]; } $model = new ServerCategory(); try { $list = $model->getList($where); } catch (DataNotFoundException|ModelNotFoundException|DbException $e) { return $this->renderError($e->getMessage() ?: '接口异常'); } return $this->renderSuccess(compact('list')); } /** * @notes:添加分类 * @return Json * @author: wanghousheng */ public function addCategory(): Json { $data = $this->postForm(); if (!$data) { return $this->renderError('缺少必要参数'); } $model = new ServerCategory(); if ($model->add($data)) { return $this->renderSuccess('添加成功'); } return $this->renderError($model->getError() ?: '添加失败'); } /** * @notes:编辑分类 * @param int $categoryId * @return Json * @author: wanghousheng */ public function editCategory(int $categoryId): Json { $data = $this->postForm(); if (!$data) { return $this->renderError('缺少必要参数'); } $model = ServerCategory::detail($categoryId); if ($model->edit($data)) { return $this->renderSuccess('编辑成功'); } return $this->renderError($model->getError() ?: '编辑失败'); } public function deleteCategory(int $categoryId): Json { $model = ServerCategory::detail($categoryId); if ($model->remove()) { return $this->renderSuccess('删除成功'); } return $this->renderError('删除失败'); } /** * @notes:服务列表 * @return Json * @author: wanghousheng */ public function serverList(): Json { // 获取列表记录 $model = new ServerModel(); $server_name = $this->request->post('server_name'); $category_id = intval($this->request->post('category_id')); $status = intval($this->request->post('status')); $where = []; if ($server_name) { $where[] = ['server.server_name', 'like', "%$server_name%"]; } if ($category_id) { $where[] = ['server.category_id', '=', $category_id]; } if ($status) { $where[] = ['server.status', '=', $status]; } try { $list = $model->getList($where); } catch (DbException $e) { return $this->renderError($e->getMessage()); } return $this->renderSuccess(compact('list')); } public function ServerDetail(int $serverId): Json { // 获取商品详情 $model = new ServerModel; $info = $model->getDetail($serverId); return $this->renderSuccess(compact('info')); } /** * @notes:添加服务 * @return Json * @author: wanghousheng */ public function addServer(): Json { $data = $this->postForm(); if (!$data) { return $this->renderError('缺少必要参数'); } $model = new ServerModel(); if ($model->add($data)) { return $this->renderSuccess('添加成功'); } return $this->renderError($model->getError() ?: '添加失败'); } /** * @notes:编辑服务 * @param int $serverId * @return Json * @author: wanghousheng */ public function editServer(int $serverId): Json { $data = $this->postForm(); if (!$data) { return $this->renderError('缺少必要参数'); } $model = ServerModel::detail($serverId); if ($model->edit($data)) { return $this->renderSuccess('编辑成功'); } return $this->renderError($model->getError() ?: '编辑失败'); } /** * @notes:删除服务 * @param array $serverId * @return Json * @author: wanghousheng */ public function deleteServer(array $serverId): Json { if (ServerModel::destroy($serverId)) { return $this->renderSuccess('删除成功'); } return $this->renderError('删除失败'); } /** * 根据服务ID集获取列表记录 * @param $serverIds * @return Json */ public function listByIds($serverIds): Json { // 获取列表记录 $model = new ServerModel(); $list = $model->getListByIds($serverIds); return $this->renderSuccess(compact('list')); } /** * 修改服务状态(上下架) * @param array $serverIds 商品id集 * @param bool $state 为true表示上架 * @return Json */ public function serverStatus(array $serverIds, bool $state): Json { $model = new ServerModel; if (!$model->setStatus($serverIds, $state)) { return $this->renderError($model->getError() ?: '操作失败'); } return $this->renderSuccess('操作成功'); } /** * @notes:服务订单列表 * @return Json * @author: wanghousheng */ public function orderList(): Json { $model = new \app\common\model\server\Order; $server_name = $this->request->post('server_name'); $order_no = $this->request->post('order_no'); $order_status = intval($this->request->post('order_status')); $where = []; if (!empty($server_name)) { $where[] = ['a.server_name', 'like', "%$server_name%"]; } if (!empty($order_no)) { $where[] = ['a.order_no', '=', $order_no]; } if ($order_status) { $where[] = ['a.order_status', '=', $order_status]; } $user_mobile = $this->request->post('user_mobile'); if ($user_mobile) { $where[] = ['b.mobile', '=', $user_mobile]; } $user_nickname = $this->request->post('user_nickname'); if ($user_nickname) { $where[] = ['b.nick_name', 'like', "%$server_name%"]; } $list = $model->getList($where); $data['list'] = $list->items(); $data['total'] = $list->total(); return $this->renderSuccess($data); } /** * @notes:订单详情 * @return Json * @author: wanghousheng */ public function orderDetail(): Json { $orderId = intval($this->request->post('orderId')); $data = \app\common\model\server\Order::detail(['order_id' => $orderId], ['user', 'dealer', 'image']); $data['server_info'] = null; if (!empty($data['server_id'])) { $data['server_info'] = ServerModel::detail($data['server_id'], ['category']); } return $this->renderSuccess(['detail' => $data]); } /** * @notes:订单状态 * @return Json * @author: wanghousheng */ public function OrderStatus(): Json { $list = array_values(ServerEnum::data()); return $this->renderSuccess(compact('list')); } /** * @notes:取消服务订单 * @param int $orderId * @return Json * @author: wanghousheng */ public function cancelOrder(int $orderId): Json { $order = \app\common\model\server\Order::detail($orderId); if (empty($order)) { return $this->renderError('订单信息不存在'); } try { $result = \app\common\service\server\Order::cancelOrder($order->toArray()); if ($result) { return $this->renderSuccess('操作成功'); } } catch (BaseException|DataNotFoundException|ModelNotFoundException|DbException $e) { return $this->renderError($e->getMessage() ?: '取消失败'); } return $this->renderError('取消失败'); } /** * @notes:派单 * @return Json * @author: wanghousheng */ public function dispatchOrders(): Json { $data = $this->postForm(); if (empty($data['dealer_id'])) { return $this->renderError('指派人员不能为空'); } if (empty($data['order_id'])) { return $this->renderError('缺少必要参数'); } $order = \app\common\model\server\Order::detail($data['order_id']); if (empty($order)) { return $this->renderError('订单信息不存在'); } $result = \app\common\service\server\Order::dispatchOrders($order->toArray(), $data['dealer_id']); if ($result) { return $this->renderSuccess('操作成功'); } return $this->renderError('操作失败'); } /** * 服务配置 */ public function configList() { $model = new StoreServerConfig(); $list = $model->with(['iconImage'])->hidden(['iconImage'])->order(['sort' => 'desc', 'create_time' => 'desc'])->paginate(10); return $this->renderSuccess(compact('list')); } /** * 服务配置添加 */ public function configAdd() { $model = new StoreServerConfig(); if ($model->save(array_merge(['store_id' => $this->storeId], $this->postForm()))) { return $this->renderSuccess('新增成功'); } return $this->renderError('新增失败'); } /** * 服务配置编辑 */ public function configEdit(int $id) { $detail = StoreServerConfig::get($id); if ($detail) { if ($detail->save($this->postForm())) { return $this->renderSuccess('编辑成功'); } } return $this->renderError('编辑失败'); } /** * 删除服务配置 */ public function configDel(int $id) { $detail = StoreServerConfig::get($id); if ($detail->delete()) { return $this->renderSuccess('删除成功'); } return $this->renderError('删除失败'); } }