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