From 20b11236b4364034f52df294b9240776f539ede1 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期二, 16 七月 2024 14:49:01 +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/MemberServiceImpl.java | 114 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 77 insertions(+), 37 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index 18e6aa8..9dce68e 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -18,11 +18,14 @@ import com.doumee.core.oss.FileModel; import com.doumee.core.utils.CodeVerifyUtils; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.core.wx.WxMiniConfig; import com.doumee.dao.business.MemberMapper; +import com.doumee.dao.business.UsersMapper; import com.doumee.dao.business.model.InterfaceLog; import com.doumee.dao.business.model.Member; +import com.doumee.dao.business.model.Users; import com.doumee.dao.web.reqeust.EditMemberRequest; import com.doumee.dao.web.reqeust.WxPhoneRequest; import com.doumee.dao.web.response.AccountResponse; @@ -35,6 +38,7 @@ import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; +import org.apache.catalina.User; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -56,6 +60,9 @@ @Autowired private MemberMapper memberMapper; + + @Autowired + private UsersMapper usersMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @@ -259,14 +266,13 @@ @Override public AccountResponse wxLogin(String code){ -// try { - //鑾峰彇寰俊鏁忔劅鏁版嵁 -// WxMaJscode2SessionResult session = WxMiniConfig.wxCustomerService.getUserService().getSessionInfo(code); -// String openId = session.getOpenid(); -// if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) { -// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鑾峰彇openid澶辫触锛佽鑱旂郴绠$悊鍛�"); -// } - String openId = code; + try { +// 鑾峰彇寰俊鏁忔劅鏁版嵁 + WxMaJscode2SessionResult session = WxMiniConfig.wxCustomerService.getUserService().getSessionInfo(code); + String openId = session.getOpenid(); + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) { + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鑾峰彇openid澶辫触锛佽鑱旂郴绠$悊鍛�"); + } Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId)); if (member == null) { member = new Member(); @@ -281,13 +287,13 @@ String token = JwtTokenUtil.generateToken(payLoad); AccountResponse accountResponse = new AccountResponse(); accountResponse.setToken(token); -// accountResponse.setSessionKey(session.getSessionKey()); + accountResponse.setSessionKey(session.getSessionKey()); accountResponse.setMember(member); return accountResponse; -// } catch (WxErrorException e) { -// e.printStackTrace(); -// } -// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�"); + } catch (WxErrorException e) { + e.printStackTrace(); + } + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�"); } @Override @@ -311,7 +317,7 @@ public void updMemberDetail(EditMemberRequest editMemberRequest){ Member member = memberMapper.selectById(editMemberRequest.getMemberId()); ZTUserInfoUpdateRequest ztUserInfoUpdateRequest = new ZTUserInfoUpdateRequest(); - ztUserInfoUpdateRequest.setOpenid(member.getOpenid()); + ztUserInfoUpdateRequest.setOpenId(member.getOpenid()); String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_CUSTOMER).getCode(); ztUserInfoUpdateRequest.setAppId(appId); ztUserInfoUpdateRequest.setPlatform(Constants.PLATFORM); @@ -365,29 +371,61 @@ } - /** - * 鏇存柊涓彴token淇℃伅 - * @param member - */ - public void updUserZTToken(Member member){ - //濡傛灉鏃犳湁鏁堟湡/宸茶繃鏈� 閲嶆柊鑾峰彇 - if(Objects.isNull(member.getTokenDate()) || member.getTokenDate().getTime()<=System.currentTimeMillis() ){ - ZTUserGetTokenRequest param = new ZTUserGetTokenRequest(); - //鏌ヨAPPID - String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_CUSTOMER).getCode(); - param.setAppId(appId); - param.setOpenId(member.getOpenid()); - ZTUserGetTokenResponse ztUserGetTokenResponse = zbomZhongTaiService.getUserToken(param); - if(Objects.nonNull(ztUserGetTokenResponse)){ - member.setToken(ztUserGetTokenResponse.getToken()); - //TODO 鏆傛棤杩囨湡鏃ユ湡 - memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getToken,ztUserGetTokenResponse.getToken()) - .eq(Member::getId,member.getId())); - }else{ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴TOKEN鑾峰彇澶辫触锛岃鑱旂郴绠$悊鍛�"); + + + public static String getZTToken(ZbomZhongTaiService zbomZhongTaiService, MemberMapper memberMapper, UsersMapper usersMapper, SystemDictDataBiz systemDictDataBiz, String id, String userType){ + if(userType.equals(Constants.CUSTOMER)){ + Member member = memberMapper.selectById(id); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); } - }; + //濡傛灉鏃犳湁鏁堟湡/宸茶繃鏈� 閲嶆柊鑾峰彇 + if(Objects.isNull(member.getTokenDate()) || member.getTokenDate().getTime()<=System.currentTimeMillis() ){ + ZTUserGetTokenRequest param = new ZTUserGetTokenRequest(); + //鏌ヨAPPID + String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_CUSTOMER).getCode(); + param.setAppId(appId); + param.setOpenId(member.getOpenid()); + ZTUserGetTokenResponse ztUserGetTokenResponse = zbomZhongTaiService.getUserToken(param); + if(Objects.nonNull(ztUserGetTokenResponse)){ + member.setToken(ztUserGetTokenResponse.getToken()); + //TODO 鏆傛棤杩囨湡鏃ユ湡 + memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getToken,ztUserGetTokenResponse.getToken()) + .eq(Member::getId,member.getId())); + return ztUserGetTokenResponse.getToken(); + }else{ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴TOKEN鑾峰彇澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + } + return member.getToken(); + }else if(userType.equals(Constants.BUSINESS)){ + Users users = usersMapper.selectById(id); + if(Objects.isNull(users)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + if(Objects.isNull(users.getTokenDate()) || users.getTokenDate().getTime()<=System.currentTimeMillis() ){ + ZTUserGetTokenRequest param = new ZTUserGetTokenRequest(); + //鏌ヨAPPID + String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_CUSTOMER).getCode(); + param.setAppId(appId); + param.setOpenId(users.getOpenid()); + ZTUserGetTokenResponse ztUserGetTokenResponse = zbomZhongTaiService.getUserToken(param); + if(Objects.nonNull(ztUserGetTokenResponse)){ + users.setToken(ztUserGetTokenResponse.getToken()); + //TODO 鏆傛棤杩囨湡鏃ユ湡 + usersMapper.update(new UpdateWrapper<Users>().lambda().set(Users::getToken,ztUserGetTokenResponse.getToken()) + .eq(Users::getId,users.getId())); + return ztUserGetTokenResponse.getToken(); + }else{ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴TOKEN鑾峰彇澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + } + return users.getToken(); + }else{ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍙傛暟閿欒"); + } } + @@ -401,11 +439,11 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸叉敞閿�"); } //鏍¢獙鐢ㄦ埛token淇℃伅 - this.updUserZTToken(member); + MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,member.getId().toString(),Constants.CUSTOMER); //璋冭捣涓彴娉ㄩ攢鎺ュ彛 ZTBaseRequst ztBaseRequst = new ZTBaseRequst(); ztBaseRequst.setUserType(Constants.CUSTOMER); - ztBaseRequst.setOpenid(member.getOpenid()); + ztBaseRequst.setOpenId(member.getOpenid()); ztBaseRequst.setToken(member.getToken()); Boolean logoutFlag = zbomZhongTaiService.userLogout(ztBaseRequst); if(logoutFlag){ @@ -420,4 +458,6 @@ } + + } -- Gitblit v1.9.3