post()->goCheck('id'); $count = IpConfigModel::where('id', $params['id'])->delete(); if ($count < 1) throw new Exception('操作失败'); DB::commit(); } catch (Exception $e) { DB::rollBack(); return $this->error($e->getMessage()); } return $this->success(); } /** * @api {post} /ip/update IP 更新 */ function update() { DB::startTrans(); try { $params = (new IpConfigValidate())->post()->goCheck('edit'); $params['remark'] = request()->input('remark', ''); if (empty($params['remark'])) $params['remark'] = ''; $params['operator_id'] = $this->admin_id; IpConfigModel::updateOrCreate(['ip' => $params['ip']], $params); DB::commit(); } catch (Exception $e) { DB::rollBack(); return $this->error($e->getMessage()); } return $this->success(); } /** * @api {get} /ip/index IP查询 */ function index() { try { $params = $this->request->param(); $page = $params['page'] ?? 1; $limit = $params['limit'] ?? 15; $query = IpConfigModel::join('kefu', 'kefu.id = ip_config.operator_id', 'left'); if (!empty($params['type'])) { $query->where('ip_config.type', $params['type']); } if (!empty($params['status'])) { $query->where('ip_config.status', $params['status']); } if (!empty($params['operator'])) { $query->where('kefu.name', 'like', '%'.$params['operator'].'%'); } $count = $query->count(); $list = $query ->field(['ip_config.*', 'kefu.name as operator_name']) ->order('updated_at','desc') ->paginate(['list_rows'=>$limit,'page'=>$page]); } catch (Exception $e) { return $this->error($e->getMessage()); } return $this->success(['count' => $count, 'list' => $list]); } }