From f82821e697cb59bcdf5a0b77dd8eedfadfbe77ae Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期三, 01 十二月 2021 14:31:23 +0800 Subject: [PATCH] 房屋租赁相关代码提交 --- springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java | 40 +++++++++++++++++++++++++++++++++++----- 1 files changed, 35 insertions(+), 5 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java index 67f8aa2..b8191d8 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java @@ -2,9 +2,15 @@ import javax.annotation.Resource; +import org.apache.commons.lang3.StringUtils; import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import com.alibaba.fastjson.JSONObject; import com.panzhihua.applets.config.WxMaConfiguration; @@ -73,16 +79,40 @@ } } log.info("微信登录成功【{}】", JSONObject.toJSONString(sessionInfo)); + log.info("loginRequest参数【{}】", JSONObject.toJSONString(loginRequest)); String openid = sessionInfo.getOpenid(); String sessionKey = sessionInfo.getSessionKey(); - String unionid = sessionInfo.getUnionid(); - if (ObjectUtils.isEmpty(unionid)) { - unionid = "无"; + // 解密用户信息 + WxMaUserInfo wxUserInfo = maService.getUserService().getUserInfo(sessionKey, + loginRequest.getEncryptedData(), loginRequest.getIv()); + log.info("wxUserInfo信息【{}】", JSONObject.toJSONString(wxUserInfo)); + if (null == wxUserInfo) { + return R.fail("获取用户信息失败"); } - userService.addOrUpdate(openid, sessionKey, unionid); + String unionId = wxUserInfo.getUnionId(); + if (ObjectUtils.isEmpty(unionId)) { + unionId = "无"; + } + userService.addOrUpdate(openid, sessionKey, unionId); return tokenService.loginApplets(openid); } + @ApiOperation(value = "H5登录", response = LoginReturnVO.class) + @PostMapping("loginH5") + public R loginH5(@RequestBody LoginRequest loginRequest) { + String unionId = loginRequest.getUnionId(); + if (StringUtils.isBlank(unionId)) { + return R.fail("缺少基本信息参数"); + } + //通过unionId去匹配user + R r1 = userService.getUserInfoByUnionId(unionId); + if (R.isOk(r1)) { + LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(r1.getData()), LoginUserInfoVO.class); + return tokenService.loginApplets(loginUserInfoVO.getOpenid()); + } + return r1; + } + @ApiOperation(value = "维护用户基本信息(昵称、性别、头像)") @PostMapping("updateUserWeiXinInfo") public R updateUserWeiXinInfo(@RequestBody LoginRequest loginRequest) { -- Gitblit v1.7.1