ATemplateModuleController.php
3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
namespace App\Http\Controllers\Aside\Template;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Template\ATemplateLogic;
use App\Http\Logic\Aside\Template\ATemplateModuleLogic;
use App\Http\Requests\Aside\Template\ATemplateModuleRequest;
use App\Models\Project\Project;
use App\Models\Template\TemplateLabel;
use App\Models\Template\TemplateModule;
/**
* @remark :左侧模块管理
* @name :ATemplateModuleController
* @author :lyh
* @time :2023/6/28 16:54
*/
class ATemplateModuleController extends BaseController
{
/**
* @remark :左侧模块列表
* @name :lists
* @author :lyh
* @method :post
* @time :2023/6/28 16:54
*/
public function lists(TemplateModule $templateModule){
$templateLabel = new TemplateLabel();
$this->map['deleted_status'] = 0;
$this->searchLabelName($templateLabel);
$lists = $templateModule->lists($this->map,$this->page,$this->row,$this->order);
if(!empty($lists) && !empty($lists['list'])){
foreach ($lists['list'] as $k => $v){
$v['label'] = $templateLabel->list(['template_id'=>$v['id'],'type'=>2],'id',['id','name'],'desc',5);
$lists['list'][$k] = $v;
}
}
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :搜索label
* @name :searchLabelName
* @author :lyh
* @method :post
* @time :2024/6/3 11:11
*/
public function searchLabelName($templateLabel){
if(isset($this->map['label_name']) && !empty($this->map['label_name'])){
$id_arr = $templateLabel->formatQuery(['name'=>['like','%'.$this->map['label_name'].'%'],'type'=>2])->pluck('template_id')->toArray();
$this->map['id'] = ['in',$id_arr];
unset($this->map['label_name']);
}
return true;
}
/**
* @remark :左侧模块保存
* @name :save
* @author :lyh
* @method :post
* @time :2023/6/28 16:55
*/
public function save(ATemplateModuleRequest $ATemplateModuleRequest,ATemplateModuleLogic $ATemplateModuleLogic){
$ATemplateModuleRequest->validated();
$ATemplateModuleLogic->aTemplateModuleSave();
$this->response('success');
}
/**
* @remark :编辑状态
* @name :status
* @author :lyh
* @method :post
* @time :2023/6/28 16:55
*/
public function status(ATemplateModuleLogic $ATemplateModuleLogic){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$ATemplateModuleLogic->aTemplateModuleStatus();
$this->response('success');
}
/**
* @remark :逻辑删除模块
* @name :del
* @author :lyh
* @method :post
* @time :2023/6/28 16:55
*/
public function del(ATemplateModuleLogic $ATemplateModuleLogic){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$ATemplateModuleLogic->aTemplateModuleDel();
$this->response('success');
}
/**
* @remark :添加私有模块时获取项目列表
* @name :getProjectList
* @author :lyh
* @method :post
* @time :2024/1/15 10:18
*/
public function getProjectList(Project $project){
$this->map['type'] = ['!=',0];
$this->map['delete_status'] = 0;
if(isset($this->map['title']) && !empty($this->map['title'])){
$this->map['title'] = ['like','%'.$this->map['title'].'%'];
}
$list = $project->list($this->map,'id',['id','title']);
$this->response('success',Code::SUCCESS,$list);
}
}