TaskOwnerLogic.php 1.0 KB
<?php

namespace App\Http\Logic\Aside\Task;

use App\Http\Logic\Aside\BaseLogic;
use App\Models\Task\TaskOwner;

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

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

    public function save($param){
        //获取已分配了的
        $manage_ids = $this->model->where('task_id', $param['task_id'])->pluck('manage_id', 'id');

        //待删除的
        $del_manage_ids = array_diff($manage_ids, $param['manage_ids']);
        $this->delete(array_keys($del_manage_ids));

        //新增的
        $add_manage_ids = array_diff($param['manage_ids'], $manage_ids);
        foreach ($add_manage_ids as $add_manage_id){
            $data = [
                'task_id' => $param['task_id'],
                'manage_id' => $add_manage_id
            ];
            parent::save($data);
        }
        return $this->success();
    }
}