Example #1
0
 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]);
 }
Example #2
0
 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;
     }
 }