KeywordLogic.php 1.3 KB
<?php

namespace App\Http\Logic\Bside\Product;

use App\Helper\Arr;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\RouteMap;
use App\Models\Product\Keyword;
use Illuminate\Support\Facades\DB;

/**
 * Class KeywordLogic
 * @package App\Http\Logic\Bside\Product
 * @author zbj
 * @date 2023/4/15
 */
class KeywordLogic extends  BaseLogic
{
    public function __construct()
    {
        parent::__construct();

        $this->model = new Keyword();
    }

    public function save($param){
        DB::beginTransaction();
        try {
           $res = parent::save($param);
           //路由映射
           RouteMap::setRoute($param['title'], RouteMap::SOURCE_PRODUCT_KEYWORD, $res['id'], $param['project_id'], true);
           DB::commit();
        }catch (\Exception $e){
            DB::rollBack();
            $this->fail('保存失败');
        }
        return $this->success();
    }

    public function delete($ids){
        $ids= array_filter(Arr::splitFilterToArray($ids), 'intval');
        foreach ($ids as $id){
            $info = $this->getCacheInfo($id);
            if(!$info){
                continue;
            }

            //todo 是否有关联商品

            //todo 删除路由映射 事务

        }
        return parent::delete($ids);
    }
}