From 678115e978e2eac37874363d89d6db1d9a12f4ec Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 22 七月 2024 18:29:31 +0800
Subject: [PATCH] 代码提交
---
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java | 87 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 78 insertions(+), 9 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 8d32d0b..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,11 +1,15 @@
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;
+import com.doumee.biz.zbom.ZbomZhongTaiService;
import com.doumee.biz.zbom.model.IamUserRoleModel;
import com.doumee.biz.zbom.model.IamUserTypeModel;
+import com.doumee.biz.zbom.model.zhongtai.ZTBaseRequst;
+import com.doumee.biz.zbom.model.zhongtai.ZTConstants;
import com.doumee.config.Jwt.JwtPayLoad;
import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.core.annotation.excel.ExcelImporter;
@@ -21,6 +25,7 @@
import com.doumee.core.utils.tyyun.TyyZosUtil;
import com.doumee.dao.admin.request.ShopImport;
import com.doumee.dao.admin.request.UserImport;
+import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.ShopMapper;
import com.doumee.core.wx.WxMiniConfig;
import com.doumee.dao.business.SmsEmailMapper;
@@ -30,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;
@@ -81,6 +87,11 @@
private SmsEmailMapper smsEmailMapper;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private MemberMapper memberMapper;
+
+ @Autowired
+ private ZbomZhongTaiService zbomZhongTaiService;
@Override
public Long create(Users users) {
@@ -323,12 +334,12 @@
}
Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda().eq(Users::getPhone,phone).last("limit 1"));
if(Objects.isNull(users)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌璐︽埛淇℃伅");
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅涓嶅瓨鍦紒");
}
if(!Constants.equalsInteger(users.getIsdeleted(), Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠璐︽埛宸插垹闄�");
}
- if(!StringUtils.equals(users.getStatus(),Constants.ZERO+"")){
+ if(StringUtils.equals(users.getStatus(),Constants.ZERO+"")){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠璐︽埛宸插仠鐢紝璇疯仈绯荤鐞嗗憳");
}
//楠岃瘉鐭俊
@@ -353,8 +364,10 @@
// }
// smsEmailMapper.updateById(model);
//鍒涘缓token
- JwtPayLoad payLoad = new JwtPayLoad(users.getId(),Constants.ONE);
- String token = JwtTokenUtil.generateToken(payLoad);
+// 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);
@@ -374,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)){
@@ -382,10 +396,13 @@
if(!StringUtils.equals(users.getStatus(),Constants.ZERO+"")){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠璐︽埛宸插仠鐢紝璇疯仈绯荤鐞嗗憳");
}
+ users.setOpenid(openId);
+ usersMapper.updateById(users);
//鍒涘缓token
- JwtPayLoad payLoad = new JwtPayLoad(users.getId(),Constants.ONE);
- String token = JwtTokenUtil.generateToken(payLoad);
+ 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) {
@@ -393,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
@@ -743,7 +788,7 @@
if(Objects.isNull(users)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){
+ if(!Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛宸茬鐢�");
}
getUsersDetail(users);
@@ -756,7 +801,7 @@
if(Objects.isNull(users)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){
+ if(!Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛宸茬鐢�");
}
getUsersDetail(users);
@@ -821,7 +866,31 @@
-
+ @Override
+ 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(token);
+ return null;
+ }
+ //鏍¢獙鐢ㄦ埛token淇℃伅
+ MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,users.getId(), ZTConstants.BUSINESS);
+ //璋冭捣涓彴娉ㄩ攢鎺ュ彛
+ ZTBaseRequst ztBaseRequst = new ZTBaseRequst();
+ ztBaseRequst.setUserType(ZTConstants.BUSINESS);
+ ztBaseRequst.setOpenId(users.getOpenid());
+ ztBaseRequst.setToken(users.getToken());
+ usersMapper.update(new UpdateWrapper<Users>().lambda()
+ .set(Users::getOpenid,null)
+ .set(Users::getEditDate,new Date())
+ .eq(Users::getId,users.getId())
+ );
+ redisTemplate.delete(ZTConstants.BUSINESS+"_"+ users.getId());
+ return ztBaseRequst;
+ }
}
--
Gitblit v1.9.3