find(); if($masterWorker['team_id']){ throw new \Exception('该师傅已加入团队,请先退出团队'); } $masterWorkerTeam = MasterWorkerTeam::create([ 'team_name' => $params['team_name'], 'master_worker_id' => $params['master_worker_id'], ]); MasterWorker::where('id', $params['master_worker_id'])->update( [ 'team_id' => $masterWorkerTeam->id, 'team_role' => 1, ] ); 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 { $masterWorker = \app\common\model\master_worker\MasterWorker::where('id', $params['master_worker_id'])->find(); if($masterWorker['team_id']){ throw new \Exception('该师傅已加入团队,请先退出团队'); } $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, ] ); MasterWorkerTeam::where('id', $params['id'])->update([ 'team_name' => $params['team_name'], 'master_worker_id' => $params['master_worker_id'], ]); \app\common\model\master_worker\MasterWorker::where('id', $params['master_worker_id'])->update( [ 'team_id' => $params['id'], 'team_role' => 1, ] ); 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(); } }