param(); $con = []; $con = Tool::getOptionalQuery(['customer_guid', 'LIKE'], ['code_module_catetory_guid', '='], ['code_module_name', 'LIKE'], ['code_module_audit', '='],); $query = ModelCodeModule::where($con) ->alias('a') ->leftjoin('customer b', 'a.customer_guid = b.customer_guid') ->field([ 'a.code_module_id', 'a.code_module_guid', 'a.customer_guid', 'b.customer_name', 'a.code_module_catetory_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' ]) ->order('code_module_sort', 'asc'); return $isExport ? $query->select()->toArray() : msg("获取代码块列表成功!", $query); } /** * 添加代码块 */ public function addCodeModule(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('code_module'); try { $params = $request->param(); $this->validate($params, [ 'code_module_catetory_guid|类目' => 'require', 'code_module_name|代码块名称' => 'require', 'code_module_html|html内容' => 'require', 'code_module_sort|排序' => 'require', 'code_module_audit|审核状态' => 'require' ]); $model = ModelCodeModule::create($params, [ 'customer_guid', 'code_module_catetory_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' ]); Db::commit(); Tool::unlockTable(); return msg('添加成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 编辑代码块 */ public function editCodeModule(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('code_module'); try { $params = $request->param(); $this->validate($params, [ 'code_module_catetory_guid|类目' => 'require', 'code_module_name|代码块名称' => 'require', 'code_module_html|html内容' => 'require', 'code_module_sort|排序' => 'require', 'code_module_audit|审核状态' => 'require' ]); $model = ModelCodeModule::where('code_module_guid', $params['code_module_guid'])->find(); if (!$model) throwErrorMsg("该代码块不存在", 1); $model->allowField([ 'customer_guid', 'code_module_catetory_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); Db::commit(); Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 删除代码块 */ public function deleteCodeModule(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('code_module'); try { $params = $request->param(); $this->validate($params, [ 'code_module_guid' => 'require', ]); $code_module = ModelCodeModule::where([ 'code_module_guid' => explode(',', $params['code_module_guid']) ])->select(); $code_module->delete(); Db::commit(); Tool::unlockTable(); return msg('删除成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 审核代码块 */ public function auditCodeModule(Request $request) { $params = $request->param(); $this->validate($params, [ 'code_module_guid|代码块guid' => 'require', 'code_module_audit|审核状态' => 'require|in:2,3', ]); ModelCodeModule::auditCodeModule($params); return [ 'code' => 0, 'msg' => '审核成功' ]; } /** * 导出Excel */ public function exportExcel(Request $request): void { ModelCodeModule::exportExcel(self::getCodeModuleList($request, true)); } /** * 下载导入模板 */ public function downloadTemplate(Request $request): void { $params = $request->param(); $data = [ array_values(ModelCodeModule::EXCELFIELD), ['默认值1', '默认值2', '默认值3', '默认值4', '默认值5', '默认值6', '默认值7', '默认值8',] ]; $excel = (new Excel())->exporTsheet($data); $excel->save('代码块导入模板.xlsx'); } /** * 导入excel */ public function importExcel(Request $request): array { $file = new UploadFile('uploads', 'fileExt:xlsx'); $file->putFile('code_module'); $msg = ModelCodeModule::importExcel($file); return [ 'code' => 0, 'msg' => $msg ]; } }