From 30f124fbe2c638eecda3d74c6dde053af5d574f0 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 11 十月 2025 14:26:17 +0800 Subject: [PATCH] 提交代码 --- user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/AppUserServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 78 insertions(+), 7 deletions(-) diff --git a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/AppUserServiceImpl.java b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/AppUserServiceImpl.java index 8e80ece..da46130 100644 --- a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/AppUserServiceImpl.java +++ b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/AppUserServiceImpl.java @@ -23,6 +23,11 @@ import com.supersavedriving.user.modular.system.util.MallBook.model.QueryOrder; import com.supersavedriving.user.modular.system.util.MallBook.util.Transfer; import com.supersavedriving.user.modular.system.util.MallBook.util.TrhRequest; +import com.supersavedriving.user.modular.system.util.qianyuntong.AESUtils; +import com.supersavedriving.user.modular.system.util.qianyuntong.UserUtil; +import com.supersavedriving.user.modular.system.util.qianyuntong.model.QYTUserInfo; +import com.supersavedriving.user.modular.system.util.qianyuntong.model.RegisterViaMobile; +import com.supersavedriving.user.modular.system.util.qianyuntong.model.RegisterViaMobileRequest; import com.supersavedriving.user.modular.system.util.weChat.WXCore; import com.supersavedriving.user.modular.system.util.weChat.WeChatUtil; import com.supersavedriving.user.modular.system.util.weChat.model.Code2Session; @@ -143,8 +148,8 @@ if (passwordTrueFlag) { String token = JwtTokenUtil.generateToken(phone); String key = token; - if(token.length() > 16){ - key = token.substring(token.length() - 16); + if(token.length() > 32){ + key = token.substring(token.length() - 32); } redisUtil.setStrValue(key, appUser.getId().toString(), 94608000); redisUtil.setStrValue("USER_" + appUser.getPhone(), key, 94608000); @@ -189,7 +194,7 @@ if(null == appUser){ appUser = new AppUser(); appUser.setNickname("亲爱的用户"); - appUser.setAvatar("https://csxdj.obs.cn-south-1.myhuaweicloud.com:443/9af2cadb5d0d42d5b9da37f0c6789a66.png"); + appUser.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png"); appUser.setPhone(purePhoneNumber); appUser.setOpenid(openid); appUser.setUnionid(code2Session.getUnionid()); @@ -268,10 +273,41 @@ } String openid = code2Session.getOpenid(); AppUser appUser = this.selectOne(new EntityWrapper<AppUser>().eq("phone", phone).ne("status", 3)); + + String nickName = null; + if (null == appUser) { + nickName = this.getDefaultName(); + } else { + nickName = appUser.getNickname(); + } + //调中台接口查询用户 + 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 ResultUtil.error(register.getDesc()); + } + onconUUID = register.getOnconUUID(); + } else { + boolean b = AppUserUtil.checkCaptcha(phone, code); + if (!b) { + return ResultUtil.error("验证码无效"); + } + } + + if(null == appUser){ appUser = new AppUser(); appUser.setNickname("亲爱的用户"); - appUser.setAvatar("https://csxdj.obs.cn-south-1.myhuaweicloud.com:443/9af2cadb5d0d42d5b9da37f0c6789a66.png"); + appUser.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png"); appUser.setPhone(phone); appUser.setOpenid(openid); appUser.setUnionid(code2Session.getUnionid()); @@ -283,8 +319,11 @@ appUser.setInviterId(verificationCodeLogin.getInviterId()); appUser.setInviterType(verificationCodeLogin.getInviterType()); } + if(null != onconUUID){ + appUser.setOnconUUID(onconUUID); + } //同步用户数据到打车系统 - String s = AppUserUtil.addUser(phone, code, verificationCodeLogin.getAreaCode()); + String s = AppUserUtil.addUser(phone, code, verificationCodeLogin.getAreaCode(), onconUUID); if(ToolUtil.isEmpty(s)){ return ResultUtil.error("登录失败"); } @@ -517,16 +556,38 @@ ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = servletRequestAttributes.getRequest(); String requestHeader = request.getHeader(JwtConstants.AUTH_HEADER); + String custom = request.getHeader("custom-header"); if (ToolUtil.isNotEmpty(requestHeader) && requestHeader.startsWith("Bearer ")) { requestHeader = requestHeader.substring(requestHeader.indexOf(" ") + 1); String key = null; int length = requestHeader.length(); - if(length > 16){ - key = requestHeader.substring(length - 16); + if(length > 32){ + key = requestHeader.substring(length - 32); }else{ key = requestHeader; } String value = redisUtil.getValue(key); + //从打车系统直接带过来的token + if(ToolUtil.isNotEmpty(custom) && "1".equals(custom)){ + AppUser appUser = this.selectOne(new EntityWrapper<AppUser>().eq("taxiUserId", value)); + if(null != appUser){ + value = appUser.getId().toString(); + }else{ + String userPhone = AppUserUtil.getUserPhone(Integer.valueOf(value)); + //创建新的用户 + appUser = new AppUser(); + appUser.setNickname("亲爱的用户"); + appUser.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png"); + appUser.setPhone(userPhone); + appUser.setAccountBalance(0D); + appUser.setStatus(1); + appUser.setCreateTime(new Date()); + appUser.setIsException(1); + appUser.setTaxiUserId(Integer.valueOf(value)); + this.insert(appUser); + } + } + return null != value ? Integer.valueOf(value) : null; }else{ return null; @@ -755,4 +816,14 @@ public List<CouponsWarpper> queryMyCoupons(Integer uid, Integer state, Integer pageNum, Integer pageSize) throws Exception { return null; } + + + /** + * 获取默认名称 + * @return + */ + public String getDefaultName(){ + int num = this.selectCount(new EntityWrapper<AppUser>().ne("status", 3)) + 1000001; + return "GRJY-DJ" + String.valueOf(num).substring(1); + } } -- Gitblit v1.7.1