TaskLogic.php 1.5 KB
<?php

namespace App\Http\Logic\Aside\Task;


use App\Helper\Arr;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Task\Task;
use App\Models\Task\TaskOwner;
use Illuminate\Support\Facades\DB;

/**
 * Class TaskLogic
 * @package App\Http\Logic\Aside\Task
 * @author zbj
 * @date 2023/4/27
 */
class TaskLogic extends BaseLogic
{
    public function __construct()
    {
        parent::__construct();

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

    public function save($param){

        DB::beginTransaction();
        try {
            $res = parent::save($param);
            $data['task_id'] = $res['id'];

            //支持分配多人
            $owner = Arr::splitFilterToArray($param['owner']);
            foreach ($owner as $manage_id){
                $data['manage_ids'][] = $manage_id;
            }
            (new TaskOwnerLogic)->save($data);

            DB::commit();
        }catch (\Exception $e){
            DB::rollBack();
            errorLog('工单保存失败', $param, $e);
            $this->fail('保存失败');
        }
        return $this->success();
    }

    /**
     * 修改状态
     * @param $param
     * @return array
     * @throws \App\Exceptions\AsideGlobalException
     * @throws \App\Exceptions\BsideGlobalException
     * @author zbj
     * @date 2023/4/27
     */
    public function status($param){
        $data = [
            'id' => $param['id'],
            'status' => $param['status'],
        ];

        parent::save($data);
        return $this->success();
    }
}