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['code_module_guid']); $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; } } }