From 6fe18bf847ee3efd186c0ca3325a34444a24b1b5 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 24 Jul 2024 14:27:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=93=E6=9E=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/Audit/AuditController.php | 94 +++++++++++ app/controller/AuditController.php | 47 ------ app/controller/OssController.php | 41 ----- app/controller/ProcessController.php | 45 ------ app/controller/ProcessReasonController.php | 76 --------- app/controller/ResourceController.php | 180 --------------------- app/controller/ResourceDirController.php | 139 ---------------- app/controller/ShareController.php | 25 --- app/controller/TagCateController.php | 120 -------------- app/controller/TagController.php | 63 -------- app/controller/common/OssController.php | 40 +++++ app/controller/manager/ProcessController.php | 44 +++++ app/controller/manager/ProcessReasonController.php | 73 +++++++++ app/controller/manager/TagCateController.php | 113 +++++++++++++ app/controller/manager/TagController.php | 53 ++++++ app/controller/manager/TestController.php | 17 ++ app/controller/substance/ResourceController.php | 180 +++++++++++++++++++++ app/controller/substance/ResourceDirController.php | 139 ++++++++++++++++ app/controller/substance/ShareController.php | 19 +++ app/model/Audit.php | 18 +++ app/service/AuditService.php | 30 +++- route/app.php | 87 ---------- route/audit.php | 11 ++ route/common.php | 8 + route/manager.php | 34 ++++ route/substance.php | 44 +++++ 26 files changed, 916 insertions(+), 824 deletions(-) create mode 100644 app/controller/Audit/AuditController.php delete mode 100644 app/controller/AuditController.php delete mode 100644 app/controller/OssController.php delete mode 100644 app/controller/ProcessController.php delete mode 100644 app/controller/ProcessReasonController.php delete mode 100644 app/controller/ResourceController.php delete mode 100644 app/controller/ResourceDirController.php delete mode 100644 app/controller/ShareController.php delete mode 100644 app/controller/TagCateController.php delete mode 100644 app/controller/TagController.php create mode 100644 app/controller/common/OssController.php create mode 100644 app/controller/manager/ProcessController.php create mode 100644 app/controller/manager/ProcessReasonController.php create mode 100644 app/controller/manager/TagCateController.php create mode 100644 app/controller/manager/TagController.php create mode 100644 app/controller/manager/TestController.php create mode 100644 app/controller/substance/ResourceController.php create mode 100644 app/controller/substance/ResourceDirController.php create mode 100644 app/controller/substance/ShareController.php delete mode 100644 route/app.php create mode 100644 route/audit.php create mode 100644 route/common.php create mode 100644 route/manager.php create mode 100644 route/substance.php diff --git a/app/controller/Audit/AuditController.php b/app/controller/Audit/AuditController.php new file mode 100644 index 0000000..e1e8fd0 --- /dev/null +++ b/app/controller/Audit/AuditController.php @@ -0,0 +1,94 @@ +param(); + $list = Audit::where('target_type', $param['target_type']) + ->when(isset($param['status']), function ($query) use ($request) { + $query->whereIn('status', $request->param('status')); + }) + ->with('target') + ->select(); + return jsonReturn(0, Lang::get('成功'), $list); + } + + /** + * 审批 详情 + */ + public function detail(Request $request) + { + $resource_detail = Audit::with(['launch_user', 'audit_user'])->find($request->param('id')); + switch ($resource_detail->target_type) { + // 1是资源 + case 1: + $resource_detail->target = Resource::with(['user', 'accredit_files', 'files'])->find($resource_detail->target_id); + break; + case 2: + break; + } + + return jsonReturn(0, Lang::get('成功'), $resource_detail); + } + + /** + * @param Request $request + * @return \think\response\Json + * 批量审核通过 + */ + public function approve(Request $request) + { + //保存到数据库 + Db::startTrans(); + try { + dd($request->param()); + // 1. 保存站点到数据库 + $res = (new AuditService())->approve($request->param()); + Db::commit(); + return json($res); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + + + } + + + /** + * @param Request $request + * @return \think\response\Json + * 批量审核驳回 + */ + public function reject(Request $request) + { + + //保存到数据库 + Db::startTrans(); + try { + // 1. 保存站点到数据库 + $res = (new AuditService())->reject($request->param()); + Db::commit(); + return json($res); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + } +} diff --git a/app/controller/AuditController.php b/app/controller/AuditController.php deleted file mode 100644 index c640a6d..0000000 --- a/app/controller/AuditController.php +++ /dev/null @@ -1,47 +0,0 @@ -param(); - $list = Audit::where('target_type', $param['target_type']) - ->when(isset($param['status']), function ($query) use ($request) { - $query->whereIn('status', $request->param('status')); - }) - ->with('target') - ->select(); - return jsonReturn(0, Lang::get('成功'), $list); - } - - /** - * 审批 详情 - */ - public function detail(Request $request) - { - $resource_detail = Audit::with(['launch_user', 'audit_user'])->find($request->param('id')); - switch ($resource_detail->target_type) { - // 1是资源 - case 1: - $resource_detail->target = Resource::with(['user', 'accredit_files', 'files'])->find($resource_detail->target_id); - break; - case 2: - break; - } - - return jsonReturn(0, Lang::get('成功'), $resource_detail); - } -} diff --git a/app/controller/OssController.php b/app/controller/OssController.php deleted file mode 100644 index c5fe8c8..0000000 --- a/app/controller/OssController.php +++ /dev/null @@ -1,41 +0,0 @@ -file('file'); //接口文件的参数名,取决前端传送的参数 - $filePath = $_FILES['file']['tmp_name']; //要上传文件的临时路径 - $type = $file->extension(); - //读取config目录下aliyun.php的aliyun_oss数据信息 - $Filesystem = \think\facade\Config::get('aliyun.aliyun_oss'); - dd($_FILES); - try { - $accessKeyId = $Filesystem['accessId']; - $accessKeySecret = $Filesystem['accessSecret']; //阿里云后台获取秘钥 - $endpoint = $Filesystem['endpoint']; - $bucket = $Filesystem['bucket']; - - //实例化对象 将配置传入 - $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, false); - - //这里是有sha1加密 生成文件名 之后连接上后缀 - $fileName = sha1(date('YmdHis', time()) . uniqid()) . '.' . $type; - //上传至阿里云的目录 为年+月/日的格式 - $pathName = date('Y-m/d') . '/' . $fileName; - $pathName = '1.jpg'; - //执行阿里云上传 bucket名称,上传的目录,文件 - $result = $ossClient->uploadFile($bucket, $pathName, $filePath); - } catch (OssException $e) { - return json(['code' => 0, 'message' => '上传失败', 'error' => $e->getMessage()]); - } - //将结果输出 - return json(['code' => 200, 'message' => '上传成功', 'data' => $result['info']['url']]); - } -} diff --git a/app/controller/ProcessController.php b/app/controller/ProcessController.php deleted file mode 100644 index 7fd8dc1..0000000 --- a/app/controller/ProcessController.php +++ /dev/null @@ -1,45 +0,0 @@ -param('id')); - $progress->auto_propose = $request->param('auto_propose') ?: 0; - $progress->stop_using = $request->param('stop_using') ?: 0; - $progress->save(); - - Db::commit(); - } catch (\Exception $e) { - Db::rollback(); - return jsonReturn(-5, $e->getMessage()); - } - - return jsonReturn(0, Lang::get('修改成功')); - } -} diff --git a/app/controller/ProcessReasonController.php b/app/controller/ProcessReasonController.php deleted file mode 100644 index ab8527f..0000000 --- a/app/controller/ProcessReasonController.php +++ /dev/null @@ -1,76 +0,0 @@ -param('process_id'))->select(); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - return jsonReturn(0, Lang::get('成功'), $list); - } - - /** - * 流程处置原因 新增 - * @param Request $request - * @return Json - */ - public function save(Request $request) - { - try { - if (ProcessReason::where('process_id', $request->param('process_id'))->where('name', $request->param('name'))->count() > 0) { - return jsonReturn(-5, '处置原因已经存在'); - } - ProcessReason::create($request->param()); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - return jsonReturn(0, Lang::get('成功')); - } - - /** - * 流程处置原因修改 - * @param Request $request - * @return json - */ - public function edit(Request $request) - { - try { - ProcessReason::where('id', $request->param('id'))->update(['name' => $request->param('name')]); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - return jsonReturn(0, Lang::get('成功')); - } - - /** - * 流程处置原因删除 - * @param Request $request - * @return json - */ - public function delete(Request $request) - { - try { - ProcessReason::where('id', $request->param('id'))->delete(); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - return jsonReturn(0, Lang::get('成功')); - } -} diff --git a/app/controller/ResourceController.php b/app/controller/ResourceController.php deleted file mode 100644 index 5b6e616..0000000 --- a/app/controller/ResourceController.php +++ /dev/null @@ -1,180 +0,0 @@ -param(); - $resource_list = Resource::field('id, name,user_id, resource_type, audit_status, del_audit_status, copyright_type, copyright_status, effective_start_time, effective_end_time,create_time') - ->when(isset($param['resource_type']), function ($query) use ($param) { - $query->where('resource_type', $param['resource_type']); - }) - ->when(isset($param['copyright_type']), function ($query) use ($param) { - $query->where('copyright_type', $param['copyright_type']); - }) - ->when(isset($param['copyright_status']), function ($query) use ($param) { - $query->where('copyright_status', $param['copyright_status']); - }) - ->when(isset($param['create_time']), function ($query) use ($param) { - $query->where('create_time', '>', $param['create_time']); - }) - ->when(isset($param['audit_status']), function ($query) use ($param) { - $query->where('audit_status', $param['audit_status']); - }) - ->when(isset($param['del_audit_status']), function ($query) use ($param) { - $query->where('del_audit_status', $param['del_audit_status']); - }) - ->when(isset($param['order_field']) && isset($param['order_sort']), function ($query) use ($param) { - $query->order($param['order_field'], $param['order_sort']); - }) - ->with('user') - ->where('type', 1) - ->select(); - - // $userService = app('userService'); - // return $userService->doSomething(); - return jsonReturn(0, Lang::get('成功'), $resource_list); - } - - - /** - * 全部资源 新增 - */ - public function save(Request $request) - { - // 数据验证 - try { - switch ($request->param('copyright_type')) { - case 1: - validate(ResourceValidate::class)->scene('save_selfown')->check($request->param()); - break; - case 2: - validate(ResourceValidate::class)->scene('save_purchase')->check($request->param()); - break; - } - } catch (ValidateException $e) { - return jsonReturn(-1, $e->getError()); - } - - //保存到数据库 - Db::startTrans(); - try { - // 1. 保存站点到数据库 - $res = (new ResourceService())->addResource($request->param()); - - Db::commit(); - } catch (\Exception $e) { - Db::rollback(); - return jsonReturn(-5, $e->getMessage()); - } - - return json($res); - } - - /** - * 资源 详情 - */ - public function detail(Resource $resource, $id) - { - $resource_detail = $resource::with(['user', 'accredit_files', 'files']) - ->find($id); - return jsonReturn(0, Lang::get('成功'), $resource_detail); - } - - /** - * 资源 分享 - */ - public function share(Request $request) - { - try { - validate(ResourceValidate::class)->scene('share')->check($request->param()); - } catch (ValidateException $e) { - return jsonReturn(-1, $e->getError()); - } - Db::startTrans(); - try { - $res = (new ShareService())->addResourceShare($request->param(), $request->user_id); - Db::commit(); - } catch (\Exception $e) { - Db::rollback(); - return jsonReturn(-5, $e->getMessage()); - } - return json($res); - } - - /** - * 资源 重命名 - */ - public function rename(Resource $resource, Request $request) - { - try { - validate(ResourceValidate::class)->scene('rename')->check($request->param()); - } catch (ValidateException $e) { - return jsonReturn(-1, $e->getError()); - } - try { - $resource::whereIn('id', $request->param('ids'))->update(['name' => $request->param('name')]); - return jsonReturn(0, Lang::get('成功')); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - } - - /** - * 资源 移动到 - */ - public function moveTo(Request $request) - { - //保存到数据库 - Db::startTrans(); - try { - // 移动资源 - $res = (new ResourceService())->moveTo($request->param('ids'), $request->param('to_id')); - Db::commit(); - } catch (\Exception $e) { - Db::rollback(); - return jsonReturn(-5, $e->getMessage()); - } - - return json($res); - } - - /** - * 资源 复制到 - */ - public function copyTo(Request $request) - { - Db::startTrans(); - try { - // 复制资源 - $res = (new ResourceService())->copyTo($request->param('ids'), $request->param('to_id')); - Db::commit(); - } catch (\Exception $e) { - Db::rollback(); - return jsonReturn(-5, $e->getMessage()); - } - - return json($res); - } - - /** - * 删除 - */ - public function delete() - { - } -} diff --git a/app/controller/ResourceDirController.php b/app/controller/ResourceDirController.php deleted file mode 100644 index 3ebe3e2..0000000 --- a/app/controller/ResourceDirController.php +++ /dev/null @@ -1,139 +0,0 @@ -where('parent_id', 0)->field('id, name')->select()->toArray(); - //选中的文件夹 默认顶级第一个 - $select_dir_id = $id ?: $top_resource_dir[0]['id']; - //选中的文件夹基础信息 - $resource_dir_info = $resource_dir::find($select_dir_id); - //选中文件夹下所有内容 - $resource_list = (new ResourceDirService())->getResourceDirAndResource($select_dir_id); - - $ret = [ - 'top_resource_dir' => $top_resource_dir, - 'resource_dir_info' => $resource_dir_info, - 'resource_list' => $resource_list - ]; - - return jsonReturn(0, Lang::get('成功'), $ret); - } - - public function detail($id) - { - dd($id); - $param = input('get.'); - dd($param); - } - - /** - * 创建文件夹 - */ - public function save(Request $request) - { - if ($request->param('type') != 2) { - return jsonReturn(-1, '仅支持创建文件夹'); - } - // 数据验证 - try { - validate(ResourceValidate::class)->scene('save_dir')->check($request->param()); - } catch (ValidateException $e) { - return jsonReturn(-1, $e->getError()); - } - - //保存到数据库 - Db::startTrans(); - try { - // 新增文件夹 - $res = (new ResourceDirService())->addResourceDir($request->param()); - - Db::commit(); - } catch (\Exception $e) { - Db::rollback(); - return jsonReturn(-5, $e->getMessage()); - } - - return json($res); - } - - - /** - * 文件夹 重命名 - */ - public function rename(Resource $resource, Request $request) - { - try { - validate(ResourceValidate::class)->scene('rename_dir')->check($request->param()); - } catch (ValidateException $e) { - return jsonReturn(-1, $e->getError()); - } - try { - $resource::whereIn('id', $request->param('ids'))->update(['name' => $request->param('name')]); - return jsonReturn(0, Lang::get('成功')); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - } - - - /** - * 资源 移动到 - */ - public function moveTo(Request $request) - { - //保存到数据库 - Db::startTrans(); - try { - // 移动资源 - $res = (new ResourceDirService())->moveTo($request->param('ids'), $request->param('to_id')); - Db::commit(); - } catch (\Exception $e) { - Db::rollback(); - return jsonReturn(-5, $e->getMessage()); - } - - return json($res); - } - - - /** - * 资源 移动到 - */ - public function copyTo(Request $request) - { - Db::startTrans(); - try { - // 复制资源 - // $resource = Resource::find(1); - // dd($resource); - // die; - $res = (new ResourceDirService())->copyTo($request->param('ids'), $request->param('to_id')); - Db::commit(); - } catch (\Exception $e) { - Db::rollback(); - return jsonReturn(-5, $e->getMessage()); - } - - return json($res); - } -} diff --git a/app/controller/ShareController.php b/app/controller/ShareController.php deleted file mode 100644 index 12082b9..0000000 --- a/app/controller/ShareController.php +++ /dev/null @@ -1,25 +0,0 @@ -param('code'); - - $share = Share::with(['share_item', 'share_item.target']) - ->where('code', $code)->find(); - return jsonReturn(0, Lang::get('成功'), $share); - } -} diff --git a/app/controller/TagCateController.php b/app/controller/TagCateController.php deleted file mode 100644 index 0d0a088..0000000 --- a/app/controller/TagCateController.php +++ /dev/null @@ -1,120 +0,0 @@ -select(); - return jsonReturn(0, Lang::get('成功'), $tage_cate); - } - - /** - * 新建标签组 - * @param Request $request - * @return json - */ - public function save(Request $request) - { - try { - //默认是自定义标签组 - if (TagCate::where('name', $request->param('name'))->count() > 0) { - return jsonReturn(-5, '标签组已经存在'); - } - TagCate::create($request->param()); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - return jsonReturn(0, Lang::get('新建标签组成功')); - } - - /** - * 新建标签 - * @param Request $request - * @return json - */ - public function saveTag(Request $request) - { - try { - if (Tag::where('cate_id', $request->param('id'))->where('name', $request->param('name'))->count() > 0) { - throw new \Exception('标签已经存在'); - } - $tag_cate = TagCate::find($request->param('id')); - - $tag = new Tag; - $tag->cate_id = $request->param('id'); - $tag->name = $request->param('name'); - $tag->type = $tag_cate->type; //标签的type 和标签组保持一致? - $tag->save(); - - return jsonReturn(0, Lang::get('新建标签成功')); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - } - - /** - * 重命名标签组 - * @param Request $request - * @return json - */ - public function rename(Request $request) - { - try { - TagCate::whereIn('id', $request->param('id'))->update(['name' => $request->param('name')]); - return jsonReturn(0, Lang::get('重命名成功')); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - } - - /** - * 删除标签组 - * @param Request $request - * @return json - */ - public function delete(Request $request) - { - Db::startTrans(); - try { - $tag_cate = TagCate::where('id', $request->param('id'))->find(); - if ($tag_cate->type == 1) { - throw new \Exception('系统标签无法删除'); - } - - //删除标签组 - $tag_cate->delete(); - - //标签组下标签移动到默认系统标签 - $default_tag_cate = (new TagCateService())->getDefaultTagCate(); - if (!$default_tag_cate) { - throw new \Exception('没有找到默认系统标签'); - } - Tag::where('cate_id', $request->param('id'))->update(['cate_id' => $default_tag_cate->id]); - Db::commit(); - return jsonReturn(0, Lang::get('删除标签组成功')); - - } catch (\Exception $e) { - Db::rollback(); - return jsonReturn(-5, $e->getMessage()); - } - } - - -} diff --git a/app/controller/TagController.php b/app/controller/TagController.php deleted file mode 100644 index 6393b9f..0000000 --- a/app/controller/TagController.php +++ /dev/null @@ -1,63 +0,0 @@ -param('id')); - if (Tag::where('cate_id', $tag->cate_id)->where('name', $request->param('name'))->count() > 0) { - throw new \Exception('同标签组标签已经存在'); - } - $tag->name = $request->param('name'); - $tag->save(); - return jsonReturn(0, Lang::get('重命名成功')); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - } - - /** - * 标签移动 - * @param Request $request - * @return json - */ - public function moveTo(Request $request) - { - try { - $tag = Tag::find($request->param('id')); - $tag->cate_id = $request->param('cate_id'); - $tag->save(); - return jsonReturn(0, Lang::get('移动成功')); - } catch (\Exception $e) { - return jsonReturn(-5, $e->getMessage()); - } - } - - public function delete() - { - //todo 删除标签 从素材上移出?后面再看 - } -} diff --git a/app/controller/common/OssController.php b/app/controller/common/OssController.php new file mode 100644 index 0000000..13d45f2 --- /dev/null +++ b/app/controller/common/OssController.php @@ -0,0 +1,40 @@ +file('file'); //接口文件的参数名,取决前端传送的参数 + $filePath = $_FILES['file']['tmp_name']; //要上传文件的临时路径 + $type = $file->extension(); + //读取config目录下aliyun.php的aliyun_oss数据信息 + $Filesystem = \think\facade\Config::get('aliyun.aliyun_oss'); + dd($_FILES); + try { + $accessKeyId = $Filesystem['accessId']; + $accessKeySecret = $Filesystem['accessSecret']; //阿里云后台获取秘钥 + $endpoint = $Filesystem['endpoint']; + $bucket = $Filesystem['bucket']; + + //实例化对象 将配置传入 + $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, false); + + //这里是有sha1加密 生成文件名 之后连接上后缀 + $fileName = sha1(date('YmdHis', time()) . uniqid()) . '.' . $type; + //上传至阿里云的目录 为年+月/日的格式 + $pathName = date('Y-m/d') . '/' . $fileName; + $pathName = '1.jpg'; + //执行阿里云上传 bucket名称,上传的目录,文件 + $result = $ossClient->uploadFile($bucket, $pathName, $filePath); + } catch (OssException $e) { + return json(['code' => 0, 'message' => '上传失败', 'error' => $e->getMessage()]); + } + //将结果输出 + return json(['code' => 200, 'message' => '上传成功', 'data' => $result['info']['url']]); + } +} diff --git a/app/controller/manager/ProcessController.php b/app/controller/manager/ProcessController.php new file mode 100644 index 0000000..55095a5 --- /dev/null +++ b/app/controller/manager/ProcessController.php @@ -0,0 +1,44 @@ +param('id')); + $progress->auto_propose = $request->param('auto_propose') ?: 0; + $progress->stop_using = $request->param('stop_using') ?: 0; + $progress->save(); + + Db::commit(); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + + return jsonReturn(0, Lang::get('修改成功')); + } +} diff --git a/app/controller/manager/ProcessReasonController.php b/app/controller/manager/ProcessReasonController.php new file mode 100644 index 0000000..b8f64b5 --- /dev/null +++ b/app/controller/manager/ProcessReasonController.php @@ -0,0 +1,73 @@ +param('process_id'))->select(); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + return jsonReturn(0, Lang::get('成功'), $list); + } + + /** + * 流程处置原因 新增 + * @param Request $request + * @return Json + */ + public function save(Request $request) + { + try { + if (ProcessReason::where('process_id', $request->param('process_id'))->where('name', $request->param('name'))->count() > 0) { + return jsonReturn(-5, '处置原因已经存在'); + } + ProcessReason::create($request->param()); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + return jsonReturn(0, Lang::get('成功')); + } + + /** + * 流程处置原因修改 + * @param Request $request + * @return json + */ + public function edit(Request $request) + { + try { + ProcessReason::where('id', $request->param('id'))->update(['name' => $request->param('name')]); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + return jsonReturn(0, Lang::get('成功')); + } + + /** + * 流程处置原因删除 + * @param Request $request + * @return json + */ + public function delete(Request $request) + { + try { + ProcessReason::where('id', $request->param('id'))->delete(); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + return jsonReturn(0, Lang::get('成功')); + } +} diff --git a/app/controller/manager/TagCateController.php b/app/controller/manager/TagCateController.php new file mode 100644 index 0000000..b33fcb8 --- /dev/null +++ b/app/controller/manager/TagCateController.php @@ -0,0 +1,113 @@ +select(); + return jsonReturn(0, Lang::get('成功'), $tage_cate); + } + + /** + * 新建标签组 + * @param Request $request + * @return json + */ + public function save(Request $request) + { + try { + //默认是自定义标签组 + if (TagCate::where('name', $request->param('name'))->count() > 0) { + return jsonReturn(-5, '标签组已经存在'); + } + TagCate::create($request->param()); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + return jsonReturn(0, Lang::get('新建标签组成功')); + } + + /** + * 新建标签 + * @param Request $request + * @return json + */ + public function saveTag(Request $request) + { + try { + if (Tag::where('cate_id', $request->param('id'))->where('name', $request->param('name'))->count() > 0) { + throw new \Exception('标签已经存在'); + } + $tag_cate = TagCate::find($request->param('id')); + + $tag = new Tag; + $tag->cate_id = $request->param('id'); + $tag->name = $request->param('name'); + $tag->type = $tag_cate->type; //标签的type 和标签组保持一致? + $tag->save(); + + return jsonReturn(0, Lang::get('新建标签成功')); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + } + + /** + * 重命名标签组 + * @param Request $request + * @return json + */ + public function rename(Request $request) + { + try { + TagCate::whereIn('id', $request->param('id'))->update(['name' => $request->param('name')]); + return jsonReturn(0, Lang::get('重命名成功')); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + } + + /** + * 删除标签组 + * @param Request $request + * @return json + */ + public function delete(Request $request) + { + Db::startTrans(); + try { + $tag_cate = TagCate::where('id', $request->param('id'))->find(); + if ($tag_cate->type == 1) { + throw new \Exception('系统标签无法删除'); + } + + //删除标签组 + $tag_cate->delete(); + + //标签组下标签移动到默认系统标签 + $default_tag_cate = (new TagCateService())->getDefaultTagCate(); + if (!$default_tag_cate) { + throw new \Exception('没有找到默认系统标签'); + } + Tag::where('cate_id', $request->param('id'))->update(['cate_id' => $default_tag_cate->id]); + Db::commit(); + return jsonReturn(0, Lang::get('删除标签组成功')); + + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + } + + +} diff --git a/app/controller/manager/TagController.php b/app/controller/manager/TagController.php new file mode 100644 index 0000000..9445c8c --- /dev/null +++ b/app/controller/manager/TagController.php @@ -0,0 +1,53 @@ +param('id')); + if (Tag::where('cate_id', $tag->cate_id)->where('name', $request->param('name'))->count() > 0) { + throw new \Exception('同标签组标签已经存在'); + } + $tag->name = $request->param('name'); + $tag->save(); + return jsonReturn(0, Lang::get('重命名成功')); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + } + + /** + * 标签移动 + * @param Request $request + * @return json + */ + public function moveTo(Request $request) + { + try { + $tag = Tag::find($request->param('id')); + $tag->cate_id = $request->param('cate_id'); + $tag->save(); + return jsonReturn(0, Lang::get('移动成功')); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + } + + public function delete() + { + //todo 删除标签 从素材上移出?后面再看 + } +} diff --git a/app/controller/manager/TestController.php b/app/controller/manager/TestController.php new file mode 100644 index 0000000..b317970 --- /dev/null +++ b/app/controller/manager/TestController.php @@ -0,0 +1,17 @@ +param(); + $resource_list = Resource::field('id, name,user_id, resource_type, audit_status, del_audit_status, copyright_type, copyright_status, effective_start_time, effective_end_time,create_time') + ->when(isset($param['resource_type']), function ($query) use ($param) { + $query->where('resource_type', $param['resource_type']); + }) + ->when(isset($param['copyright_type']), function ($query) use ($param) { + $query->where('copyright_type', $param['copyright_type']); + }) + ->when(isset($param['copyright_status']), function ($query) use ($param) { + $query->where('copyright_status', $param['copyright_status']); + }) + ->when(isset($param['create_time']), function ($query) use ($param) { + $query->where('create_time', '>', $param['create_time']); + }) + ->when(isset($param['audit_status']), function ($query) use ($param) { + $query->where('audit_status', $param['audit_status']); + }) + ->when(isset($param['del_audit_status']), function ($query) use ($param) { + $query->where('del_audit_status', $param['del_audit_status']); + }) + ->when(isset($param['order_field']) && isset($param['order_sort']), function ($query) use ($param) { + $query->order($param['order_field'], $param['order_sort']); + }) + ->with('user') + ->where('type', 1) + ->select(); + + // $userService = app('userService'); + // return $userService->doSomething(); + return jsonReturn(0, Lang::get('成功'), $resource_list); + } + + + /** + * 全部资源 新增 + */ + public function save(Request $request) + { + // 数据验证 + try { + switch ($request->param('copyright_type')) { + case 1: + validate(ResourceValidate::class)->scene('save_selfown')->check($request->param()); + break; + case 2: + validate(ResourceValidate::class)->scene('save_purchase')->check($request->param()); + break; + } + } catch (ValidateException $e) { + return jsonReturn(-1, $e->getError()); + } + + //保存到数据库 + Db::startTrans(); + try { + // 1. 保存站点到数据库 + $res = (new ResourceService())->addResource($request->param()); + + Db::commit(); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + + return json($res); + } + + /** + * 资源 详情 + */ + public function detail(Resource $resource, $id) + { + $resource_detail = $resource::with(['user', 'accredit_files', 'files']) + ->find($id); + return jsonReturn(0, Lang::get('成功'), $resource_detail); + } + + /** + * 资源 分享 + */ + public function share(Request $request) + { + try { + validate(ResourceValidate::class)->scene('share')->check($request->param()); + } catch (ValidateException $e) { + return jsonReturn(-1, $e->getError()); + } + Db::startTrans(); + try { + $res = (new ShareService())->addResourceShare($request->param(), $request->user_id); + Db::commit(); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + return json($res); + } + + /** + * 资源 重命名 + */ + public function rename(Resource $resource, Request $request) + { + try { + validate(ResourceValidate::class)->scene('rename')->check($request->param()); + } catch (ValidateException $e) { + return jsonReturn(-1, $e->getError()); + } + try { + $resource::whereIn('id', $request->param('ids'))->update(['name' => $request->param('name')]); + return jsonReturn(0, Lang::get('成功')); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + } + + /** + * 资源 移动到 + */ + public function moveTo(Request $request) + { + //保存到数据库 + Db::startTrans(); + try { + // 移动资源 + $res = (new ResourceService())->moveTo($request->param('ids'), $request->param('to_id')); + Db::commit(); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + + return json($res); + } + + /** + * 资源 复制到 + */ + public function copyTo(Request $request) + { + Db::startTrans(); + try { + // 复制资源 + $res = (new ResourceService())->copyTo($request->param('ids'), $request->param('to_id')); + Db::commit(); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + + return json($res); + } + + /** + * 删除 + */ + public function delete() + { + } +} diff --git a/app/controller/substance/ResourceDirController.php b/app/controller/substance/ResourceDirController.php new file mode 100644 index 0000000..edfcc39 --- /dev/null +++ b/app/controller/substance/ResourceDirController.php @@ -0,0 +1,139 @@ +where('parent_id', 0)->field('id, name')->select()->toArray(); + //选中的文件夹 默认顶级第一个 + $select_dir_id = $id ?: $top_resource_dir[0]['id']; + //选中的文件夹基础信息 + $resource_dir_info = $resource_dir::find($select_dir_id); + //选中文件夹下所有内容 + $resource_list = (new ResourceDirService())->getResourceDirAndResource($select_dir_id); + + $ret = [ + 'top_resource_dir' => $top_resource_dir, + 'resource_dir_info' => $resource_dir_info, + 'resource_list' => $resource_list + ]; + + return jsonReturn(0, Lang::get('成功'), $ret); + } + + public function detail($id) + { + dd($id); + $param = input('get.'); + dd($param); + } + + /** + * 创建文件夹 + */ + public function save(Request $request) + { + if ($request->param('type') != 2) { + return jsonReturn(-1, '仅支持创建文件夹'); + } + // 数据验证 + try { + validate(ResourceValidate::class)->scene('save_dir')->check($request->param()); + } catch (ValidateException $e) { + return jsonReturn(-1, $e->getError()); + } + + //保存到数据库 + Db::startTrans(); + try { + // 新增文件夹 + $res = (new ResourceDirService())->addResourceDir($request->param()); + + Db::commit(); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + + return json($res); + } + + + /** + * 文件夹 重命名 + */ + public function rename(Resource $resource, Request $request) + { + try { + validate(ResourceValidate::class)->scene('rename_dir')->check($request->param()); + } catch (ValidateException $e) { + return jsonReturn(-1, $e->getError()); + } + try { + $resource::whereIn('id', $request->param('ids'))->update(['name' => $request->param('name')]); + return jsonReturn(0, Lang::get('成功')); + } catch (\Exception $e) { + return jsonReturn(-5, $e->getMessage()); + } + } + + + /** + * 资源 移动到 + */ + public function moveTo(Request $request) + { + //保存到数据库 + Db::startTrans(); + try { + // 移动资源 + $res = (new ResourceDirService())->moveTo($request->param('ids'), $request->param('to_id')); + Db::commit(); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + + return json($res); + } + + + /** + * 资源 移动到 + */ + public function copyTo(Request $request) + { + Db::startTrans(); + try { + // 复制资源 + // $resource = Resource::find(1); + // dd($resource); + // die; + $res = (new ResourceDirService())->copyTo($request->param('ids'), $request->param('to_id')); + Db::commit(); + } catch (\Exception $e) { + Db::rollback(); + return jsonReturn(-5, $e->getMessage()); + } + + return json($res); + } +} diff --git a/app/controller/substance/ShareController.php b/app/controller/substance/ShareController.php new file mode 100644 index 0000000..09bf6d9 --- /dev/null +++ b/app/controller/substance/ShareController.php @@ -0,0 +1,19 @@ +param('code'); + + $share = Share::with(['share_item', 'share_item.target']) + ->where('code', $code)->find(); + return jsonReturn(0, Lang::get('成功'), $share); + } +} diff --git a/app/model/Audit.php b/app/model/Audit.php index a7165ba..c9afdc7 100644 --- a/app/model/Audit.php +++ b/app/model/Audit.php @@ -34,4 +34,22 @@ class Audit extends Model { return $this->belongsTo(User::class, 'audit_user_id'); } + + + /** + * @param $target_type + * @return Content|Resource|false + * 根据target_type 返回target类 + */ + static function getTargetModelByTargetType($target_type) + { + switch ($target_type) { + case 1: + return new Resource(); + break; + case 2: + return new Content(); + } + return false; + } } diff --git a/app/service/AuditService.php b/app/service/AuditService.php index be3fa79..96ceb26 100644 --- a/app/service/AuditService.php +++ b/app/service/AuditService.php @@ -4,7 +4,7 @@ namespace app\service; use app\model\Audit; -class AuditService +class AuditService extends Service { /** * @param $ids 资源/内容 数组 @@ -32,5 +32,33 @@ class AuditService } + public function approve($param) + { + //审核记录改为通过 + Audit::whereIn('id', $param['ids'])->update(['status' => 2]); + + //上传审核的资源ids + $upload_target_ids_ary = Audit::whereIn('id', $param['ids'])->where('type', 1)->column('target_id'); + $delete_target_ids_ary = Audit::whereIn('id', $param['ids'])->where('type', 2)->column('target_id'); + + $target_model = Audit::getTargetModelByTargetType($param['target_type']); + $target_model->whereIn('id', $upload_target_ids_ary)->update(['audit_status' => 2]); + $target_model->whereIn('id', $delete_target_ids_ary)->update(['del_audit_status' => 2]); + + return dataReturn($this->sucCode, '审核通过成功'); + } + + public function reject($param) + { + + //审核记录改为驳回 + Audit::whereIn('id', $param['ids'])->update(['status' => 3, 'reason' => $param['reason'], 'desc' => $param['desc']]); + + //修改资源/内容审核状态为驳回 + $target_ids_ary = Audit::whereIn('id', $param['ids'])->column('target_id'); + $target_model = Audit::getTargetModelByTargetType($param['target_type']); + $target_model->whereIn('id', $target_ids_ary)->update(['audit_status' => 3]); + return dataReturn($this->sucCode, '审核驳回成功'); + } } diff --git a/route/app.php b/route/app.php deleted file mode 100644 index 177a338..0000000 --- a/route/app.php +++ /dev/null @@ -1,87 +0,0 @@ - -// +---------------------------------------------------------------------- -use think\facade\Route; - -Route::get('think', function () { - return 'hello,ThinkPHP6!'; -}); - -Route::get('hello/:name', 'index/hello'); - -//资源 -Route::group('resource', function () { - Route::get('/index', 'index'); - Route::post('/save', 'save'); - Route::get('/detail/:id', 'detail'); - Route::post('/share', 'share'); - Route::post('/rename', 'rename'); - Route::post('/move_to', 'moveTo'); - Route::post('/copy_to', 'copyTo'); -})->prefix('resource/')->middleware('login'); - -//分享 -Route::group('share', function () { - Route::get('/index', 'index'); -})->prefix('share/'); - -//文件夹 -Route::group('resource_dir', function () { - Route::get('/index/[:id]', 'index'); - // Route::get('/detail/:id', 'detail'); - - Route::post('/save', 'save'); //新建文件夹 子文件夹 - Route::post('/rename', 'rename'); - Route::post('/move_to', 'moveTo'); //移动文件夹 - Route::post('/copy_to', 'copyTo'); //复制文件夹 -})->prefix('resourceDir/'); - -//审核-待处理-资源审核 -Route::group('audit', function () { - Route::get('/index', 'index'); - Route::get('/detail', 'detail'); -})->prefix('audit/'); - -//后台-流程管理 -Route::group('process', function () { - Route::get('/index', 'index'); - Route::post('/edit', 'edit'); -})->prefix('process/'); - -//后台-流程管理-处置原因 -Route::group('process_reason', function () { - Route::get('/index', 'index'); - Route::post('/save', 'save'); //新增处置原因 - Route::post('/edit', 'edit'); - Route::post('/delete', 'delete'); - -})->prefix('processReason/'); - -//后台-标签组设置 -Route::group('tag_cate', function () { - Route::get('/index', 'index'); - Route::post('/save', 'save'); //新增标签组 - Route::post('/save_tag', 'saveTag'); //新增标签 - Route::post('/rename', 'rename'); - Route::post('/delete', 'delete'); -})->prefix('tagCate/'); - -//后台-标签组设置 -Route::group('tag', function () { - Route::post('/rename', 'rename'); - Route::post('/move_to', 'moveTo'); - Route::post('/delete', 'delete'); -})->prefix('tag/'); - - -//阿里云 -Route::group('oss', function () { - Route::post('/upload', 'oss/upload'); -}); diff --git a/route/audit.php b/route/audit.php new file mode 100644 index 0000000..2578602 --- /dev/null +++ b/route/audit.php @@ -0,0 +1,11 @@ +prefix('audit.audit/'); \ No newline at end of file diff --git a/route/common.php b/route/common.php new file mode 100644 index 0000000..0bb1d2c --- /dev/null +++ b/route/common.php @@ -0,0 +1,8 @@ +prefix('common.oss/'); \ No newline at end of file diff --git a/route/manager.php b/route/manager.php new file mode 100644 index 0000000..95cf19a --- /dev/null +++ b/route/manager.php @@ -0,0 +1,34 @@ +prefix('manager.process/'); + +//后台-流程管理-处置原因 +Route::group('process_reason', function () { + Route::get('/index', 'index'); + Route::post('/save', 'save'); //新增处置原因 + Route::post('/edit', 'edit'); + Route::post('/delete', 'delete'); + +})->prefix('manager.processReason/'); + +//后台-标签组设置 +Route::group('tag_cate', function () { + Route::get('/index', 'index'); + Route::post('/save', 'save'); //新增标签组 + Route::post('/save_tag', 'saveTag'); //新增标签 + Route::post('/rename', 'rename'); + Route::post('/delete', 'delete'); +})->prefix('manager.tagCate/'); + +//后台-标签组设置 +Route::group('tag', function () { + Route::post('/rename', 'rename'); + Route::post('/move_to', 'moveTo'); + Route::post('/delete', 'delete'); +})->prefix('manager.tag/'); \ No newline at end of file diff --git a/route/substance.php b/route/substance.php new file mode 100644 index 0000000..7c5db33 --- /dev/null +++ b/route/substance.php @@ -0,0 +1,44 @@ + +// +---------------------------------------------------------------------- +use think\facade\Route; + +//资源 +Route::group('resource', function () { + Route::get('/index', 'index'); + Route::post('/save', 'save'); + Route::get('/detail/:id', 'detail'); + Route::post('/share', 'share'); + Route::post('/rename', 'rename'); + Route::post('/move_to', 'moveTo'); + Route::post('/copy_to', 'copyTo'); +})->prefix('substance.resource/')->middleware('login'); + +//分享 +Route::group('share', function () { + Route::get('/index', 'index'); +})->prefix('substance.share/'); + +//文件夹 +Route::group('resource_dir', function () { + Route::get('/index/[:id]', 'index'); + // Route::get('/detail/:id', 'detail'); + + Route::post('/save', 'save'); //新建文件夹 子文件夹 + Route::post('/rename', 'rename'); + Route::post('/move_to', 'moveTo'); //移动文件夹 + Route::post('/copy_to', 'copyTo'); //复制文件夹 +})->prefix('substance.resourceDir/'); + + + + + +