作者 何书鹏
1 个管道 的构建 通过 耗费 1 秒

合并分支 'heshupeng' 到 'master'

bug修改



查看合并请求 !225
@@ -462,7 +462,7 @@ class HouseAdmin extends Api @@ -462,7 +462,7 @@ class HouseAdmin extends Api
462 * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") 462 * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
463 * @ApiParams (name="house_id", type="inter", required=true, description="社区ID") 463 * @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
464 * @ApiParams (name="nickname", type="string", required=true, description="姓名") 464 * @ApiParams (name="nickname", type="string", required=true, description="姓名")
465 - * @ApiParams (name="user_id", type="inter", required=true, description="用户ID") 465 + * @ApiParams (name="id_num", type="inter", required=true, description="用户ID")
466 * @ApiParams (name="mobile", type="string", required=true, description="手机号") 466 * @ApiParams (name="mobile", type="string", required=true, description="手机号")
467 * 467 *
468 * @ApiReturn({ 468 * @ApiReturn({
@@ -476,19 +476,40 @@ class HouseAdmin extends Api @@ -476,19 +476,40 @@ class HouseAdmin extends Api
476 $post = $this->request->param(); 476 $post = $this->request->param();
477 empty($post['house_id']) && $this->error('缺少必要参数'); 477 empty($post['house_id']) && $this->error('缺少必要参数');
478 empty($post['nickname']) && $this->error('请填写姓名'); 478 empty($post['nickname']) && $this->error('请填写姓名');
479 - empty($post['user_id']) && $this->error('请填写用户ID'); 479 + empty($post['id_num']) && $this->error('请填写用户ID');
480 empty($post['mobile']) && $this->error('请填写手机号'); 480 empty($post['mobile']) && $this->error('请填写手机号');
481 if (!Validate::regex($post['mobile'], "^1\d{10}$")) { 481 if (!Validate::regex($post['mobile'], "^1\d{10}$")) {
482 $this->error(__('Mobile is incorrect')); 482 $this->error(__('Mobile is incorrect'));
483 } 483 }
484 $user = $this->auth->getUser(); 484 $user = $this->auth->getUser();
485 - $post['user_id'] = $user['id'];  
486 - $admin = HouseAdminModel::get(['user_id'=>$user['id'],'house_id'=>$post['house_id'],'is_direct'=>1]);  
487 - empty($admin) && $this->error('您不是该小区的主管理员');  
488 - (new HouseAdminModel)->allowField(true)->save(array_merge([  
489 - 'avatar' => $user['avatar'], 485 + if(!HouseAdminModel::get(['user_id'=>$user['id'],'house_id'=>$post['house_id'],'is_direct'=>1])){
  486 + $this->error('您不是该小区的主管理员,无法添加子管理员');
  487 + }
  488 + if(!$admin_user = User::get(['id_num'=>$post['id_num']])){
  489 + $this->error('用户不存在');
  490 + }
  491 + if($admin_user['id'] == $user['id']){
  492 + $this->error('您不能添加自己');
  493 + }
  494 + if(HouseAdminModel::get(['user_id'=>$admin_user['id'],'house_id'=>$post['house_id']])){
  495 + $this->error('该用户已是当前小区的管理员,请勿重复添加');
  496 + }
  497 +
  498 + Db::startTrans();
  499 + $result = (new HouseAdminModel)->allowField(true)->save(array_merge([
  500 + 'user_id' => $admin_user['id']
  501 + 'avatar' => $admin_user['avatar'],
490 'is_direct' => 2 502 'is_direct' => 2
491 ],$post)); 503 ],$post));
  504 + if($admin_user['identity'] == 0 && !$admin_user->save(['identity' => 2])){
  505 + Db::rollback();
  506 + $this->error('添加管理员失败');
  507 + }
  508 + if (!$result) {
  509 + Db::rollback();
  510 + $this->error('添加管理员失败');
  511 + }
  512 +
492 $this->success('success'); 513 $this->success('success');
493 } 514 }
494 515