From f911989f59778b11e9f60d400c3434f4dc6a18fb Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 12 七月 2024 18:25:46 +0800 Subject: [PATCH] 代码提交 --- server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 88 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 87 insertions(+), 1 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 80576f9..18e6aa8 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 @@ -4,6 +4,11 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; import com.alibaba.fastjson.JSONObject; import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.biz.zbom.ZbomZhongTaiService; +import com.doumee.biz.zbom.model.zhongtai.ZTBaseRequst; +import com.doumee.biz.zbom.model.zhongtai.ZTUserGetTokenRequest; +import com.doumee.biz.zbom.model.zhongtai.ZTUserInfoUpdateRequest; +import com.doumee.biz.zbom.model.zhongtai.response.ZTUserGetTokenResponse; import com.doumee.config.Jwt.JwtPayLoad; import com.doumee.config.Jwt.JwtTokenUtil; import com.doumee.core.constants.ResponseStatus; @@ -54,6 +59,9 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; + + @Autowired + private ZbomZhongTaiService zbomZhongTaiService; @Autowired private RedisTemplate<String,Object> redisTemplate; @@ -301,6 +309,28 @@ @Override public void updMemberDetail(EditMemberRequest editMemberRequest){ + Member member = memberMapper.selectById(editMemberRequest.getMemberId()); + ZTUserInfoUpdateRequest ztUserInfoUpdateRequest = new ZTUserInfoUpdateRequest(); + ztUserInfoUpdateRequest.setOpenid(member.getOpenid()); + String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_CUSTOMER).getCode(); + ztUserInfoUpdateRequest.setAppId(appId); + ztUserInfoUpdateRequest.setPlatform(Constants.PLATFORM); + ztUserInfoUpdateRequest.setPhone(editMemberRequest.getPhone()); + ztUserInfoUpdateRequest.setName(editMemberRequest.getName()); + ztUserInfoUpdateRequest.setAddress(editMemberRequest.getProvinceName()+editMemberRequest.getCityName()+editMemberRequest.getAreaName()); + ztUserInfoUpdateRequest.setFullAddress(editMemberRequest.getAddress()); + String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() + + systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode(); + if(StringUtils.isNotBlank(editMemberRequest.getImgurl())){ + ztUserInfoUpdateRequest.setAvatarUrl(prefix + editMemberRequest.getImgurl()); + } + ztUserInfoUpdateRequest.setUptown(editMemberRequest.getDistrict()); + ztUserInfoUpdateRequest.setHouseArea(editMemberRequest.getHousearea().toString()); + ztUserInfoUpdateRequest.setHouseLayout(Constants.getHouseLayout(editMemberRequest.getHousetype())); + ZTUserGetTokenResponse userUpdateInfo = zbomZhongTaiService.userUpdateInfo(ztUserInfoUpdateRequest); + if(Objects.isNull(userUpdateInfo)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴淇℃伅鏇存柊澶辫触锛岃鑱旂郴绠$悊鍛�"); + } memberMapper.update(new UpdateWrapper<Member>() .lambda() .set(StringUtils.isNotBlank(editMemberRequest.getImgurl()),Member::getImgurl,editMemberRequest.getImgurl()) @@ -318,8 +348,8 @@ .set(StringUtils.isNotBlank(editMemberRequest.getHousetype()),Member::getHousetype,editMemberRequest.getHousetype()) .set(Objects.nonNull(editMemberRequest.getLatitude()),Member::getLatitude,editMemberRequest.getLatitude()) .set(Objects.nonNull(editMemberRequest.getLongitude()),Member::getLongitude,editMemberRequest.getLongitude()) + .set(Member::getToken,userUpdateInfo.getToken()) .eq(Member::getId,editMemberRequest.getMemberId())); - } @Override @@ -334,4 +364,60 @@ return member; } + + /** + * 鏇存柊涓彴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鑾峰彇澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + }; + } + + + + @Override + public void logOff(Long memberId){ + Member member = memberMapper.selectById(memberId); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(StringUtils.isBlank(member.getPhone())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸叉敞閿�"); + } + //鏍¢獙鐢ㄦ埛token淇℃伅 + this.updUserZTToken(member); + //璋冭捣涓彴娉ㄩ攢鎺ュ彛 + ZTBaseRequst ztBaseRequst = new ZTBaseRequst(); + ztBaseRequst.setUserType(Constants.CUSTOMER); + ztBaseRequst.setOpenid(member.getOpenid()); + ztBaseRequst.setToken(member.getToken()); + Boolean logoutFlag = zbomZhongTaiService.userLogout(ztBaseRequst); + if(logoutFlag){ + memberMapper.update(new UpdateWrapper<Member>().lambda() + .set(Member::getPhone,null) + .set(Member::getEditDate,new Date()) + .eq(Member::getId,member.getId()) + ); + return; + } + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴娉ㄩ攢澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + + } -- Gitblit v1.9.3