public function actionAddGroup($id = null) { $model = new Group(); if ($model->load(Yii::$app->request->post())) { Yii::$app->response->format = Response::FORMAT_JSON; return ActiveForm::validate($model); } if ($model->load(Yii::$app->request->get())) { Yii::$app->response->format = Response::FORMAT_JSON; if ($model->save()) { if (!empty($id)) { $advisorGroup = new AdvisorGroup(); $advisorGroup->id_group = $model->id_group; $advisorGroup->id_advisor = $id; $advisorGroup->save(); } return true; } else { return ActiveForm::validate($model); } } return $this->renderAjax('add_group', ['model' => $model, 'id' => $id]); }
public static function createUser($role, $content) { $istrue = true; $user = new User(); switch ($role) { case Dict::USER_ROLE_BETTERDEBT: $model = new Betterdebt(); $modelkey = "Betterdebt"; break; case Dict::USER_ROLE_ADVISOR: $model = new Advisor(); $modelkey = "Advisor"; break; case Dict::USER_ROLE_CLIENT: $model = new Client(); $modelkey = "Client"; break; case Dict::USER_ROLE_BANK: $model = new BankUser(); $modelkey = "BankUser"; break; default: break; } //事务开始 $transaction = Yii::$app->db->beginTransaction(); //保存到用户信息主表 foreach ($content['User'] as $key => $value) { $user->{$key} = $value; } $user->id_user_role = $role; $user->agree = Dict::USER_AGREE_NOT; $user->status = Dict::USER_STATUS_INACTIVE; if (!$user->save()) { $istrue = false; var_dump($user->getErrors()); return false; } //保存到用户信息表(advisor/client/betterdebt/bank_user) foreach ($content[$modelkey] as $key => $value) { $model->{$key} = $value; if ($key == 'date_of_birth' || $key == 'identification_expiration_date') { $model->{$key} = strtotime($value); } if ($modelkey == "Betterdebt" && $model->is_primary_service_member == Dict::BD_SERVICE_TEAM_NOT) { $model->is_primary_service_member = Dict::BD_PRIMARY_MEMBER_NOT; } } $model->id_user = $user->primaryKey; if (!$model->save()) { $istrue = false; return false; } if ($modelkey == "Betterdebt") { if (empty($model->is_primary_service_member)) { //判断是否设置为primary loan officer $model->is_primary_service_member = Dict::BD_PRIMARY_MEMBER_NOT; } else { /** * 如果选择了设置为primary loan officer,则将其他的自动调回不是primary */ $rows = Betterdebt::updateAll(['is_primary_service_member' => Dict::BD_PRIMARY_MEMBER_NOT], "id_betterdebt not in ({$model->id_betterdebt}) "); } } //用户设置权限方法调用 if (!static::SetAuthAssignment($role, $user->primaryKey)) { $istrue = false; return false; } //创建advisor时特有的 if (!empty($content['id_group'])) { foreach ($content['id_group'] as $key => $value) { $advisorgroup = new AdvisorGroup(); $advisorgroup->id_advisor = $model->primaryKey; $advisorgroup->id_group = $value; if (!$advisorgroup->save()) { $istrue = false; return false; } } } //事务结束提交 if ($istrue) { $transaction->commit(); return $user; } else { $transaction->rollback(); return false; } }