BTemplateModuleController.php 3.1 KB
<?php

namespace App\Http\Controllers\Bside\Template;

use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\BTemplate\BTemplateModuleLogic;
use App\Http\Logic\Bside\BTemplate\BTemplateModuleProjectLogic;
use App\Models\Template\BModuleProject;
use App\Models\Template\TemplateLabel;

/**
 * @remark :左侧模块管理
 * @name   :BTemplateModuleController
 * @author :lyh
 * @time   :2023/6/29 11:32
 */
class BTemplateModuleController extends BaseController
{
    /**
     * @remark :获取左侧模块列表
     * @name   :lists
     * @author :lyh
     * @method :post
     * @time   :2023/6/29 11:33
     */
    public function lists(BTemplateModuleLogic $bTemplateModuleLogic,BTemplateModuleProjectLogic $bTemplateModuleProjectLogic){
        if(!isset($this->map['test_model'])){
            $this->map['test_model'] = ['in',[0,1]];
            $this->map['project_id'] = 0;
        }
        $templateLabel = new TemplateLabel();
        $this->searchLabelName($templateLabel);
        $data = [];
        $list = $bTemplateModuleLogic->ModuleList($this->map,$this->order);
        $data['list'] = $list;
        $module_list = $bTemplateModuleProjectLogic->ModuleList(['project_id'=>$this->user['project_id']]);
        $data['module_list'] = $module_list;
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @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   :read
     * @author :lyh
     * @method :post
     * @time   :2023/10/17 15:30
     */
    public function read(BTemplateModuleLogic $BTemplateModuleLogic){
        $info = $BTemplateModuleLogic->moduleRead();
        $this->response('success',Code::SUCCESS,$info);
    }

    /**
     * @remark :获取所有模块类型
     * @name   :getType
     * @author :lyh
     * @method :post
     * @time   :2023/6/29 14:41
     */
    public function getType(BTemplateModuleLogic $BTemplateModuleLogic){
        if(!isset($this->map['type'])){
            $this->map['type'] = 1;
        }
        $list = $BTemplateModuleLogic->ModuleType($this->map);
        $this->response('success',Code::SUCCESS,$list);
    }

    /**
     * @remark :设置数量
     * @name   :setModuleNumber
     * @author :lyh
     * @method :post
     * @time   :2024/6/3 16:50
     */
    public function setModuleNumber(){
        $this->request->validate([
            'id'=>'required',
        ],[
            'id.required' => 'id不能为空',
        ]);
        $this->model->where('id', $this->param['id'])->increment('number');
        $this->response('success');
    }
}