From 185f5dc7c3c49f565da51cd9c2f7750f30990d4a Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 11 十一月 2024 13:28:29 +0800
Subject: [PATCH] 代码提交

---
 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java |   70 ++++++++++++++++++++---------------
 1 files changed, 40 insertions(+), 30 deletions(-)

diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java
index 90bf7d5..dca7cd9 100644
--- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java
+++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/service/impl/AppUserServiceImpl.java
@@ -98,6 +98,7 @@
         String randomCode = String.valueOf((int) ((Math.random() * 9 + 1) * 1000));
         appUser.setCode("YH"+format+randomCode);
         this.save(appUser);
+        initUserTree(appUser.getId());
         return appUser;
     }
 
@@ -121,6 +122,12 @@
                 throw new ServiceException("账号已被冻结");
             }
             sysUser = sysUserClient.getSysUser(appUser.getUserId()).getData();
+            appUser.setAvatar(body.getHeadImgUrl());
+            appUser.setWxName(body.getNickname());
+            if (appUser.getCellPhone()!=null){
+                appLoginUser.setBindStatus(DisabledEnum.NO.getCode());
+                appLoginUser.setCellPhone(appUser.getCellPhone());
+            }
         } else {
             // 不存在账户,创建账户
             // 注册用户信息
@@ -145,8 +152,10 @@
             appUser.setWxOpenId(body.getWxOpenId());
             String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6);
             sysUser.setNickName(nickname);
+            appUser.setNickname(nickname);
+            appUser.setWxName(body.getNickname());
             appUser.setAvatar(body.getHeadImgUrl());
-            appUser.setGender(body.getSex());
+            appUser.setGender(3);
             appUser.setBalance(BigDecimal.ZERO);
             appUser.setSanskritFlag(DisabledEnum.NO.getCode());
             appUser.setBalance(BigDecimal.ZERO);
@@ -154,6 +163,7 @@
             appUser.setTotalEnergyValue(0);
             appUser.setRegisterTime(LocalDateTime.now());
             appUser.setLevelSettingId(TreeLevelEnum.SEED.getCode());
+            appLoginUser.setBindStatus(DisabledEnum.YES.getCode());
             this.save(appUser);
             // 初始化用户树苗
             initUserTree(appUser.getId());
@@ -162,10 +172,10 @@
         appLoginUser.setUsername(appUser.getNickname());
         appLoginUser.setAppUserId(appUser.getId());
         appLoginUser.setSysUser(sysUser);
-        if (Objects.nonNull(sysUser.getUserName())) {
-            appLoginUser.setBindStatus(DisabledEnum.YES.getCode());
-            appLoginUser.setCellPhone(appUser.getCellPhone());
-        }
+        this.updateById(appUser);
+//        if (Objects.nonNull(sysUser.getUserName())) {
+//            appLoginUser.setCellPhone(appUser.getCellPhone());
+//        }
         return appLoginUser;
     }
 
@@ -179,14 +189,21 @@
         // 存在账户,查询关联系统用户
         if (optionalAppUser.isPresent()) {
             appUser = optionalAppUser.get();
+            if (appUser.getUserStatus().equals(AppUserStatusEnum.FROZEN.getCode())) {
+                throw new ServiceException("账号已被冻结");
+            }
             sysUser = sysUserClient.getSysUser(appUser.getUserId()).getData();
+            if (appUser.getCellPhone()!=null){
+                appLoginUser.setBindStatus(DisabledEnum.NO.getCode());
+                appLoginUser.setCellPhone(appUser.getCellPhone());
+            }
         } else {
             // 不存在账户,创建账户
             // 注册用户信息
             sysUser = new SysUser();
             String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6);
             sysUser.setNickName(nickname);
-            sysUser.setAvatar("qwer");
+            sysUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg");
             sysUser.setUserName(nickname);
             sysUser.setUserType("01"); // app用户
             R<SysUser> registerResult = remoteUserService.registerAppUserInfo(sysUser,
@@ -199,7 +216,7 @@
             appUser.setAppleId(appleId);
             appUser.setUserId(sysUserRes.getUserId());
             appUser.setNickname(nickname);
-            appUser.setAvatar("qwer"); // TODO 待完善默认头像
+            appUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); // TODO 待完善默认头像
             appUser.setBalance(BigDecimal.ZERO);
             appUser.setSanskritFlag(DisabledEnum.NO.getCode());
             appUser.setBalance(BigDecimal.ZERO);
