liujie
2025-06-18 c6ebbc7a11ca228addb0cca7c5f34d2d5ae3249b
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java
@@ -98,9 +98,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 +121,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();
@@ -135,20 +142,26 @@
            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;
    }