From 0a8d28436b2f7229ecdf40c6b003902002c8947f Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 16 十月 2025 17:37:08 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java |   93 ++++++++++++++++++++++++++++------------------
 1 files changed, 57 insertions(+), 36 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index 82c8c82..bcd202b 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -279,8 +279,6 @@
                 userInfo.setCompanyId(1);
             }
 
-
-
             this.insert(userInfo);
 
             this.addCoupon(userInfo);//添加优惠券
@@ -317,7 +315,7 @@
         return ResultUtil.success(loginWarpper);
     }
     /**
-     * 手机验证码登录
+     * 手机一键登录
      * @param accessToken
      * @return
      */
@@ -334,19 +332,39 @@
             return ResultUtil.error("登录失败");
         }
         String phone = json.getJSONObject("data").getString("mobile");
-    
+
+        //调中台接口查询用户
+        List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
+        String onconUUID = null;
+        String nickName = this.getDefaultName();
+        if (null == infoByPhone || infoByPhone.isEmpty()) {
+            RegisterViaMobileRequest request = new RegisterViaMobileRequest();
+            request.setMobile(phone);
+            request.setEncryptType("aesbase64");
+            request.setPassword(AESUtils.encryptBase64("123456"));
+            request.setNickname(nickName);
+            RegisterViaMobile register = UserUtil.registerViaMobile(request);
+            if (!"0".equals(register.getStatus())) {
+                return ResultUtil.error(register.getDesc());
+            }
+            onconUUID = register.getOnconUUID();
+        }else{
+            onconUUID = UserUtil.getOnconUUIDByMobile(phone);
+        }
+
         UserInfo userInfo = userInfoMapper.queryByPhone(phone);
         if (null == userInfo) {
             userInfo = new UserInfo();
             userInfo.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png");
             userInfo.setPhone(phone);
             userInfo.setPassWord(ShiroKit.md5("", salt));
-            userInfo.setNickName(this.getDefaultName());
+            userInfo.setNickName(nickName);
             userInfo.setRegistIp(registIp);
             userInfo.setIsAuth(1);
             userInfo.setConsumption(0D);
             userInfo.setBalance(0D);
             userInfo.setState(1);
+            userInfo.setOnconUUID(onconUUID);
         
             //用户所属企业
             if(null != registAreaCode){
@@ -386,8 +404,6 @@
         loginWarpper.setEmergencyContact(userInfo.getEmergencyContact());
         loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber());
         loginWarpper.setPhone(2);
-    
-        //smsrecordService.saveData(1, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
         return ResultUtil.success(loginWarpper);
     }
     @Override
@@ -510,6 +526,9 @@
         loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber());
         return ResultUtil.success(loginWarpper);
     }
