Pārlūkot izejas kodu

物业手机号修改并防重复

liugc 1 gadu atpakaļ
vecāks
revīzija
e576968a3c

+ 13 - 0
app/adminapi/logic/property/PropertyHeadLogic.php

@@ -15,8 +15,10 @@
 namespace app\adminapi\logic\property;
 
 
+use app\adminapi\logic\user\UserLogic;
 use app\common\model\property\PropertyHead;
 use app\common\logic\BaseLogic;
+use app\common\model\user\User;
 use think\facade\Db;
 
 
@@ -72,8 +74,18 @@ class PropertyHeadLogic extends BaseLogic
      */
     public static function edit(array $params): bool
     {
+        $headMobile = PropertyHead::where('id', $params['id'])->value('head_mobile');
         Db::startTrans();
         try {
+            // 手机号不同时做判断
+            if($headMobile != $params['head_mobile']){
+                $user = User::where(['mobile' => $params['head_mobile']])->findOrEmpty();
+                if (!$user->isEmpty()) {
+                    throw new \Exception('该手机号已被注册');
+                }
+                // 更换用户手机号 account
+                User::where(['mobile' => $headMobile])->save(['mobile' => $params['head_mobile']]);
+            }
             PropertyHead::where('id', $params['id'])->update([
                 'property_name' => $params['property_name'],
                 'village_name' => $params['village_name'],
@@ -87,6 +99,7 @@ class PropertyHeadLogic extends BaseLogic
                 'remark' => $params['remark']
             ]);
 
+
             Db::commit();
             return true;
         } catch (\Exception $e) {

+ 2 - 2
app/adminapi/validate/property/PropertyHeadValidate.php

@@ -66,7 +66,7 @@ class PropertyHeadValidate extends BaseValidate
      */
     public function sceneAdd()
     {
-        return $this->only(['property_name','village_name','address','head_name','head_mobile','ratio','head_bank_card']);
+        return $this->only(['property_name','village_name','address','head_name','head_mobile','head_bank_card']);
     }
 
 
@@ -78,7 +78,7 @@ class PropertyHeadValidate extends BaseValidate
      */
     public function sceneEdit()
     {
-        return $this->only(['id','property_name','village_name','address','head_name','head_mobile','ratio','head_bank_card']);
+        return $this->only(['id','property_name','village_name','address','head_name','head_mobile','head_bank_card']);
     }