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/common/OssController.php similarity index 97% rename from app/controller/OssController.php rename to app/controller/common/OssController.php index c5fe8c8..13d45f2 100644 --- a/app/controller/OssController.php +++ b/app/controller/common/OssController.php @@ -1,10 +1,9 @@ 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/'); + + + + + +