+
+
+
     @Override
     public ResultUtil<LoginWarpper> wxLogin(Integer type, String openid, String unionid, String jscode, String registIp,
                                             String registAreaCode, Integer sex, String nickName, String avatar,String loginType) throws Exception {
@@ -636,6 +655,10 @@
             openid = map.get("openid");
             unionid = map.get("unionid");
             sessionKey = map.get("sessionKey");
+            if(ToolUtil.isEmpty(phone)){
+                phone = getPhone(sessionKey, encryptedData, iv);
+            }
+
             if(ToolUtil.isNotEmpty(phone)){
                 List<UserInfo> phone1 = userInfoMapper.selectList(new EntityWrapper<UserInfo>().eq("phone", phone).eq("state",1).ne("flag",3));
                 if(phone1.size()>0){
@@ -647,22 +670,34 @@
             }else {
                 userInfo = userInfoMapper.queryByOpenid2(openid);
             }
-            System.out.println(userInfo);
-            if(ToolUtil.isEmpty(phone) && ToolUtil.isNotEmpty(userInfo) && ToolUtil.isEmpty(userInfo.getPhone())){
-                String phone1 = getPhone(sessionKey, encryptedData, iv);
-                userInfo.setPhone(phone1);
-                userInfoMapper.updateById(userInfo);
-            }
         }else{//APP
             userInfo = userInfoMapper.queryByOpenid(openid);
         }
+        //调中台接口查询用户
+        List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
+        String onconUUID = null;
+        nickName = this.getDefaultName();
+        if (null == infoByPhone || infoByPhone.isEmpty()) {
+            RegisterViaMobileRequest request = new RegisterViaMobileRequest();
+            request.setMobile(phone);
+            request.setEncryptType("aesbase64");
+            request.setPassword(AESUtils.encryptBase64("123456"));
+            request.setNickname(nickName);
+            RegisterViaMobile register = UserUtil.registerViaMobile(request);
+            if (!"0".equals(register.getStatus())) {
+                return ResultUtil.error(register.getDesc());
+            }
+            onconUUID = register.getOnconUUID();
+        }else{
+            onconUUID = UserUtil.getOnconUUIDByMobile(phone);
+        }
+
         int i =0;
         if(null == userInfo){
             userInfo = new UserInfo();
             userInfo.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png");
             if(ToolUtil.isEmpty(phone)){
-                String phone2 = getPhone(sessionKey, encryptedData, iv);
-                List<UserInfo> phone1 = userInfoMapper.selectList(new EntityWrapper<UserInfo>().eq("phone", phone2).eq("state",1).ne("flag",3));
+                List<UserInfo> phone1 = userInfoMapper.selectList(new EntityWrapper<UserInfo>().eq("phone", phone).eq("state",1).ne("flag",3));
                 if(phone1.size()>0){
                     userInfo = phone1.get(0);
                     userInfo.setUnionid(unionid);
@@ -670,7 +705,7 @@
                     userInfoMapper.updateById(userInfo);
                     i=1;
                 }else {
-                    userInfo.setPhone(phone2);
+                    userInfo.setPhone(phone);
                 }
             }else {
                 userInfo.setPhone(phone);
@@ -680,8 +715,9 @@
             userInfo.setRegistIp(registIp);
             userInfo.setSex(sex);
 
-            userInfo.setNickName(ToolUtil.isNotEmpty(nickName) ? nickName : this.getDefaultName());
+            userInfo.setNickName(nickName);
             userInfo.setAvatar(avatar);
+            userInfo.setOnconUUID(onconUUID);
 
            if(type == 2){
                userInfo.setAppletsOpenId(openid);
@@ -876,7 +912,7 @@
         }
         //调中台接口查询用户
         String onconUUID = null;
-                List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
+        List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
         if (null == infoByPhone || infoByPhone.isEmpty()) {
             RegisterViaMobileRequest request = new RegisterViaMobileRequest();
             request.setMobile(phone);
@@ -895,6 +931,7 @@
             if (!b) {
                 return ResultUtil.error("验证码无效");
             }
+            onconUUID = UserUtil.getOnconUUIDByMobile(phone);
         }
         UserInfo userInfo1 = userInfoMapper.queryByPhone(phone);
         if (null != userInfo1) {
@@ -1562,7 +1599,7 @@
         boolean passwordTrueFlag = md5CredentialsMatcher.doCredentialsMatch(
                 usernamePasswordToken, simpleAuthenticationInfo);
         String s = JwtTokenUtil.generateToken(String.valueOf(userInfo.getId()));
-        redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(userInfo.getId()), 180, TimeUnit.DAYS);
+        redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(userInfo.getId()), 30, TimeUnit.DAYS);
         redisTemplate.opsForValue().set("USER_" + type + "_" + userInfo.getPhone(), s.substring(s.length() - 32));
         redisTemplate.opsForValue().set("USER_" + type + "_" + userInfo.getId(), s);
         return s;
@@ -1640,7 +1677,7 @@
     
     
     @Override
-    public String addAppUser(String phone, String code, String areaCode) throws Exception {
+    public String addAppUser(String phone, String code, String areaCode, String onconUUID) throws Exception {
         UserInfo userInfo = userInfoMapper.queryByPhone(phone);
         String nickName = null;
         if (null == userInfo) {
@@ -1650,22 +1687,6 @@
         }
         //调中台接口查询用户
         List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
-        String onconUUID = null;
-        if (null == infoByPhone || infoByPhone.isEmpty()) {
-            RegisterViaMobileRequest request = new RegisterViaMobileRequest();
-            request.setMobile(phone);
-            request.setEncryptType("aesbase64");
-            request.setPassword(AESUtils.encryptBase64("123456"));
-            request.setNickname(nickName);
-            request.setVerify_code(code);
-            request.setVerify_code_type("0");
-            RegisterViaMobile register = UserUtil.registerViaMobile(request);
-            if (!"0".equals(register.getStatus())) {
-                return null;
-            }
-            onconUUID = register.getOnconUUID();
-        }
-    
         if (null == userInfo) {
             userInfo = new UserInfo();
             userInfo.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png");

--
Gitblit v1.7.1