param(); $con = []; $con = Tool::getOptionalQuery(['a.i18n_lang_type_guid', '='], ['professional_service_title', 'LIKE'],); $query = ModelProfessionalService::where($con) ->alias('a') ->leftjoin('i18n_lang_type c', 'a.i18n_lang_type_guid = c.i18n_lang_type_guid') ->field([ 'a.professional_service_id', 'a.professional_service_guid', 'a.professional_service_link', 'a.professional_service_icon_name', 'a.professional_service_icon', 'a.professional_service_title', 'a.professional_service_describe', 'a.i18n_lang_type_guid', 'c.i18n_lang_type_code', 'a.professional_service_sort' ]) ->order('professional_service_sort', 'asc'); return $isExport ? $query->select()->toArray() : msg("获取专业优质服务列表成功!", $query); } /** * 添加专业优质服务 */ public function addProfessionalService(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('professional_service'); try { $params = $request->param(); $this->validate($params, [ 'professional_service_icon|图标' => 'require', 'professional_service_title|标题' => 'require', 'professional_service_describe|描述' => 'require', 'professional_service_link|链接' => 'require', // 'professional_service_sort|排序' => 'require' ]); $model = ModelProfessionalService::create($params, [ 'professional_service_icon', 'professional_service_title', 'professional_service_link', 'professional_service_describe', 'professional_service_icon_name', 'i18n_lang_type_guid', 'professional_service_sort', 'professional_service_guid', 'professional_service_create_user_guid', 'professional_service_update_user_guid' ]); Db::commit(); Tool::unlockTable(); return msg('添加成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 编辑专业优质服务 */ public function editProfessionalService(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('professional_service'); try { $params = $request->param(); $this->validate($params, [ 'professional_service_icon|图标' => 'require', 'professional_service_title|标题' => 'require', 'professional_service_describe|描述' => 'require', 'professional_service_sort|排序' => 'require', 'professional_service_link|链接' => 'require' ]); $model = ModelProfessionalService::where('professional_service_guid', $params['professional_service_guid'])->find(); if (!$model) throwErrorMsg("该专业优质服务不存在", 1); $model->allowField([ 'professional_service_icon', 'professional_service_icon_name', 'professional_service_link', 'i18n_lang_type_guid', 'professional_service_title', 'professional_service_describe', 'professional_service_sort', 'professional_service_update_user_guid' ])->save($params); Db::commit(); Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 删除专业优质服务 */ public function deleteProfessionalService(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('professional_service'); try { $params = $request->param(); $this->validate($params, [ 'professional_service_guid' => 'require', ]); $professional_service = ModelProfessionalService::where([ 'professional_service_guid' => explode(',', $params['professional_service_guid']) ])->select(); $professional_service->delete(); Db::commit(); Tool::unlockTable(); return msg('删除成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } }