CustomTemplateController.php 5.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\CustomTemplateLogic;
use App\Http\Requests\Bside\Template\CustomTemplateRequest;
use App\Models\Template\BTemplate;
use App\Models\Template\BTemplateLog;
use App\Models\Template\Template;
use App\Models\User\User;

/**
 * @remark :自定义模块
 * @name   :CustomTemplateController
 * @author :lyh
 * @time   :2023/6/29 9:23
 */
class CustomTemplateController extends BaseController
{
    /**
     * @remark :自定义界面列表
     * @name   :lists
     * @author :lyh
     * @method :post
     * @time   :2023/6/29 9:29
     */
    public function lists(CustomTemplateLogic $customTemplateLogic){
        $lists = $customTemplateLogic->customTemplateLists($this->map,$this->page,$this->row,$this->order);
        if (!empty($lists)){
            foreach ($lists['list'] as $k => $v){
                $v['url'] = $v['url'].'/';
                $lists['list'][$k] = $v;
            }
        }
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @remark :统计
     * @name   :getStatusNumber
     * @author :lyh
     * @method :post
     * @time   :2023/7/29 17:43
     */
    public function statusNumber(CustomTemplateLogic $customTemplateLogic){
        $data = $customTemplateLogic->getStatusNumber();
        $this->response('success',Code::SUCCESS,$data);
    }
    /**
     * @remark :获取当前自定义界面详情
     * @name   :read
     * @author :lyh
     * @method :post
     * @time   :2023/6/29 16:23
     */
    public function read(CustomTemplateLogic $customTemplateLogic){
        $this->request->validate([
            'id'=>['required'],
        ],[
            'id.required' => 'ID不能为空',
        ]);
        $info = $customTemplateLogic->customTemplateInfo();
        $this->response('success',Code::SUCCESS,$info);
    }

    /**
     * @remark :保存自定义模块
     * @name   :save
     * @author :lyh
     * @method :post
     * @time   :2023/6/29 9:30
     */
    public function save(CustomTemplateRequest $customTemplateRequest,CustomTemplateLogic $customTemplateLogic){
        $customTemplateRequest->validated();
        $customTemplateLogic->customTemplateSave();
        $this->response('success');
    }

    /**
     * @remark :删除自定义模块
     * @name   :del
     * @author :lyh
     * @method :post
     * @time   :2023/6/29 9:30
     */
    public function del(CustomTemplateLogic $customTemplateLogic){
        $this->request->validate([
            'id'=>['required'],
        ],[
            'id.required' => 'ID不能为空',
        ]);
        $customTemplateLogic->customTemplateDel();
        $this->response('success');
    }

    /**
     * @remark :保存html
     * @name   :saveHtml
     * @author :lyh
     * @method :post
     * @time   :2023/6/29 17:03
     */
    public function saveHtml(CustomTemplateLogic $customTemplateLogic){
        $this->request->validate([
            'id'=>['required'],
        ],[
            'id.required' => 'ID不能为空',
        ]);
        $customTemplateLogic->saveHtml();
        $this->response('success');
    }

    /**
     * @remark :获取自定义界面的保存记录
     * @name   :getCustomTemplateLog
     * @author :lyh
     * @method :post
     * @time   :2024/4/23 11:07
     */
    public function getCustomTemplateLog(BTemplateLog $bTemplateLog){
        $this->request->validate([
            'source_id'=>['required'],
        ],[
            'source_id.required' => 'ID不能为空',
        ]);
        $lists = $bTemplateLog->list(['source'=>9,'is_custom'=>0,'source_id'=>$this->param['source_id']],'id',['id','template_id','operator_id','source','created_at','updated_at'],'desc',10);
        if(!empty($lists)){
            $templateModel = new Template();
            $userModel = new User();
            foreach ($lists as $k => $v){
                if(!empty($v['template_id'])){
                    $v['template_name'] = $templateModel->read(['id'=>$v['template_id']],['name'])['name'];
                }
                $v['operator_name'] = $userModel->getName($v['operator_id']);
                $lists[$k] = $v;
            }
        }
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @remark :还原单页面记录
     * @name   :rollbackVersion
     * @author :lyh
     * @method :post
     * @time   :2024/4/23 13:58
     */
    public function rollbackVersion(CustomTemplateLogic $logic){
        $this->request->validate([
            'id'=>['required'],
        ],[
            'id.required' => 'ID不能为空',
        ]);
        $logic->saveRollbackVersion();
        $this->response('success');
    }

    /**
     * @remark :复制单页
     * @name   :copyCustomTemplate
     * @author :lyh
     * @method :post
     * @time   :2024/4/28 16:13
     */
    public function copyCustomTemplate(CustomTemplateLogic $logic){
        $this->request->validate([
            'id'=>['required'],
        ],[
            'id.required' => 'ID不能为空',
        ]);
        $logic->copyCustomTemplateInfo();
        $this->response('success');
    }
}