合并分支 'master-lyh-edit' 到 'master'
oa通知 查看合并请求 !623
正在显示
7 个修改的文件
包含
283 行增加
和
0 行删除
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :OaNoticeController.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2024/6/20 10:47 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Http\Controllers\Aside\Com; | ||
| 11 | + | ||
| 12 | +use App\Enums\Common\Code; | ||
| 13 | +use App\Http\Controllers\Aside\BaseController; | ||
| 14 | +use App\Http\Logic\Aside\Com\OaNoticeLogic; | ||
| 15 | +use App\Models\Manage\Manage; | ||
| 16 | +use App\Models\OaNotice\OaNotice; | ||
| 17 | +use App\Models\Project\Project; | ||
| 18 | +use Illuminate\Support\Facades\DB; | ||
| 19 | + | ||
| 20 | +class OaNoticeController extends BaseController | ||
| 21 | +{ | ||
| 22 | + /** | ||
| 23 | + * @remark :通知消息 | ||
| 24 | + * @name :lists | ||
| 25 | + * @author :lyh | ||
| 26 | + * @method :post | ||
| 27 | + * @time :2024/6/20 10:49 | ||
| 28 | + */ | ||
| 29 | + public function lists(){ | ||
| 30 | + $oaNoticeModel = new OaNotice(); | ||
| 31 | + $query = $oaNoticeModel->sortOrder($oaNoticeModel,'created_at','desc'); | ||
| 32 | + $query = $this->searchMap($query); | ||
| 33 | + $lists = $query->paginate($this->row, ['*'], 'page', $this->page)->toArray(); | ||
| 34 | + if(!empty($lists) && !empty($lists['list'])){ | ||
| 35 | + $projectModel = new Project(); | ||
| 36 | + foreach ($lists['list'] as $k => $v){ | ||
| 37 | + $project_str = trim($v['project_str'],','); | ||
| 38 | + if(strtolower($v['project_str']) != 'all'){ | ||
| 39 | + $v['project_title'] = $projectModel->formatQuery(['id'=>['in',explode(',',$project_str)]])->pluck('title')->toArray(); | ||
| 40 | + }else{ | ||
| 41 | + $v['project_title'] = '所有'; | ||
| 42 | + } | ||
| 43 | + $v['operator_name'] = (new Manage())->getName($v['operator_id']); | ||
| 44 | + $lists['list'][$k] = $v; | ||
| 45 | + } | ||
| 46 | + } | ||
| 47 | + $this->response('success',Code::SUCCESS,$lists); | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + | ||
| 51 | + /** | ||
| 52 | + * @remark :参数搜索 | ||
| 53 | + * @name :searchMap | ||
| 54 | + * @author :lyh | ||
| 55 | + * @method :post | ||
| 56 | + * @time :2024/6/20 11:09 | ||
| 57 | + */ | ||
| 58 | + public function searchMap(&$query){ | ||
| 59 | + if(isset($this->map['project_title']) && !empty($this->map['project_title'])){ | ||
| 60 | + $projectModel = new Project(); | ||
| 61 | + $project_id_arr = $projectModel->formatQuery(['title'=>['like','%'.$this->map['project_title'].'%']])->pluck('id')->toArray(); | ||
| 62 | + if(!empty($project_id_arr)){ | ||
| 63 | + $query->where(function ($subQuery) use ($project_id_arr) { | ||
| 64 | + foreach ($project_id_arr as $v) { | ||
| 65 | + $subQuery->orWhereRaw("FIND_IN_SET(?, project_str) > 0", [$v]); | ||
| 66 | + } | ||
| 67 | + }); | ||
| 68 | + } | ||
| 69 | + } | ||
| 70 | + if(isset($this->map['title']) && !empty($this->map['title'])){ | ||
| 71 | + $query->where('title','like','%'.$this->map['title'].'%'); | ||
| 72 | + } | ||
| 73 | + if(isset($this->map['operator_id']) && !empty($this->map['operator_id'])){ | ||
| 74 | + $query->where('operator_id',$this->map['operator_id']); | ||
| 75 | + } | ||
| 76 | + if(isset($this->map['start_time']) && isset($this->map['end_time'])){ | ||
| 77 | + $query->whereBetween('end_time',[$this->map['start_time'],$this->map['end_time']]); | ||
| 78 | + } | ||
| 79 | + return $query; | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + /** | ||
| 83 | + * @remark :获取详情 | ||
| 84 | + * @name :info | ||
| 85 | + * @author :lyh | ||
| 86 | + * @method :post | ||
| 87 | + * @time :2024/6/20 16:04 | ||
| 88 | + */ | ||
| 89 | + public function info(OaNoticeLogic $oaNoticeLogic){ | ||
| 90 | + $this->request->validate([ | ||
| 91 | + 'id'=>'required', | ||
| 92 | + ],[ | ||
| 93 | + 'id.required' => 'ID不能为空', | ||
| 94 | + ]); | ||
| 95 | + $data = $oaNoticeLogic->infoOaNotice(); | ||
| 96 | + $this->response('success',Code::SUCCESS,$data); | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | + /** | ||
| 100 | + * @remark :保存数据 | ||
| 101 | + * @name :save | ||
| 102 | + * @author :lyh | ||
| 103 | + * @method :post | ||
| 104 | + * @time :2024/6/20 10:49 | ||
| 105 | + */ | ||
| 106 | + public function save(OaNoticeLogic $oaNoticeLogic){ | ||
| 107 | + $this->request->validate([ | ||
| 108 | + 'project_str'=>'required', | ||
| 109 | + 'title'=>'required', | ||
| 110 | + 'remark'=>'required', | ||
| 111 | + 'start_time'=>'required', | ||
| 112 | + 'end_time'=>'required', | ||
| 113 | + ],[ | ||
| 114 | + 'project_str.required' => 'project_str不能为空', | ||
| 115 | + 'title.required' => 'title不能为空', | ||
| 116 | + 'remark.required' => 'remark不能为空', | ||
| 117 | + 'start_time.required' => 'start_time不能为空', | ||
| 118 | + 'end_time.required' => 'end_time不能为空', | ||
| 119 | + ]); | ||
| 120 | + $data = $oaNoticeLogic->saveOaNotice(); | ||
| 121 | + $this->response('success',Code::SUCCESS,$data); | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + /** | ||
| 125 | + * @remark :修改状态 | ||
| 126 | + * @name :status | ||
| 127 | + * @author :lyh | ||
| 128 | + * @method :post | ||
| 129 | + * @time :2024/6/20 10:50 | ||
| 130 | + */ | ||
| 131 | + public function status(OaNoticeLogic $oaNoticeLogic){ | ||
| 132 | + $this->request->validate([ | ||
| 133 | + 'id'=>'required', | ||
| 134 | + 'status'=>'required' | ||
| 135 | + ],[ | ||
| 136 | + 'id.required' => 'ID不能为空', | ||
| 137 | + 'status.required' => 'status不能为空' | ||
| 138 | + ]); | ||
| 139 | + $data = $oaNoticeLogic->statusOaNotice(); | ||
| 140 | + $this->response('success',Code::SUCCESS,$data); | ||
| 141 | + } | ||
| 142 | +} |
| @@ -227,8 +227,12 @@ class OptimizeController extends BaseController | @@ -227,8 +227,12 @@ class OptimizeController extends BaseController | ||
| 227 | $query = $query->where('gl_project_deploy_optimize.start_date','>=' ,$this->map['online_updated_at'][0])->where('gl_project_deploy_optimize.start_date','<' ,$this->map['online_updated_at'][1]); | 227 | $query = $query->where('gl_project_deploy_optimize.start_date','>=' ,$this->map['online_updated_at'][0])->where('gl_project_deploy_optimize.start_date','<' ,$this->map['online_updated_at'][1]); |
| 228 | } | 228 | } |
| 229 | if(isset($this->map['special'])){ | 229 | if(isset($this->map['special'])){ |
| 230 | + if($this->map['special'] == 15){ | ||
| 231 | + $query = $query->where('gl_project_deploy_optimize.ai_video',1); | ||
| 232 | + }else{ | ||
| 230 | $query = $query->whereRaw("FIND_IN_SET(?, gl_project_deploy_optimize.special) > 0", [$this->map['special']]); | 233 | $query = $query->whereRaw("FIND_IN_SET(?, gl_project_deploy_optimize.special) > 0", [$this->map['special']]); |
| 231 | } | 234 | } |
| 235 | + } | ||
| 232 | if(isset($this->map['is_remain_today'])){ | 236 | if(isset($this->map['is_remain_today'])){ |
| 233 | $query = $query->where('gl_project.is_remain_today',$this->map['is_remain_today']); | 237 | $query = $query->where('gl_project.is_remain_today',$this->map['is_remain_today']); |
| 234 | } | 238 | } |
| @@ -8,6 +8,7 @@ use App\Helper\Common; | @@ -8,6 +8,7 @@ use App\Helper\Common; | ||
| 8 | use App\Http\Controllers\Bside\BaseController; | 8 | use App\Http\Controllers\Bside\BaseController; |
| 9 | use App\Jobs\PurchaserJob; | 9 | use App\Jobs\PurchaserJob; |
| 10 | use App\Models\CustomModule\CustomModule; | 10 | use App\Models\CustomModule\CustomModule; |
| 11 | +use App\Models\OaNotice\OaNotice; | ||
| 11 | use App\Models\Project\DeployBuild; | 12 | use App\Models\Project\DeployBuild; |
| 12 | use App\Models\Project\Project; | 13 | use App\Models\Project\Project; |
| 13 | use App\Models\RouteMap\RouteMap; | 14 | use App\Models\RouteMap\RouteMap; |
| @@ -325,4 +326,21 @@ class ComController extends BaseController | @@ -325,4 +326,21 @@ class ComController extends BaseController | ||
| 325 | $this->response('success',Code::SUCCESS,$data); | 326 | $this->response('success',Code::SUCCESS,$data); |
| 326 | } | 327 | } |
| 327 | 328 | ||
| 329 | + /** | ||
| 330 | + * @remark :获取通知信息 | ||
| 331 | + * @name :getNoticeInfo | ||
| 332 | + * @author :lyh | ||
| 333 | + * @method :post | ||
| 334 | + * @time :2024/6/20 16:49 | ||
| 335 | + */ | ||
| 336 | + public function getNoticeInfo(){ | ||
| 337 | + $oaNoticeModel = new OaNotice(); | ||
| 338 | + $this->map['start_time'] = ['<=',date('Y-m-d H:i:s')]; | ||
| 339 | + $this->map['end_time'] = ['>=',date('Y-m-d H:i:s')]; | ||
| 340 | + $this->map['status'] = 0; | ||
| 341 | + $this->map['project_str'] = ['like','%,'.$this->user['project_id'].',%']; | ||
| 342 | + $lists = $oaNoticeModel->formatQuery($this->map)->orWhere('project_str', 'all')->select(['*'])->orderBy($this->order,'desc')->paginate($this->row, ['*'], 'page', $this->page); | ||
| 343 | + $this->response('success',Code::SUCCESS,$lists); | ||
| 344 | + } | ||
| 345 | + | ||
| 328 | } | 346 | } |
app/Http/Logic/Aside/Com/OaNoticeLogic.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :OaNoticeLogic.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2024/6/20 10:48 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Http\Logic\Aside\Com; | ||
| 11 | + | ||
| 12 | +use App\Http\Logic\Aside\BaseLogic; | ||
| 13 | +use App\Models\Manage\Manage; | ||
| 14 | +use App\Models\OaNotice\OaNotice; | ||
| 15 | +use App\Models\Project\Project; | ||
| 16 | + | ||
| 17 | +class OaNoticeLogic extends BaseLogic | ||
| 18 | +{ | ||
| 19 | + /** | ||
| 20 | + * 初始数据 | ||
| 21 | + */ | ||
| 22 | + public function __construct() | ||
| 23 | + { | ||
| 24 | + parent::__construct(); | ||
| 25 | + $this->model = new OaNotice(); | ||
| 26 | + $this->param = $this->requestAll; | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * @remark :保存数据 | ||
| 31 | + * @name :saveOaNotice | ||
| 32 | + * @author :lyh | ||
| 33 | + * @method :post | ||
| 34 | + * @time :2024/6/20 15:03 | ||
| 35 | + */ | ||
| 36 | + public function saveOaNotice(){ | ||
| 37 | + $this->param['operator_id'] = $this->manager['id']; | ||
| 38 | + $project_str = trim($this->param['project_str'],','); | ||
| 39 | + if($project_str != 'all'){ | ||
| 40 | + $this->param['project_str'] = ','.$project_str.','; | ||
| 41 | + } | ||
| 42 | + if(isset($this->param['id']) && !empty($this->param['id'])){ | ||
| 43 | + $id = $this->param['id']; | ||
| 44 | + $this->model->edit($this->param,['id'=>$id]); | ||
| 45 | + }else{ | ||
| 46 | + $id = $this->model->addReturnId($this->param); | ||
| 47 | + } | ||
| 48 | + return $this->success(['id'=>$id]); | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + /** | ||
| 52 | + * @remark :修改状态 | ||
| 53 | + * @name :statusOaNotice | ||
| 54 | + * @author :lyh | ||
| 55 | + * @method :post | ||
| 56 | + * @time :2024/6/20 15:44 | ||
| 57 | + */ | ||
| 58 | + public function statusOaNotice(){ | ||
| 59 | + $id = $this->param['id']; | ||
| 60 | + $this->model->edit(['status'=>$this->param['status']],['id'=>$id]); | ||
| 61 | + return $this->success(['id'=>$id]); | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + /** | ||
| 65 | + * @remark :获取详情 | ||
| 66 | + * @name :infoOaNotice | ||
| 67 | + * @author :lyh | ||
| 68 | + * @method :post | ||
| 69 | + * @time :2024/6/20 16:04 | ||
| 70 | + */ | ||
| 71 | + public function infoOaNotice(){ | ||
| 72 | + $info = $this->model->read($this->param); | ||
| 73 | + if($info == false){ | ||
| 74 | + $this->fail('当前数据不存在或已被删除'); | ||
| 75 | + } | ||
| 76 | + $info['project_str'] = trim($info['project_str'],','); | ||
| 77 | + if(strtolower($info['project_str']) != 'all'){ | ||
| 78 | + $projectModel = new Project(); | ||
| 79 | + $info['project_title'] = $projectModel->formatQuery(['id'=>['in',explode(',',$info['project_str'])]])->pluck('title')->toArray(); | ||
| 80 | + }else{ | ||
| 81 | + $info['project_title'] = '所有'; | ||
| 82 | + } | ||
| 83 | + $info['operator_name'] = (new Manage())->getName($info['operator_id']); | ||
| 84 | + return $this->success($info); | ||
| 85 | + } | ||
| 86 | +} |
app/Models/OaNotice/OaNotice.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :OaNotice.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2024/6/20 10:44 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Models\OaNotice; | ||
| 11 | + | ||
| 12 | +use App\Models\Base; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * @remark :oa通知消息 | ||
| 16 | + * @name :OaNotice | ||
| 17 | + * @author :lyh | ||
| 18 | + * @method :post | ||
| 19 | + * @time :2024/6/20 10:44 | ||
| 20 | + */ | ||
| 21 | +class OaNotice extends Base | ||
| 22 | +{ | ||
| 23 | + protected $table = 'gl_oa_notice'; | ||
| 24 | +} |
| @@ -414,6 +414,14 @@ Route::middleware(['aloginauth'])->group(function () { | @@ -414,6 +414,14 @@ Route::middleware(['aloginauth'])->group(function () { | ||
| 414 | Route::any('/del', [Aside\Com\TutorialController::class, 'del'])->name('admin.tutorial_del'); | 414 | Route::any('/del', [Aside\Com\TutorialController::class, 'del'])->name('admin.tutorial_del'); |
| 415 | }); | 415 | }); |
| 416 | 416 | ||
| 417 | + //oa通知 | ||
| 418 | + Route::prefix('oa_notice')->group(function () { | ||
| 419 | + Route::any('/', [Aside\Com\OaNoticeController::class, 'lists'])->name('admin.oa_notice_lists'); | ||
| 420 | + Route::any('/save', [Aside\Com\OaNoticeController::class, 'save'])->name('admin.oa_notice_save'); | ||
| 421 | + Route::any('/status', [Aside\Com\OaNoticeController::class, 'status'])->name('admin.oa_notice_status'); | ||
| 422 | + Route::any('/info', [Aside\Com\OaNoticeController::class, 'info'])->name('admin.oa_notice_info'); | ||
| 423 | + }); | ||
| 424 | + | ||
| 417 | Route::any('/generate_aicc_token', [Aside\Com\IndexController::class, 'generateAiCCToken'])->name('admin.generate_aicc_token'); | 425 | Route::any('/generate_aicc_token', [Aside\Com\IndexController::class, 'generateAiCCToken'])->name('admin.generate_aicc_token'); |
| 418 | Route::any('/getAutoToken', [Aside\Com\IndexController::class, 'getAutoToken'])->name('admin.getAutoToken'); | 426 | Route::any('/getAutoToken', [Aside\Com\IndexController::class, 'getAutoToken'])->name('admin.getAutoToken'); |
| 419 | 427 |
| @@ -20,6 +20,7 @@ Route::middleware(['bloginauth'])->group(function () { | @@ -20,6 +20,7 @@ Route::middleware(['bloginauth'])->group(function () { | ||
| 20 | Route::any('/generateToken', [\App\Http\Controllers\Bside\BCom\ComController::class, 'generateToken'])->name('generateToken'); | 20 | Route::any('/generateToken', [\App\Http\Controllers\Bside\BCom\ComController::class, 'generateToken'])->name('generateToken'); |
| 21 | Route::any('/getLink', [\App\Http\Controllers\Bside\BCom\ComController::class, 'getLink'])->name('getLink'); | 21 | Route::any('/getLink', [\App\Http\Controllers\Bside\BCom\ComController::class, 'getLink'])->name('getLink'); |
| 22 | Route::any('/getMobileProject', [\App\Http\Controllers\Bside\BCom\ComController::class, 'getMobileProject'])->name('getMobileProject'); | 22 | Route::any('/getMobileProject', [\App\Http\Controllers\Bside\BCom\ComController::class, 'getMobileProject'])->name('getMobileProject'); |
| 23 | + Route::any('/getNoticeInfo', [\App\Http\Controllers\Bside\BCom\ComController::class, 'getNoticeInfo'])->name('getNoticeInfo'); | ||
| 23 | //黑格数据 | 24 | //黑格数据 |
| 24 | Route::prefix('suppliers')->group(function () { | 25 | Route::prefix('suppliers')->group(function () { |
| 25 | Route::any('/recommendedPurchaser', [\App\Http\Controllers\Bside\Suppliers\SuppliersController::class, 'recommendedPurchaser'])->name('suppliers_recommendedPurchaser'); | 26 | Route::any('/recommendedPurchaser', [\App\Http\Controllers\Bside\Suppliers\SuppliersController::class, 'recommendedPurchaser'])->name('suppliers_recommendedPurchaser'); |
-
请 注册 或 登录 后发表评论