@@ -220,10 +237,10 @@
         appLoginUser.setUsername(appUser.getNickname());
         appLoginUser.setAppUserId(appUser.getId());
         appLoginUser.setSysUser(sysUser);
-        if (Objects.nonNull(sysUser.getUserName())) {
-            appLoginUser.setBindStatus(DisabledEnum.YES.getCode());
-            appLoginUser.setCellPhone(appUser.getCellPhone());
-        }
+//        if (Objects.nonNull(sysUser.getUserName())) {
+//            appLoginUser.setBindStatus(DisabledEnum.YES.getCode());
+//            appLoginUser.setCellPhone(appUser.getCellPhone());
+//        }
         return appLoginUser;
     }
 
@@ -249,7 +266,7 @@
             sysUser = new SysUser();
             String nickname = "用户" + IdUtil.fastSimpleUUID().substring(0, 6);
             sysUser.setNickName(nickname);
-            sysUser.setAvatar("qwer");
+            sysUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg");
             sysUser.setUserName(body.getCellPhone());
             sysUser.setUserType("01"); // app用户
             // 设置默认密码123456
@@ -265,7 +282,7 @@
             appUser.setUserId(sysUserRes.getUserId());
             appUser.setNickname(nickname);
             appUser.setCellPhone(body.getCellPhone());
-            appUser.setAvatar("qwer"); // TODO 待完善默认头像
+            appUser.setAvatar("https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/Logo%E7%A1%AE%E8%AE%A4%E7%89%88%281%29.jpg"); // TODO 待完善默认头像
             appUser.setBalance(BigDecimal.ZERO);
             appUser.setSanskritFlag(DisabledEnum.NO.getCode());
             appUser.setBalance(BigDecimal.ZERO);
@@ -302,6 +319,7 @@
         appUserTree.setTreeLevelType(TreeLevelEnum.SEED.getCode());
         appUserTree.setGrowthValue(0);
         appUserTree.setSowAgain(2);
+        appUserTree.setTime(LocalDateTime.now());
         appUserTreeService.save(appUserTree);
     }
 
@@ -323,6 +341,12 @@
         // 如果存在 更新wxOpenId 或appleId
         if (baseOptionalAppUser.isPresent()) {
             appUser = baseOptionalAppUser.get();
+            if (appUser.getWxOpenId() !=null){
+                throw new ServiceException("该手机号已绑定其他微信号,请更换手机号重新绑定");
+            }
+            if (appUser.getAppleId() !=null){
+                throw new ServiceException("该手机号已绑定其他苹果号,请更换手机号重新绑定");
+            }
             switch (body.getLoginType()){
                 case 1:
                     this.remove(new LambdaQueryWrapper<AppUser>()
@@ -368,10 +392,8 @@
             }
             sysUser.setUserName(body.getCellPhone());
             sysUser.setPassword(
-                    SecurityUtils.encryptPassword(
-                            SecureUtil.md5(Constants.DEFAULT_PASSWORD).toUpperCase(
-                                    Locale.ROOT)))
-            ; // 默认密码为123456
+                    SecurityUtils.encryptPassword(Constants.DEFAULT_PASSWORD))
+            ; // 默认密码为a12345678
             sysUser.setPhonenumber(body.getCellPhone());
             sysUserClient.updateSysUser(sysUser);
         }
@@ -441,19 +463,7 @@
         List<AppUserQuestion> appUserQuestionYesList = appUserQuestionList.stream()
                 .filter(appUserQuestion -> appUserQuestion.getAnswer().equals("1")
                         || appUserQuestion.getAnswer().equals("3")).collect(Collectors.toList());
-        StringBuilder sb = new StringBuilder();
-        // 使用 StringBuilder 提高字符串拼接效率
-        if (CollUtils.isNotEmpty(appUserQuestionYesList)) {
-            List<Long> tagIdList = appUserQuestionYesList.stream()
-                    .map(appUserQuestion -> Objects.requireNonNull(AnswerTagEnum.getEnumByCode(appUserQuestion.getType()))
-                            .getTagId()).collect(Collectors.toList());
-            if (CollUtils.isNotEmpty(tagIdList)) {
-                sb.append(CollUtils.join(tagIdList, ","));
-            }
-        }
-        sb.append(",");
-        sb.append(dto.getTagIds());
-        appUser.setTagId(sb.toString());
+        appUser.setTagId(dto.getTagIds());
         this.updateById(appUser);
     }
 

--
Gitblit v1.7.1