find(); if($masterWorker['team_id']){ throw new \Exception('该师傅已加入团队'); } MasterWorkerTeam::where('tenant_id', $params['tenant_id'])->value('id') && throw new \Exception('该租户已有团队'); $masterWorkerTeam = MasterWorkerTeam::create([ 'team_name' => $params['team_name'], 'master_worker_id' => $params['master_worker_id'], 'tenant_id' => $params['tenant_id']??0, ]); MasterWorker::where('id', $params['master_worker_id'])->update( [ 'team_id' => $masterWorkerTeam->id, 'team_role' => 1, 'tenant_id' => $params['tenant_id'], ] ); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑 * @param array $params * @return bool * @author likeadmin * @date 2024/11/20 17:42 */ public static function edit(array $params): bool { Db::startTrans(); try { $masterWorkerTeam = MasterWorkerTeam::where('id', $params['id'])->find(); $masterWorker = \app\common\model\master_worker\MasterWorker::where('id', $params['master_worker_id'])->find(); if(($masterWorkerTeam['master_worker_id'] != $params['master_worker_id']) && $masterWorker['team_id']){ throw new \Exception('该师傅已加入团队,请先退出团队'); } \app\common\model\master_worker\MasterWorker::where('id', $masterWorkerTeam['master_worker_id'])->update( [ //'team_id' => $params['id'], 'team_role' => 0, //'tenant_id' => $params['tenant_id'], ] ); MasterWorkerTeam::where('id', $params['id'])->update([ 'team_name' => $params['team_name'], 'master_worker_id' => $params['master_worker_id'], 'tenant_id' => $params['tenant_id']??0, ]); \app\common\model\master_worker\MasterWorker::where('id', $params['master_worker_id'])->update( [ 'team_id' => $params['id'], 'team_role' => 1, 'tenant_id' => $params['tenant_id'], ] ); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 删除 * @param array $params * @return bool * @author likeadmin * @date 2024/11/20 17:42 */ public static function delete(array $params): bool { $masterWorkerTeam = MasterWorkerTeam::where('id', $params['id'])->find(); \app\common\model\master_worker\MasterWorker::where('id', $masterWorkerTeam['master_worker_id'])->update( [ 'team_id' => 0, 'team_role' => 0, ] ); return MasterWorkerTeam::destroy($params['id']); } /** * @notes 获取详情 * @param $params * @return array * @author likeadmin * @date 2024/11/20 17:42 */ public static function detail($params): array { return MasterWorkerTeam::with('masterWorker')->findOrEmpty($params['id'])->toArray(); } }