param(); $this->validate($params, [ 'customer_guid|客户guid' => 'require', ]); $con = Tool::getOptionalQuery( ['a.code_module_category_guid'], ['code_module_name', 'LIKE'], ['code_module_audit', '='], ['a.customer_guid', '=', 'customer_guid'], ['c.code_module_category_library_type', '=', 'library_type'], ); $query = ModelCodeModule::where($con) ->alias('a') ->leftjoin('code_module_category c', 'a.code_module_category_guid = c.code_module_category_guid') ->field([ 'a.code_module_id', 'a.code_module_guid', 'c.code_module_category_name', 'a.code_module_category_guid', 'a.code_module_name', 'a.code_module_html', 'a.code_module_style', 'a.code_module_script', 'a.code_module_sort', 'a.code_module_audit', 'a.customer_guid' ]) ->order('code_module_sort', 'asc'); return msg("获取代码块列表成功!", $query); } /** * 添加代码块接口 * * @param Request $request * @return array * @date 2023-07-12 * @author xjh * @since 1.0.0 */ public function addCodeModule(Request $request): array { Db::startTrans(); try { BaseModel::setUserGuid(false); $params = $request->param(); $this->validate($params, [ 'code_module_category_guid|类目' => 'require', 'code_module_name|代码块名称' => 'require', 'code_module_html|html内容' => 'require', ]); LogicCodeModule::validateAddCodeModule($params); $params['code_module_audit'] = LogicCodeModule::buildCodeModuleAudit($params['code_module_category_guid']); $module_create = ModelCodeModule::create($params, [ 'code_module_category_guid', 'code_module_name', 'code_module_html', 'code_module_style', 'code_module_script', 'code_module_sort', 'code_module_audit', 'code_module_guid', 'code_module_create_user_guid', 'code_module_update_user_guid', 'customer_guid', ]); //公共类目提交则走发送审核消息流程 $category = ModelCodeModuleCategory::find($module_create->code_module_category_guid); if (!$category) { throwErrorMsg("当前代码块所属类目不存在!"); } if ($category->code_module_category_library_type == ModelCodeModuleCategory::LIBRARY_COMMON) { CustomerMessageAuditCodeModule::unaudited($module_create->code_module_guid); } Db::commit(); return msg('添加代码块成功!'); } catch (\Throwable $th) { Db::rollback(); throw $th; } } /** * 编辑代码块接口 * * @param Request $request * @return array * @date 2023-07-15 * @author xjh * @since 1.0.0 */ public function editCodeModule(Request $request): array { BaseModel::setUserGuid(false); $params = $request->param(); $this->validate($params, [ 'code_module_category_guid|类目' => 'require', 'code_module_name|代码块名称' => 'require', 'code_module_html|html内容' => 'require', 'code_module_guid|代码块' => 'require', 'code_module_sort|排序' => 'require', ]); $model = ModelCodeModule::where('code_module_guid', $params['code_module_guid'])->find(); if (!$model) { throwErrorMsg("该代码块不存在", 1); } LogicCodeModule::validateEditCodeModule($params); $params['code_module_audit'] = LogicCodeModule::buildCodeModuleAudit($params['code_module_category_guid']); $model->allowField([ 'code_module_category_guid', 'code_module_name', 'code_module_html', 'code_module_style', 'code_module_script', 'code_module_sort', 'code_module_audit', 'code_module_update_user_guid' ])->save($params); return msg('编辑代码块成功!'); } /** * 删除代码块接口 * * @param Request $request * @return array * @date 2023-07-20 * @author xjh * @since 1.0.0 */ public function deleteCodeModule(Request $request): array { Db::startTrans(); BaseModel::setUserGuid(false); try { $params = $request->param(); $this->validate($params, ['code_module_guid|代码块guid' => 'require',]); foreach (explode(',', $params['code_module_guid']) as $code_module_guid) { LogicCodeModule::validateDeleteCodeModule($code_module_guid); ModelCodeModule::find($code_module_guid)->delete(); } Db::commit(); return msg('删除代码块成功!'); } catch (\Throwable $th) { Db::rollback(); throw $th; } } }