Bläddra i källkod

因苹果审核问题,开启免登录

xw 4 dagar sedan
förälder
incheckning
1feb5e84f6

+ 39 - 3
fs-user-app/src/main/java/com/fs/app/controller/AppLoginController.java

@@ -360,18 +360,54 @@ public class AppLoginController extends AppBaseController{
             // 根据苹果key查询用户
             FsUser user = userMapper.findUserByAppleKey(param.getAppleKey());
             Map<String, Object> map = new HashMap<>();
+            // 因苹果审核问题, 如果开关打开 则创建新用户 ,若开关关闭需要校验 unionId
+            String key="appleCheckFlag";
+            Boolean flag =redisCache.getCacheObject(key);
+            if(flag==null){
+                flag =false; // 默认关闭
+            }
+
             if (user == null) {
-                map.put("isNew", true);
-                return R.ok(map);
+                if( flag){
+                    user = new FsUser();
+                    user.setLoginDevice(param.getLoginDevice()!=null ? param.getLoginDevice() : null);
+                    user.setSource(param.getSource()!=null ? param.getSource() : null);
+                    user.setAppleKey(param.getAppleKey());
+                    user.setNickName("苹果用户");
+                    user.setCreateTime(new Date());
+                    user.setFirstLoginAppTime(new Date());
+                    user.setStatus(1);
+                    user.setAvatar("https://cos.his.cdwjyyh.com/fs/20240926/420728ee06e54575ba82665dedb4756b.png");
+                    if (StringUtils.isNotEmpty(param.getJpushId())) {
+                        user.setJpushId(param.getJpushId());
+                    }
+                    userService.insertFsUser(user);
+                }else {
+                    map.put("isNew", true); // 新账户,使用微信登录绑定appleKey
+                    return R.ok(map);
+                }
             } else {
                 if (StringUtils.isNotEmpty(param.getJpushId())) {
                     updateExistingUserJpushId(user, param.getJpushId());
+                    try {
+                        //发送注册优惠券
+                        fsUserCouponService.sendRegisterCoupon(user);
+                    } catch (Exception e) {
+                        logger.error("发送注册优惠券失败:{}",e.getMessage());
+                    }
                 }
-                if (StringUtils.isEmpty(user.getPhone())) {
+                // 审核通过后才校验
+                if (!flag && StringUtils.isEmpty(user.getUnionId())) {
                     map.put("isNew", true);
                     return R.ok(map);
                 }
             }
+            if(user.getFirstLoginAppTime()== null){
+                FsUser update = new FsUser();
+                update.setFirstLoginAppTime(new Date());
+                update.setUserId(user.getUserId());
+                userService.updateFsUser(update);
+            }
             /*if (user.getStatus()==0){
                 return R.error("登录失败,账户被禁用");
             }*/