Browse Source

解除绑定接口新增逻辑

QAQ 陈 4 months ago
parent
commit
e29bc0278d

+ 14 - 1
zhsw-common/src/main/java/com/rongwei/zhsw/system/wechat/impl/AccountServiceImpl.java

@@ -188,10 +188,23 @@ public class AccountServiceImpl implements AccountService {
                     swUserWechatService.updateById(nextAccount);
                 }
             }
-
         }
+        
+        // 检查该户号是否还有其他微信绑定记录
+        long count = swUserWechatService.count(new LambdaQueryWrapper<SwUserWechatDo>()
+                .eq(SwUserWechatDo::getUserno, account)
+                .ne(SwUserWechatDo::getWechatsign, currentWeChatOpenId)
+                .eq(SwUserWechatDo::getDeleted, 0));
+                
         // 删除绑定关系
         swUserManagementService.getBaseMapper().unbindAccount(dsKey, currentWeChatOpenId, account);
+        
+        // 如果没有其他微信绑定该户号,则将WECHATBINDSTATUS设置为null
+        if (count == 0) {
+            swUserManagementService.update(new LambdaUpdateWrapper<SwUserManagementDo>()
+                    .eq(SwUserManagementDo::getUsernumber, account)
+                    .set(SwUserManagementDo::getWechatbindstatus, null));
+        }
 
         // 默认不刷新直接返回
         if (!accountUnbindVo.getRefresh()) {