ATemplateModuleController.php 2.7 KB
<?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;

/**
 * @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(ATemplateModuleLogic $ATemplateModuleLogic){
        $lists = $ATemplateModuleLogic->aTemplateModuleLists($this->map,$this->page,$this->row,$this->order);
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @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);
    }
}