From b56f6e2c366845d175303d9b88b6d10859513ce2 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 22 八月 2024 13:45:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java |   26 +++++++++++++++++++++++---
 1 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
index 4f5b66b..c9fe14f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.account.service.impl;
 
 import com.alipay.api.response.AlipaySystemOauthTokenResponse;
+import com.alipay.api.response.AlipayUserInfoShareResponse;
 import com.alipay.api.response.AlipayUserUserinfoShareResponse;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -11,6 +12,7 @@
 import com.ruoyi.account.service.TAppUserService;
 import com.ruoyi.account.wx.model.WeixinProperties;
 import com.ruoyi.account.wx.pojo.AppletUserDecodeData;
+import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.system.api.model.LoginUserApplet;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,7 +37,7 @@
     private TokenService tokenService;
     @Override
     public Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData) {
-        // 通过手机号查询用户,是否已存在手动导入用户
+        // 通过手机号查询用户,是否已存在手动导入用户,包含支付宝用户
         TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                 .eq(TAppUser::getPhone, appletUserDecodeData.getPhoneNumber())
                 .isNull(TAppUser::getWxOpenid)
@@ -51,6 +53,9 @@
                 appUser.setPhone(appletUserDecodeData.getPhoneNumber());
             }
         }
+        if(Objects.nonNull(appUser.getStatus())){
+            throwInfo(appUser.getStatus());
+        }
         appUser.setAvatar(appletUserDecodeData.getAvatarUrl());
         appUser.setCity(appletUserDecodeData.getCity());
         appUser.setName(appletUserDecodeData.getNickName());
@@ -61,8 +66,8 @@
     }
 
     @Override
-    public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserUserinfoShareResponse userInfo) {
-        // 通过手机号查询用户,是否已存在手动导入用户
+    public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserInfoShareResponse userInfo) {
+        // 通过手机号查询用户,是否已存在手动导入用户,包含微信用户
         TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                 .eq(TAppUser::getPhone, userInfo.getMobile())
                 .isNull(TAppUser::getAliOpenid)
@@ -77,6 +82,9 @@
                 appUser = new TAppUser();
                 appUser.setPhone(userInfo.getMobile());
             }
+        }
+        if(Objects.nonNull(appUser.getStatus())){
+            throwInfo(appUser.getStatus());
         }
         appUser.setAvatar(userInfo.getAvatar());
         appUser.setCity(userInfo.getCity());
@@ -102,4 +110,16 @@
         tokenInfos.put("info",loginUserApplet);
         return tokenInfos;
     }
+
+    @Override
+    public void throwInfo(Integer status){
+        switch (status){
+            case 2:
+                throw new ServiceException("账号被冻结,请联系管理员");
+            case 3:
+                throw new ServiceException("账号已注销,请重新注册使用");
+            default:
+                break;
+        }
+    }
 }

--
Gitblit v1.7.1