From 6cc73131f4774219cdf41fe3149ff425d17ad160 Mon Sep 17 00:00:00 2001
From: Null <281575458@qq.com>
Date: 星期五, 19 三月 2021 11:02:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java | 89 ++++++++++++++++++++++++++++----------------
1 files changed, 57 insertions(+), 32 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 9a6aff8..ec5d5af 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
@@ -4,19 +4,27 @@
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
+import com.alibaba.fastjson.JSONObject;
import com.panzhihua.applets.config.WxMaConfiguration;
import com.panzhihua.applets.model.vos.LoginRequest;
import com.panzhihua.common.model.vos.LoginReturnVO;
+import com.panzhihua.common.model.vos.community.ComActVO;
+import com.panzhihua.common.model.vos.community.ComMngStructAreaVO;
+import com.panzhihua.common.model.vos.user.SysUserAgreementVO;
import com.panzhihua.common.service.auth.TokenService;
+import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.exceptions.UnAuthenticationException;
import com.panzhihua.common.exceptions.WeiXinException;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.validated.AddGroup;
+import com.panzhihua.common.validated.PutGroup;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -37,6 +45,8 @@
private WxMaConfiguration wxMaConfiguration;
@Resource
private TokenService tokenService;
+ @Resource
+ private CommunityService communityService;
@ApiOperation(value = "登录" ,response =LoginReturnVO.class )
@PostMapping("login")
@@ -45,53 +55,48 @@
if (ObjectUtils.isEmpty(code)) {
return R.fail("缺少登录参数");
}
+ log.info(code);
WxMaService maService = wxMaConfiguration.getMaService();
WxMaJscode2SessionResult sessionInfo=null;
try {
sessionInfo = maService.getUserService().getSessionInfo(code);
} catch (Exception e) {
log.error("微信登录失败【{}】", e.getMessage());
- sessionInfo=new WxMaJscode2SessionResult();
- sessionInfo.setOpenid("88888888");
- sessionInfo.setSessionKey("9999999");
- sessionInfo.setUnionid("44444444");
+ if (code.equals("22")) {
+ sessionInfo=new WxMaJscode2SessionResult();
+ sessionInfo.setOpenid("88888888");
+ sessionInfo.setSessionKey("9999999");
+ }else{
+ return R.fail("微信登录失败");
+ }
}
+ log.info("微信登录成功【{}】", JSONObject.toJSONString(sessionInfo));
String openid = sessionInfo.getOpenid();
String sessionKey = sessionInfo.getSessionKey();
String unionid = sessionInfo.getUnionid();
+ if (ObjectUtils.isEmpty(unionid)) {
+ unionid="无";
+ }
userService.addOrUpdate(openid,sessionKey,unionid);
- R r = tokenService.loginApplets(openid);
- return r;
+ return tokenService.loginApplets(openid);
}
@ApiOperation(value = "维护用户基本信息(昵称、性别、头像)")
@PostMapping("updateUserWeiXinInfo")
public R updateUserWeiXinInfo(@RequestBody LoginRequest loginRequest){
- String encryptedData = loginRequest.getEncryptedData();
- String iv = loginRequest.getIv();
- boolean empty = ObjectUtils.isEmpty(iv);
- boolean empty1 = ObjectUtils.isEmpty(encryptedData);
- if (empty||empty1) {
- return R.fail("微信用户参数不全");
- }
- WxMaService maService = wxMaConfiguration.getMaService();
Long userId = this.getUserId();
boolean empty2 = ObjectUtils.isEmpty(userId);
if (empty2) {
throw new UnAuthenticationException();
}
- R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
- LoginUserInfoVO loginUserInfoVO =r.getData();
- WxMaUserInfo wxUserInfo = maService.getUserService().getUserInfo(loginUserInfoVO.getSessionKey(),
- encryptedData, iv);
+ WxMaUserInfo wxUserInfo = loginRequest.getUserInfo();
if (null == wxUserInfo) {
- throw new WeiXinException("微信解析基本信息失败");
+ return R.fail("缺少基本信息参数");
}
String avatarUrl = wxUserInfo.getAvatarUrl();
String gender = wxUserInfo.getGender();
String nickName = wxUserInfo.getNickName();
- R r1=userService.updateUserWeiXinInfo(userId,nickName,Integer.parseInt(gender),avatarUrl);
- return r1;
+ return userService.updateUserWeiXinInfo(userId,nickName,Integer.parseInt(gender),avatarUrl);
}
@ApiOperation(value = "维护微信用户手机号")
@@ -106,20 +111,15 @@
}
WxMaService maService = wxMaConfiguration.getMaService();
Long userId = this.getUserId();
- boolean empty2 = ObjectUtils.isEmpty(userId);
- if (empty2) {
- throw new UnAuthenticationException();
- }
R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
LoginUserInfoVO loginUserInfoVO = r.getData();
WxMaPhoneNumberInfo wxMaPhoneNumberInfo = maService.getUserService().getPhoneNoInfo(loginUserInfoVO.getSessionKey(),
encryptedData, iv);
if (ObjectUtils.isEmpty(wxMaPhoneNumberInfo) || ObjectUtils.isEmpty(wxMaPhoneNumberInfo.getPhoneNumber())) {
- throw new WeiXinException("微信解析手机号失败");
+ return R.fail("微信解析手机号失败");
}
String purePhoneNumber = wxMaPhoneNumberInfo.getPurePhoneNumber();
- R r1=userService.updateUserWeiXinPhone(userId,purePhoneNumber);
- return r1;
+ return userService.updateUserWeiXinPhone(userId,purePhoneNumber);
}
@ApiOperation(value = "用户登出")
@@ -130,16 +130,41 @@
if (empty2) {
return R.ok();
}
- R r=tokenService.logout(token);
- return r;
+ return tokenService.logout(token);
}
@ApiOperation(value = "刷新token",response = LoginReturnVO.class)
@GetMapping("refreshToken")
@ApiImplicitParam(name ="refreshToken",value = "登录返回的刷新token")
public R refreshToken(@RequestParam("refreshToken")String refreshToken){
- R r=tokenService.refreshToken(refreshToken);
- return r;
+ return tokenService.refreshToken(refreshToken);
}
+ @ApiOperation(value = "查询社区")
+ @PostMapping("listcommunity")
+ public R listCommunity(@RequestBody ComActVO comActVO){
+ return communityService.listCommunity(comActVO);
+ }
+
+ @ApiOperation(value = "查询小区",response = ComMngStructAreaVO.class)
+ @GetMapping("listarea")
+ @ApiImplicitParam(name ="communityId",value = "社区id",required = true)
+ public R listArea(@RequestParam("communityId") Long communityId){
+ return communityService.listArea(communityId);
+ }
+
+ @ApiOperation(value = "用户绑定社区、小区")
+ @PutMapping("putusercommunityarea")
+ public R putUserCommunityArea(@RequestBody @Validated(PutGroup.class) LoginUserInfoVO loginUserInfoVO){
+ Long userId = this.getUserId();
+ loginUserInfoVO.setUserId(userId);
+ return userService.putUserCommunityArea(loginUserInfoVO);
+ }
+
+ @ApiOperation(value = "用户协议和隐私政策",response = SysUserAgreementVO.class)
+ @GetMapping("useragreement")
+ public R userAgreement(){
+ int type=1;
+ return userService.userAgreement(type);
+ }
}
--
Gitblit v1.7.1