From 281c6016ab0ea5b2eeecb9167d9ee690b6fdac1f Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 04 七月 2025 17:17:06 +0800 Subject: [PATCH] 三方对接 --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java | 33 +++++++++++++++++++++++++-------- 1 files changed, 25 insertions(+), 8 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java index eebaf23..9dbf926 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java @@ -11,6 +11,7 @@ import com.ruoyi.common.core.domain.model.LoginBody; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.utils.AliSmsUtil; import com.ruoyi.common.utils.NumberUtil; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; @@ -98,9 +99,15 @@ tbUser.setPhone(loginBody.getPhone()); tbUser.setStatus(1); tbUser.setUserName(loginBody.getPhone()); - tbUser.setInviteId(loginBody.getInviteId()); + tbUser.setInviteId(loginBody.getInviteUserId()); tbUserService.save(tbUser); user = tbUser; + ajax.put("firstRegister",1); + }else { + ajax.put("firstRegister",0); + if(StringUtils.isEmpty(user.getInviteId()) && !StringUtils.isEmpty(loginBody.getInviteUserId())){ + user.setInviteId(loginBody.getInviteUserId()); + } } LoginUser loginUser = new LoginUser(); loginUser.setUserId(Long.valueOf(user.getId())); @@ -115,6 +122,7 @@ @PostMapping("/openIdByJsCode") public AjaxResult openIdByJsCode(@RequestBody AppletUserEncrypteData data) { log.info("<<<<<<<<换取openid开始<<<<<<<<:{}", data.getCode()); + AjaxResult ajax = AjaxResult.success(); WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig, redisService); Code2SessionRespBody body = appletTools.getOpenIdByJscode2session(new Code2SessionResqBody().build(data.getCode())); String openid = body.getOpenid(); @@ -129,26 +137,32 @@ if (user==null){ user = new TbUser(); user.setPhone(appletUserDecodeData.getPhoneNumber()); - user.setAvatar(appletUserDecodeData.getAvatarUrl()); - user.setUserName(appletUserDecodeData.getNickName()); + user.setAvatar("https://yizhengcheng.oss-cn-chengdu.aliyuncs.com/img/18dfce33c55644d38abdb88b57db906f.png"); + user.setUserName(appletUserDecodeData.getPhoneNumber()); user.setOpenId(appletUserDecodeData.getOpenId()); user.setInviteId(data.getInviteUserId()); user.setStatus(1); tbUserService.save(user); + ajax.put("firstRegister",1); }else { + ajax.put("firstRegister",0); + if(StringUtils.isEmpty(user.getInviteId()) && !StringUtils.isEmpty(data.getInviteUserId())){ + user.setInviteId(data.getInviteUserId()); + } user.setOpenId(appletUserDecodeData.getOpenId()); user.updateById(); } if(user.getStatus()==2){ return AjaxResult.error("登录失败,当前账号已被冻结"); } - AjaxResult ajax = AjaxResult.success(); + LoginUser loginUser = new LoginUser(); loginUser.setUserId(Long.valueOf(user.getId())); loginUser.setUser(new SysUser()); ajax.put(Constants.TOKEN, tokenService.createToken(loginUser)); ajax.put("username",user.getUserName()); ajax.put("avatar",user.getAvatar()); + return ajax; } @@ -184,19 +198,22 @@ String code = NumberUtil.getRandomInteger(6); redisService.setCacheObject("login_"+phone, code, 5L, TimeUnit.MINUTES); // 发送验证码 - - + try { + AliSmsUtil.sendSuccessMessage(phone,code); + }catch (Exception e) { + e.printStackTrace(); + return R.fail(e.getMessage()); + } return R.ok(); } @ApiOperation(value = "获取协议 1=用户协议,2=隐私协议",tags = {"登录模块"}) - @GetMapping("/getAgreement/{type}") + @GetMapping("/getAgreement") public R<List<TbAgreement>> getAgreement() { List<TbAgreement> list = agreementService.list(new LambdaQueryWrapper<TbAgreement>().in(TbAgreement::getType, 1, 2)); return R.ok(list); } - -- Gitblit v1.7.1