From f563ada63ac903d087bf884705c376c9cf1384b3 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 04 九月 2024 17:59:23 +0800
Subject: [PATCH] 代码提交
---
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 388 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 295 insertions(+), 93 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 979f5ff..9c643d6 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
@@ -2,6 +2,7 @@
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -13,6 +14,7 @@
import com.doumee.biz.zbom.model.zhongtai.ZTUserGetTokenRequest;
import com.doumee.biz.zbom.model.zhongtai.ZTUserInfoUpdateRequest;
import com.doumee.biz.zbom.model.zhongtai.response.ZTBaseResponse;
+import com.doumee.biz.zbom.model.zhongtai.response.ZTCustomerBindingUsersRequest;
import com.doumee.biz.zbom.model.zhongtai.response.ZTSysuserGetTokenResponse;
import com.doumee.biz.zbom.model.zhongtai.response.ZTUserGetTokenResponse;
import com.doumee.config.Jwt.JwtPayLoad;
@@ -28,6 +30,7 @@
import com.doumee.dao.business.CustomerUserMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.UsersMapper;
+import com.doumee.dao.business.model.CustomerUser;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Users;
import com.doumee.dao.web.reqeust.EditMemberRequest;
@@ -265,7 +268,7 @@
@Override
- public AccountResponse wxLogin(String code,String iamId){
+ public AccountResponse wxLogin(String code,String userId){
try {
// 鑾峰彇寰俊鏁忔劅鏁版嵁
WxMaJscode2SessionResult session = WxMiniConfig.wxCustomerService.getUserService().getSessionInfo(code);
@@ -273,14 +276,12 @@
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鑾峰彇openid澶辫触锛佽鑱旂郴绠$悊鍛�");
}
-// String openId = code;
- Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId));
- Users users = new Users();
- if(StringUtils.isBlank(iamId)){
- users = usersMapper.selectOne(new QueryWrapper<Users>().lambda()
- .eq(Users::getIamId,iamId)
- .last("limit 1")
- );
+// String openId = code;
+ Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId)
+ .last(" limit 1 "));
+ Users users = null;
+ if(StringUtils.isNotBlank(userId)){
+ users = usersMapper.selectById(userId);
}
if (member == null) {
member = new Member();
@@ -289,34 +290,34 @@
member.setIsdeleted(Constants.ZERO);
member.setOpenid(openId);
member.setType(Constants.ZERO);
+ member.setAuthStatus(Constants.ZERO);
+ member.setStatus(Constants.ZERO);
//濡傛灉缁戝畾浜嗗璐� 鍒欑洿鎺ヤ娇鐢ㄥ凡缁戝畾瀵艰喘淇℃伅 璺宠繃鎵嬫満鍙风粦瀹氱殑鐘舵��
- if(Objects.nonNull(users)){
- member.setAuthStatus(Constants.TWO);
- }else{
- member.setAuthStatus(Constants.ZERO);
- }
ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
- if(Objects.isNull(ztUserGetTokenResponse)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴鏈嶅姟璋冭捣澶辫触!");
- }else{
+ if(!Objects.isNull(ztUserGetTokenResponse)){
member.setToken(ztUserGetTokenResponse.getToken());
+ member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()));
+ MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,null,users,member);
}
memberMapper.insert(member);
- this.saveCustomerUser(users,member.getId());
}else{
- ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
- if(Objects.isNull(ztUserGetTokenResponse)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴鏈嶅姟璋冭捣澶辫触!");
- }else{
- member.setToken(ztUserGetTokenResponse.getToken());
+ ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
+ member.getId(),ZTConstants.CUSTOMER);
+ if(!Objects.isNull(ztBaseInfoResponse)){
+ member.setToken(ztBaseInfoResponse.getToken());
+ member.setZtUserId(StringUtils.defaultString(ztBaseInfoResponse.getZtUserId(),ztBaseInfoResponse.getToken()));
+ Member update = new Member();
+ update.setZtUserId(StringUtils.defaultString(ztBaseInfoResponse.getZtUserId(),ztBaseInfoResponse.getToken()));
+ update.setToken(member.getToken());
+ update.setToken(member.getToken());
+ update.setId(member.getId());
+ update.setAuthStatus(member.getAuthStatus());
+ MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,null,users,member);
+ memberMapper.updateById(update);//缂撳瓨涓彴token淇℃伅
}
- this.saveCustomerUser(users,member.getId());
member = this.getMemberInfo(member.getId());
-
}
- //鍒涘缓token
- JwtPayLoad payLoad = new JwtPayLoad(member.getId(),Constants.ZERO);
- String token = JwtTokenUtil.generateToken(payLoad);
+ String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate);
AccountResponse accountResponse = new AccountResponse();
accountResponse.setToken(token);
accountResponse.setSessionKey(session.getSessionKey());
@@ -328,28 +329,180 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
}
- public void saveCustomerUser(Users users,Long memberId){
- if(!(Objects.nonNull(users)&&Objects.nonNull(memberId))){
- return;
- }
- if( customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda()
- .eq(CustomerUser::getIsdeleted,Constants.ZERO)
- .eq(CustomerUser::getUserId,users.getId())
- .eq(CustomerUser::getMemberId,memberId)) <= Constants.ZERO ){
- CustomerUser customerUser = new CustomerUser();
- customerUser.setUserId(users.getId());
- customerUser.setCreateDate(new Date());
- customerUser.setMemberId(memberId);
- customerUser.setPhone(users.getPhone());
- customerUser.setIamUserId(users.getIamId());
- customerUser.setName(users.getName());
- customerUser.setUsername(users.getIamUsername());
- customerUser.setAddr(users.getShopAddress());
- customerUserMapper.insert(customerUser);
- //TODO 绛夊緟璋冭捣涓彴鎺ュ彛
+
+ @Override
+ public AccountResponse testLogin(String openid){
+ String openId = openid;
+ Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId));
+ if (member == null) {
+ member = new Member();
+ member.setNickname("寰俊鐢ㄦ埛"+ CodeVerifyUtils.createVerificationCode(4));
+ member.setCreateDate(new Date());
+ member.setIsdeleted(Constants.ZERO);
+ member.setOpenid(openId);
+ member.setType(Constants.ZERO);
+ //濡傛灉缁戝畾浜嗗璐� 鍒欑洿鎺ヤ娇鐢ㄥ凡缁戝畾瀵艰喘淇℃伅 璺宠繃鎵嬫満鍙风粦瀹氱殑鐘舵��
+ member.setAuthStatus(Constants.ZERO);
+ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
+ if(!Objects.isNull(ztUserGetTokenResponse)){
+ member.setToken(ztUserGetTokenResponse.getToken());
+ member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()));
+ }
+ memberMapper.insert(member);
+ }else{
+ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
+ if(!Objects.isNull(ztUserGetTokenResponse)){
+ member.setToken(ztUserGetTokenResponse.getToken());
+ member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()));
+ memberMapper.updateById(member);
+ }
+ member = this.getMemberInfo(member.getId());
+ }
+ String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate);
+ AccountResponse accountResponse = new AccountResponse();
+ accountResponse.setToken(token);
+ accountResponse.setMember(member);
+ return accountResponse;
+ }
+
+// public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService,CustomerUserMapper customerUserMapper,Users users,Member member){
+// if(Objects.nonNull(users)&&Objects.nonNull(member.getId())) {
+// CustomerUser customerUser = null;
+// if (customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda()
+// .eq(CustomerUser::getIsdeleted, Constants.ZERO)
+// .eq(CustomerUser::getUserId, users.getId())
+// .eq(CustomerUser::getMemberId, member.getId())
+// ) <= Constants.ZERO) {
+// customerUser = new CustomerUser();
+// customerUser.setIsdeleted(Constants.ZERO);
+// customerUser.setUserId(users.getId());
+// customerUser.setCreateDate(new Date());
+// customerUser.setMemberId(member.getId());
+// customerUser.setPhone(users.getPhone());
+// customerUser.setIamUserId(users.getIamId());
+// customerUser.setName(users.getName());
+// customerUser.setUsername(users.getIamUsername());
+// customerUser.setAddr(users.getShopAddress());
+// }
+// //绛夊緟璋冭捣涓彴鎺ュ彛
+// ZTCustomerBindingUsersRequest ztCustomerBindingUsersRequest = new ZTCustomerBindingUsersRequest();
+// ztCustomerBindingUsersRequest.setName(member.getName());
+// ztCustomerBindingUsersRequest.setNickName(member.getNickname());
+// ztCustomerBindingUsersRequest.setPhone(member.getPhone());
+// ztCustomerBindingUsersRequest.setAvatarUrl(member.getImgurl());
+// ztCustomerBindingUsersRequest.setUptown(member.getDistrict());
+// ztCustomerBindingUsersRequest.setFullAddress(member.getAddress());
+// if(Objects.nonNull(member.getHousearea())){
+// ztCustomerBindingUsersRequest.setHouseArea(member.getHousearea().toString());
+// }
+// ztCustomerBindingUsersRequest.setOpenId(member.getOpenid());
+// ztCustomerBindingUsersRequest.setToken(member.getToken());
+// ztCustomerBindingUsersRequest.setUserType(ZTConstants.CUSTOMER);
+// ztCustomerBindingUsersRequest.setSourceCustomerId(member.getId().toString());
+// ztCustomerBindingUsersRequest.setDaoGouUserId(users.getIamId());
+// ztCustomerBindingUsersRequest.setDaoGouAccount(users.getIamUsername());
+// ztCustomerBindingUsersRequest.setPlatSource("2");
+// ZTBaseResponse ztBaseResponse = zbomZhongTaiService.customerBinDingUsers(ztCustomerBindingUsersRequest);
+// if(Objects.nonNull(customerUser)){
+// if(Objects.nonNull(ztBaseResponse)){
+// if(ztBaseResponse.getSuccess()){
+// customerUser.setZtStatus(1);
+// customerUser.setZtDate(new Date());
+// }else{
+// customerUser.setZtStatus(2);
+// customerUser.setZtDate(new Date());
+// customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse));
+// }
+// } else{
+// customerUser.setZtStatus(2);
+// customerUser.setZtDate(new Date());
+// customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse));
+// }
+// customerUserMapper.insert(customerUser);
+// }
+// }
+// }
+
+
+ public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService, CustomerUserMapper customerUserMapper, MemberMapper memberMapper,Users users, Member member) {
+ if (Objects.nonNull(users) && Objects.nonNull(member.getId())) {
+ CustomerUser customerUser = customerUserMapper.selectOne(new QueryWrapper<CustomerUser>().lambda()
+ .eq(CustomerUser::getIsdeleted, Constants.ZERO)
+ .eq(CustomerUser::getUserId, users.getId())
+ .eq(CustomerUser::getMemberId, member.getId())
+ .orderByDesc(CustomerUser::getCreateDate)
+ .last(" limit 1")
+ );
+ if (Objects.isNull(customerUser)) {
+ customerUser = new CustomerUser();
+ customerUser.setIsdeleted(Constants.ZERO);
+ customerUser.setUserId(users.getId());
+ customerUser.setCreateDate(new Date());
+ customerUser.setMemberId(member.getId());
+ customerUser.setPhone(users.getPhone());
+ customerUser.setIamUserId(users.getIamId());
+ customerUser.setName(users.getName());
+ customerUser.setUsername(users.getIamUsername());
+ customerUser.setAddr(users.getShopAddress());
+ }
+ ZTBaseResponse ztBaseResponse = null;
+ if ( !Constants.equalsInteger(customerUser.getZtStatus(),Constants.ONE)) {
+ ztBaseResponse = syncZtCustomerUserSendRequest(zbomZhongTaiService,memberMapper,member, users,customerUser);
+ }
+ //鏈粦瀹氳繃
+ if (Objects.isNull(customerUser.getId())) {
+ customerUserMapper.insert(customerUser);
+ member.setAuthStatus(Constants.TWO);
+ } else if(ztBaseResponse !=null) {
+ member.setAuthStatus(Constants.TWO);
+ customerUserMapper.updateById(customerUser);
+ }
}
}
+ private static ZTBaseResponse syncZtCustomerUserSendRequest(ZbomZhongTaiService zbomZhongTaiService,MemberMapper memberMapper, Member member, Users users,CustomerUser customerUser) {
+ ZTBaseResponse ztBaseResponse = MemberServiceImpl.syncZtCustomerUser(zbomZhongTaiService,member, users);
+ customerUser.setZtStatus(2);
+ customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse));
+ if (Objects.nonNull(ztBaseResponse) && ztBaseResponse.getSuccess()) {
+ customerUser.setZtStatus(1);//鍚屾鎴愬姛
+ member.setAuthStatus(Constants.TWO);//鐢ㄦ埛瀵艰喘缁戝畾鐘舵��
+ if(memberMapper!=null){
+ //濡傛灉闇�瑕佹洿鏂扮敤鎴风粦瀹氬璐姸鎬�
+ Member update = new Member();
+ update.setAuthStatus(Constants.TWO);
+ update.setEditDate(new Date());
+ update.setId(member.getId());
+ memberMapper.updateById(update);//鏇存柊鐢ㄦ埛鍚屾鐘舵��
+ }
+
+ }
+ return ztBaseResponse;
+ }
+
+
+ public static ZTBaseResponse syncZtCustomerUser(ZbomZhongTaiService zbomZhongTaiService,Member member,Users users){
+ //绛夊緟璋冭捣涓彴鎺ュ彛
+ ZTCustomerBindingUsersRequest ztCustomerBindingUsersRequest = new ZTCustomerBindingUsersRequest();
+ ztCustomerBindingUsersRequest.setName(member.getName());
+ ztCustomerBindingUsersRequest.setNickName(member.getNickname());
+ ztCustomerBindingUsersRequest.setPhone(member.getPhone());
+ ztCustomerBindingUsersRequest.setAvatarUrl(member.getImgurl());
+ ztCustomerBindingUsersRequest.setUptown(member.getDistrict());
+ ztCustomerBindingUsersRequest.setFullAddress(member.getAddress());
+ if(Objects.nonNull(member.getHousearea())){
+ ztCustomerBindingUsersRequest.setHouseArea(member.getHousearea().toString());
+ }
+ ztCustomerBindingUsersRequest.setOpenId(member.getOpenid());
+ ztCustomerBindingUsersRequest.setToken(member.getToken());
+ ztCustomerBindingUsersRequest.setUserType(ZTConstants.CUSTOMER);
+ ztCustomerBindingUsersRequest.setSourceCustomerId(member.getId().toString());
+ ztCustomerBindingUsersRequest.setDaoGouUserId(users.getIamId());
+ ztCustomerBindingUsersRequest.setDaoGouAccount(users.getIamUsername());
+ ztCustomerBindingUsersRequest.setPlatSource("2");
+ ZTBaseResponse ztBaseResponse = zbomZhongTaiService.customerBinDingUsers(ztCustomerBindingUsersRequest);
+ return ztBaseResponse;
+ }
@Override
public String getWxMiniPhone(WxPhoneRequest wxPhoneRequest){
@@ -365,7 +518,7 @@
} catch (Exception e) {
e.printStackTrace();
}
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏇存柊鎵嬫満鍙峰け璐�");
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鑾峰彇鎵嬫満鍙峰け璐�");
}
@@ -378,26 +531,35 @@
if(Objects.isNull(editMemberRequest)){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- Member memberDto = new Member();
- BeanUtils.copyProperties(editMemberRequest,memberDto);
- memberDto.setOpenid(member.getOpenid());
-// ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto);
-// if(Objects.isNull(ztUserGetTokenResponse)){
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴鏈嶅姟璋冭捣澶辫触!");
-// }else{
-// member.setToken(ztUserGetTokenResponse.getToken());
-// }
- memberMapper.updateById(memberDto);
+ BeanUtils.copyProperties(editMemberRequest,member);
+ //鍚屾涓彴鐢ㄦ埛淇℃伅
+ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
+ if(!Objects.isNull(ztUserGetTokenResponse)){
+ member.setToken(ztUserGetTokenResponse.getToken());
+ member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()));
+ }
+ if(StringUtils.isNotBlank(member.getPhone())){
+ if(!Constants.equalsInteger(member.getPhone().length(),11)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎵嬫満鍙烽敊璇�!");
+ }
+ if(Constants.equalsInteger(member.getAuthStatus(),Constants.ZERO)){
+ member.setAuthStatus(Constants.ONE);
+ }
+ }
+ memberMapper.updateById(member);
return this.getMemberInfo(member.getId());
}
-
-
@Override
public Member updMemberPhone(EditMemberRequest editMemberRequest){
if(Objects.isNull(editMemberRequest)||StringUtils.isBlank(editMemberRequest.getPhone())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
+ memberMapper.update(null,new UpdateWrapper<Member>().lambda().set(Member::getPhone,null)
+ .set(Member::getEditDate,new Date())
+ .ne(Member::getId,editMemberRequest.getId())
+ .eq(Member::getPhone,editMemberRequest.getPhone()));
+
Member member = memberMapper.selectById(editMemberRequest.getId());
if(Objects.isNull(member)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
@@ -405,26 +567,36 @@
Member memberDto = new Member();
BeanUtils.copyProperties(editMemberRequest,memberDto);
memberDto.setOpenid(member.getOpenid());
-// ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto);
-// if(Objects.isNull(ztUserGetTokenResponse)){
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴鏈嶅姟璋冭捣澶辫触!");
-// }else{
-// member.setToken(ztUserGetTokenResponse.getToken());
-// }
+ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto);
+ if(!Objects.isNull(ztUserGetTokenResponse)){
+ member.setToken(ztUserGetTokenResponse.getToken());
+ member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()));
+ }
+ if(Constants.equalsInteger(member.getAuthStatus(),Constants.ZERO)){
+ memberDto.setAuthStatus(Constants.ONE);
+ }
memberMapper.updateById(memberDto);
return this.getMemberInfo(member.getId());
}
- public ZTUserGetTokenResponse syncZhongTaiUser(Member member){
+ public static ZTUserGetTokenResponse syncZhongTaiUserNew(Member member,SystemDictDataBiz systemDictDataBiz,ZbomZhongTaiService zbomZhongTaiService){
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(member.getPhone());
- ztUserInfoUpdateRequest.setName(member.getNickname());
-// ztUserInfoUpdateRequest.setAddress(member.getProvinceName()+member.getCityName()+member.getAreaName());
+ ztUserInfoUpdateRequest.setName(member.getName());
+ ztUserInfoUpdateRequest.setNickName(member.getNickname());
+ if(StringUtils.isNotBlank(member.getProvinceName())
+ && StringUtils.isNotBlank(member.getCityName())
+ && StringUtils.isNotBlank(member.getAreaName())){
+ ztUserInfoUpdateRequest.setAddress(member.getProvinceName()+member.getCityName()+member.getAreaName());
+ }
+ ztUserInfoUpdateRequest.setProvince(member.getProvinceCode());
+ ztUserInfoUpdateRequest.setCity(member.getCityCode());
+ ztUserInfoUpdateRequest.setCounty(member.getAreaCode());
ztUserInfoUpdateRequest.setFullAddress(member.getAddress());
String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode();
@@ -438,13 +610,48 @@
ztUserInfoUpdateRequest.setHouseLayout(Constants.getHouseLayout(member.getHousetype()));
ZTBaseResponse userUpdateInfo = zbomZhongTaiService.userUpdateInfo(ztUserInfoUpdateRequest);
if(Objects.isNull(userUpdateInfo)||userUpdateInfo.getCode()!=200){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴淇℃伅鏇存柊澶辫触锛岃鑱旂郴绠$悊鍛�");
+ return null;
}
ZTUserGetTokenResponse ztUserGetTokenResponse = (ZTUserGetTokenResponse) userUpdateInfo.getData();
return ztUserGetTokenResponse;
}
+ public ZTUserGetTokenResponse syncZhongTaiUser(Member member){
+ 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(member.getPhone());
+ ztUserInfoUpdateRequest.setName(member.getName());
+ ztUserInfoUpdateRequest.setNickName(member.getNickname());
+ if(StringUtils.isNotBlank(member.getProvinceName())
+ && StringUtils.isNotBlank(member.getCityName())
+ && StringUtils.isNotBlank(member.getAreaName())){
+ ztUserInfoUpdateRequest.setAddress(member.getProvinceName()+member.getCityName()+member.getAreaName());
+ }
+ ztUserInfoUpdateRequest.setProvince(member.getProvinceCode());
+ ztUserInfoUpdateRequest.setCity(member.getCityCode());
+ ztUserInfoUpdateRequest.setCounty(member.getAreaCode());
+ ztUserInfoUpdateRequest.setFullAddress(member.getAddress());
+ String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode();
+ if(StringUtils.isNotBlank(member.getImgurl())){
+ ztUserInfoUpdateRequest.setAvatarUrl(prefix + member.getImgurl());
+ }
+ ztUserInfoUpdateRequest.setUptown(member.getDistrict());
+ if(Objects.nonNull(member.getHousearea())){
+ ztUserInfoUpdateRequest.setHouseArea(member.getHousearea().toString());
+ }
+ ztUserInfoUpdateRequest.setHouseLayout(Constants.getHouseLayout(member.getHousetype()));
+ ZTBaseResponse userUpdateInfo = zbomZhongTaiService.userUpdateInfo(ztUserInfoUpdateRequest);
+ if(Objects.isNull(userUpdateInfo)||userUpdateInfo.getCode()!=200){
+ return null;
+ }
+ ZTUserGetTokenResponse ztUserGetTokenResponse = (ZTUserGetTokenResponse) userUpdateInfo.getData();
+ return ztUserGetTokenResponse;
+ }
@Override
public Member getMemberInfo(Long memberId){
@@ -455,7 +662,8 @@
String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode();
member.setPrefix(prefix);
- if( customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda().eq(CustomerUser::getIsdeleted,Constants.ZERO).eq(CustomerUser::getMemberId,member.getId()))>0){
+ /* if( customerUserMapper.selectCount(new QueryWrapper<CustomerUser>()
+ .lambda().eq(CustomerUser::getIsdeleted,Constants.ZERO).eq(CustomerUser::getZtStatus,Constants.ONE).eq(CustomerUser::getMemberId,member.getId()))>0){
member.setAuthStatus(Constants.TWO);
}else{
if(StringUtils.isBlank(member.getPhone())){
@@ -463,7 +671,7 @@
}else{
member.setAuthStatus(Constants.ONE);
}
- }
+ }*/
return member;
}
@@ -481,23 +689,30 @@
ztBaseInfoResponse.setUserType(ZTConstants.CUSTOMER);
ztBaseInfoResponse.setOpenId(member.getOpenid());
//濡傛灉鏃犳湁鏁堟湡/宸茶繃鏈� 閲嶆柊鑾峰彇
- if(Objects.isNull(member.getTokenDate()) || member.getTokenDate().getTime()<=System.currentTimeMillis() ){
+ if(Objects.isNull(member.getZtUserId()) ||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);
+ ZTUserGetTokenResponse ztUserGetTokenResponse =null;
+ if(StringUtils.isNotBlank(member.getZtUserId())){
+ //濡傛灉鏄凡鍚屾鐨勭敤鎴�
+ ztUserGetTokenResponse = zbomZhongTaiService.getUserToken(param);
+ }
+ if(ztUserGetTokenResponse == null){
+ //濡傛灉鑾峰彇澶辫触锛屽皾璇曢噸鏂板悓姝ラ噸鏂拌幏鍙�
+ ztUserGetTokenResponse = syncZhongTaiUserNew(member,systemDictDataBiz,zbomZhongTaiService);
+ }
if(Objects.nonNull(ztUserGetTokenResponse)){
// Date date =new Date(System.currentTimeMillis()+(Constants.formatLongNum(ztUserGetTokenResponse.getExpire())<=0?2*60*60*1000:ztUserGetTokenResponse.getExpire()*1000));
member.setToken(ztUserGetTokenResponse.getToken());
memberMapper.update(new UpdateWrapper<Member>().lambda()
.set(Member::getToken,ztUserGetTokenResponse.getToken())
+ .set(Member::getZtUserId,StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()))
// .set(Member::getTokenDate,date)//榛樿鏈夋晥鏈熶负涓ゅ皬鏃�
.eq(Member::getId,member.getId()));
ztBaseInfoResponse.setToken(ztUserGetTokenResponse.getToken());
- }else{
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴TOKEN鑾峰彇澶辫触锛岃鑱旂郴绠$悊鍛�");
}
}
ztBaseInfoResponse.setToken(member.getToken());
@@ -510,11 +725,6 @@
ztBaseInfoResponse.setUserType(ZTConstants.BUSINESS);
ztBaseInfoResponse.setOpenId(users.getOpenid());
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());
ZTSysuserGetTokenResponse ztUserGetTokenResponse = zbomZhongTaiService.getSysuserToken(users.getPhone());
if(Objects.nonNull(ztUserGetTokenResponse)){
users.setToken(ztUserGetTokenResponse.getToken());
@@ -524,29 +734,19 @@
.eq(Users::getId,users.getId()));
ztBaseInfoResponse.setToken(ztUserGetTokenResponse.getToken());
return ztBaseInfoResponse;
- }else{
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴TOKEN鑾峰彇澶辫触锛岃鑱旂郴绠$悊鍛�");
}
}
ztBaseInfoResponse.setToken(users.getToken());
-// return ztBaseInfoResponse;
- }else{
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍙傛暟閿欒");
}
return ztBaseInfoResponse;
}
-
-
@Override
- public ZTBaseRequst logOff(Long memberId){
+ public ZTBaseRequst logOff(Long memberId,String token){
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淇℃伅
MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,member.getId(),ZTConstants.CUSTOMER);
@@ -556,10 +756,12 @@
ztBaseRequst.setOpenId(member.getOpenid());
ztBaseRequst.setToken(member.getToken());
memberMapper.update(new UpdateWrapper<Member>().lambda()
+ .set(Member::getOpenid,null)
.set(Member::getPhone,null)
.set(Member::getEditDate,new Date())
- .eq(Member::getId,member.getId())
+ .eq(Member::getOpenid,member.getOpenid())
);
+ redisTemplate.delete(token);
return ztBaseRequst;
}
--
Gitblit v1.9.3