model = $model; } /** * 列表 * @time 2020年12月19日 10:31 * @param Request $request */ public function index(Request $request) : \think\Response { return CatchResponse::paginate($this->model->getList()); } /** * 保存信息 * @time 2020年12月19日 10:31 * @param Request $request */ public function save(Request $request): \think\response { return CatchResponse::success($this->model->storeBy($request->post())); } /** * 读取 * @time 2020年12月19日 10:31 * @param $id */ public function read($id) : \think\Response { return CatchResponse::success($this->model->findBy($id)); } /** * 更新 * @time 2020年12月19日 10:31 * @param Request $request * @param $id */ public function update(Request $request, $id) : \think\Response { return CatchResponse::success($this->model->updateBy($id, $request->post())); } /** * 删除 * @time 2020年12月19日 10:31 * @param $id */ public function delete($id) : \think\Response { return CatchResponse::success($this->model->deleteBy($id)); } /** * */ public function saveAll(Request $request) : \think\Response { $post = $request->post(); //$department_id = $request->user()->department_id; $this->model->startTrans(); foreach ($post as $type => $type_data) { if ($type == 'creator_id') { continue; } // 分别保存每条配置,没有的添加,已存在的修改 foreach($type_data as $field => $fieldValue){ $save_data = [ 'type' => $type, 'field' => $field, 'fieldValue' => $fieldValue, ]; $where = [ 'type' => $type, 'field' => $field, //'department_id' => $department_id, ]; // 判断是否存在 $id = $this->model->where($where)->value('id'); if ($id) { // 修改 $res = $this->model->updateBy($id, $save_data); }else{ // 添加 //$save_data['department_id'] = $department_id; $save_data['creator_id'] = $post['creator_id']; $res = $this->model->createBy($save_data); } if (!$res) { $this->model->rollback(); return CatchResponse::fail('保存失败'); } } } $this->model->commit(); return CatchResponse::success([],'保存成功'); } /** * 获取按类型分类的配置 */ public function getListGroupByType() : \think\Response { return CatchResponse::success($this->model->getListGroupByType()); } /** * 根据类型和字段获取配置值 */ public function getConfigValueBy(Request $request): \think\Response { return CatchResponse::success($this->model->getConfigValueBy($request->post('field'),$request->post('type'))); } }