BTemplateLabelController.php 2.7 KB
<?php
/**
 * @remark :
 * @name   :BTemplateLabelController.php
 * @author :lyh
 * @method :post
 * @time   :2024/5/16 9:51
 */

namespace App\Http\Controllers\Bside\Template;

use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\BTemplate\BTemplateLabelLogic;
use App\Http\Logic\Bside\BTemplate\BTemplateLogic;
use App\Models\Template\BTemplate;
use App\Models\Template\Template;
use App\Models\Template\TemplateLabel;

/**
 * @remark :
 * @name   :BTemplateLabelController
 * @author :lyh
 * @method :post
 * @time   :2024/5/16 9:51
 */
class BTemplateLabelController extends BaseController
{
    /**
     * @remark :根据用户获取模版
     * @name   :lists
     * @author :lyh
     * @method :post
     * @time   :2024/5/16 10:15
     */
    public function getUserLists(TemplateLabel $templateLabel,Template $template){
        $data = [];
        $this->map['user_id'] = $this->param['id'];
        $template_id_arr = $templateLabel->formatQuery($this->map)->pluck('template_id')->toArray();
        if(!empty($template_id_arr)){
            $filed = ['id','name','image','url','created_at','status','deleted_status'];
            $map = ['id'=>['in',$template_id_arr],'deleted_status'=>BTemplate::STATUS,'status'=>BTemplate::STATUS];
            $data = $template->list($map,'id',$filed);
            foreach ($data as $k => $v){
                $v['image_link'] = getImageUrl($v['image'],$this->user['storage_type'],$this->user['project_location']);
                $data[$k] = $v;
            }
        }
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @remark :保存标签
     * @name   :save
     * @author :lyh
     * @method :post
     * @time   :2024/5/16 9:53
     */
   public function save(BTemplateLabelLogic $labelLogic){
       $this->request->validate([
           'name'=>'required | max:200',
           'type'=>'required',
           'template_id'=>'required',
       ],[
           'name.required' => '标签名称不能为空',
           'type.required' => '模版类型不能为空不能为空',
           'template_id.required' => '模版ID不能为空不能为空',
       ]);
       $data = $labelLogic->saveLabel();
       $this->response('success',Code::SUCCESS,$data);
   }

    /**
     * @remark :删除数据
     * @name   :del
     * @author :lyh
     * @method :post
     * @time   :2024/5/16 10:08
     */
   public function del(BTemplateLabelLogic $labelLogic){
       $this->request->validate([
           'id'=>'required',
       ],[
           'id.required' => '主键不能为空',
       ]);
       $data = $labelLogic->delLabel();
       $this->response('success',Code::SUCCESS,$data);
   }
}