From 4fc49f3f06e9bb6275045d32245469816b451a4c Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期二, 23 七月 2024 09:57:26 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/zbomyoujia
---
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 39 insertions(+), 8 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
index 4518fe5..b5d2af7 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
@@ -1,6 +1,7 @@
package com.doumee.service.business.impl;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
+import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.hutool.core.date.DateUnit;
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
@@ -34,6 +35,7 @@
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.reqeust.EditUsersRequest;
import com.doumee.dao.web.reqeust.ContentShareImgDto;
+import com.doumee.dao.web.reqeust.WxPhoneRequest;
import com.doumee.dao.web.response.AccountResponse;
import com.doumee.service.business.UsersService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -362,9 +364,10 @@
// }
// smsEmailMapper.updateById(model);
//鍒涘缓token
- JwtPayLoad payLoad = new JwtPayLoad(users.getId(),Constants.ONE);
- String token = JwtTokenUtil.generateToken(payLoad);
- redisTemplate.opsForValue().set(ZTConstants.BUSINESS+"_"+users.getId(),token);
+// JwtPayLoad payLoad = new JwtPayLoad(users.getId(),Constants.ONE);
+// String token = JwtTokenUtil.generateToken(payLoad);
+// redisTemplate.opsForValue().set(ZTConstants.BUSINESS+"_"+users.getId(),token);
+ String token = JwtTokenUtil.generateTokenForZb(users.getId(),ZTConstants.BUSINESS,JSONObject.toJSON(users).toString(),redisTemplate);
AccountResponse accountResponse = new AccountResponse();
accountResponse.setToken(token);
accountResponse.setUsers(users);
@@ -384,6 +387,7 @@
accountResponse.setSessionKey(session.getSessionKey());
Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda().eq(Users::getOpenid,openId).last("limit 1"));
if(Objects.isNull(users)){
+ accountResponse.setSessionKey(session.getSessionKey());
return accountResponse;
}
if(!Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){
@@ -395,11 +399,10 @@
users.setOpenid(openId);
usersMapper.updateById(users);
//鍒涘缓token
- JwtPayLoad payLoad = new JwtPayLoad(users.getId(),Constants.ONE);
- String token = JwtTokenUtil.generateToken(payLoad);
- redisTemplate.opsForValue().set(ZTConstants.BUSINESS+"_"+users.getId(),token);
+ String token = JwtTokenUtil.generateTokenForZb(users.getId(),ZTConstants.BUSINESS,users.getId()+"",redisTemplate);
accountResponse.setToken(token);
getUsersDetail(users);
+ accountResponse.setSessionKey(session.getSessionKey());
accountResponse.setUsers(users);
return accountResponse;
} catch (WxErrorException e) {
@@ -407,6 +410,34 @@
}
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
}
+
+ @Override
+ public AccountResponse getWxMiniPhoneLogin(WxPhoneRequest wxPhoneRequest){
+ try {
+ WxMaPhoneNumberInfo userPhoneInfo = WxMiniConfig.wxPersonnelService.getUserService().getPhoneNoInfo(
+ wxPhoneRequest.getSessionKey(), wxPhoneRequest.getEncryptedData(), wxPhoneRequest.getIv());
+ //鑾峰彇鎵嬫満鍙�
+ String phone= userPhoneInfo.getPurePhoneNumber();
+ if(Objects.isNull(phone)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈幏鍙栧埌鎵嬫満鍙�");
+ }
+ Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda()
+ .eq(Users::getPhone,phone).last("limit 1"));
+ AccountResponse accountResponse = new AccountResponse();
+ accountResponse.setPhone(phone);
+ if(Objects.isNull(users)){
+ return accountResponse;
+ }
+ accountResponse.setUsers(users);
+ String token = JwtTokenUtil.generateTokenForZb(users.getId(),ZTConstants.BUSINESS,users.getId()+"",redisTemplate);
+ accountResponse.setToken(token);
+ return accountResponse;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏇存柊鎵嬫満鍙峰け璐�");
+ }
+
@Override
@@ -836,13 +867,13 @@
@Override
- public ZTBaseRequst logOff(Long userId){
+ public ZTBaseRequst logOff(Long userId,String token){
Users users = usersMapper.selectById(userId);
if(Objects.isNull(users)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
if(StringUtils.isBlank(users.getOpenid())){
- redisTemplate.delete(ZTConstants.BUSINESS+"_"+ users.getId());
+ redisTemplate.delete(token);
return null;
}
//鏍¢獙鐢ㄦ埛token淇℃伅
--
Gitblit v1.9.3