CustomLogic.php 2.2 KB
<?php

namespace App\Http\Logic\Bside;

use App\Helper\Arr;
use App\Models\BCustom;
use App\Models\Inquiry;
use App\Models\RouteMap;
use Illuminate\Support\Facades\DB;

/**
 * 自定义页面
 * @author:dc
 * @time 2023/5/12 9:47
 * Class CustomLogic
 * @package App\Http\Logic\Bside
 */
class CustomLogic extends  BaseLogic
{
    public function __construct()
    {
        parent::__construct();

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

    public function getList(array $map = [], array $sort = ['id' => 'desc'], array $columns = ['*'], int $limit = 20)
    {
        $data = parent::getList($map, $sort, $columns, $limit);
        foreach ($data['list'] as &$v){
            $v['route'] = RouteMap::getRoute(RouteMap::SOURCE_PAGE, $v['id'], $this->project['id']);
            $v['url'] = $this->getProjectDomain() . $v['route'];
        }
        return $this->success($data);
    }

    /**
     * @param $param
     * @return array
     * @throws \App\Exceptions\AsideGlobalException
     * @throws \App\Exceptions\BsideGlobalException
     * @author:dc
     * @time 2023/5/12 9:54
     */
    public function save($param)
    {
        $param['html'] = '';

        DB::beginTransaction();
        try {
            $id = parent::save($param);
            //路由映射
            RouteMap::setRoute($param['route'], RouteMap::SOURCE_PAGE, $id, $this->user['project_id']);

            DB::commit();
        }catch (\Exception $e){
            DB::rollBack();
            $this->fail('保存失败');
        }


        $data = $this->getInfo($id['id']);


        return  $data;
    }


    /**
     * 删除
     * @param $ids
     * @param array $map
     * @return array|void
     * @author:dc
     * @time 2023/5/12 9:58
     */
    public function delete($ids, $map = [])
    {
        DB::beginTransaction();
        try {
            foreach ($ids as $id) {
                //删除路由映射
                RouteMap::delRoute(RouteMap::SOURCE_PAGE, $id, $this->user['project_id']);
            }
            parent::delete($ids);

            DB::commit();
        }catch (\Exception $e){
            DB::rollBack();
            $this->fail('删除失败');
        }
        return $this->success();
    }




}