作者 lyh

gx

  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\Models\OaNotice\OaNotice;
  15 +use App\Models\Project\Project;
  16 +use Illuminate\Support\Facades\DB;
  17 +
  18 +class OaNoticeController extends BaseController
  19 +{
  20 + /**
  21 + * @remark :通知消息
  22 + * @name :lists
  23 + * @author :lyh
  24 + * @method :post
  25 + * @time :2024/6/20 10:49
  26 + */
  27 + public function lists(){
  28 + $oaNoticeModel = new OaNotice();
  29 + $query = $oaNoticeModel->sortOrder($oaNoticeModel,'created_at','desc');
  30 + $query = $this->searchMap($query);
  31 + $lists = $query->paginate($this->row, ['*'], 'page', $this->page)->toArray();
  32 + if(!empty($lists) && !empty($lists['list'])){
  33 + $projectModel = new Project();
  34 + foreach ($lists['list'] as $k => $v){
  35 + if(strtolower($v['project_str']) != 'all'){
  36 + $v['project_title'] = $projectModel->formatQuery(['id'=>['in',explode(',',$v['project_str'])]])->pluck('title')->toArray();
  37 + }else{
  38 + $v['project_title'] = '所有';
  39 + }
  40 + $lists['list'][$k] = $v;
  41 + }
  42 + }
  43 + $lists = [];
  44 + $this->response('success',Code::SUCCESS,$lists);
  45 + }
  46 +
  47 +
  48 + /**
  49 + * @remark :参数搜索
  50 + * @name :searchMap
  51 + * @author :lyh
  52 + * @method :post
  53 + * @time :2024/6/20 11:09
  54 + */
  55 + public function searchMap(&$query){
  56 + if(isset($this->map['project_title']) && !empty($this->map['project_title'])){
  57 + $projectModel = new Project();
  58 + $project_id_arr = $projectModel->formatQuery(['title'=>['like','%'.$this->map['project_title'].'%']])->pluck('id')->toArray();
  59 + if(!empty($project_id_arr)){
  60 + $query->where(function ($subQuery) use ($project_id_arr) {
  61 + foreach ($project_id_arr as $v) {
  62 + $subQuery->orWhereRaw("FIND_IN_SET(?, project_str) > 0", [$v]);
  63 + }
  64 + });
  65 + }
  66 + }
  67 + return $query;
  68 + }
  69 +
  70 + /**
  71 + * @remark :保存数据
  72 + * @name :save
  73 + * @author :lyh
  74 + * @method :post
  75 + * @time :2024/6/20 10:49
  76 + */
  77 + public function save(){
  78 + $data = [];
  79 + $this->response('success',Code::SUCCESS,$data);
  80 + }
  81 +
  82 + /**
  83 + * @remark :修改状态
  84 + * @name :status
  85 + * @author :lyh
  86 + * @method :post
  87 + * @time :2024/6/20 10:50
  88 + */
  89 + public function status(){
  90 + $data = [];
  91 + $this->response('success',Code::SUCCESS,$data);
  92 + }
  93 +
  94 + /**
  95 + * @remark :删除数据
  96 + * @name :del
  97 + * @author :lyh
  98 + * @method :post
  99 + * @time :2024/6/20 10:50
  100 + */
  101 + public function del(){
  102 + $this->response('success');
  103 + }
  104 +}
  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\Com\V6UpdateLog;
  14 +use App\Models\OaNotice\OaNotice;
  15 +
  16 +class OaNoticeLogic extends BaseLogic
  17 +{
  18 + /**
  19 + * 初始数据
  20 + */
  21 + public function __construct()
  22 + {
  23 + parent::__construct();
  24 + $this->model = new OaNotice();
  25 + $this->param = $this->requestAll;
  26 + }
  27 +}
  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('/del', [Aside\Com\OaNoticeController::class, 'del'])->name('admin.oa_notice_del');
  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