From 79049b3e67abd9b14920206d477318968221f021 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 02 八月 2024 17:14:21 +0800
Subject: [PATCH] aa
---
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 252 ++++++++++++++++++++++++++++++++++++++------------
1 files changed, 190 insertions(+), 62 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 ca0bd68..3847315 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
@@ -276,8 +276,9 @@
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).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);
@@ -290,24 +291,31 @@
member.setOpenid(openId);
member.setType(Constants.ZERO);
//濡傛灉缁戝畾浜嗗璐� 鍒欑洿鎺ヤ娇鐢ㄥ凡缁戝畾瀵艰喘淇℃伅 璺宠繃鎵嬫満鍙风粦瀹氱殑鐘舵��
- if(Objects.nonNull(users)){
- member.setAuthStatus(Constants.TWO);
- }else{
- member.setAuthStatus(Constants.ZERO);
- }
+// if(Objects.nonNull(users)){
+// member.setAuthStatus(Constants.TWO);
+// }else{
+// 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()));
+ MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,null,users,member);
}
memberMapper.insert(member);
- MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
}else{
- ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,member.getId(),ZTConstants.CUSTOMER);
- if(!Objects.isNull(ztBaseInfoResponse)){
- member.setToken(ztBaseInfoResponse.getToken());
- memberMapper.updateById(member);
+ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
+ if(!Objects.isNull(ztUserGetTokenResponse)){
+ member.setToken(ztUserGetTokenResponse.getToken());
+ member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()));
+ Member update = new Member();
+ update.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()));
+ update.setToken(member.getToken());
+ update.setId(member.getId());
+ update.setAuthStatus(member.getAuthStatus());
+ MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,null,users,member);
+ memberMapper.updateById(update);//缂撳瓨涓彴token淇℃伅
}
- MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
member = this.getMemberInfo(member.getId());
}
String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate);
@@ -340,12 +348,14 @@
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());
@@ -357,13 +367,75 @@
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()
+// 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())) <= Constants.ZERO) {
+ .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());
@@ -375,45 +447,62 @@
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());
+ ZTBaseResponse ztBaseResponse = null;
+ if ( !Constants.equalsInteger(customerUser.getZtStatus(),Constants.ONE)) {
+ ztBaseResponse = syncZtCustomerUserSendRequest(zbomZhongTaiService,memberMapper,member, users,customerUser);
}
- 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));
- }
+ //鏈粦瀹氳繃
+ if (Objects.isNull(customerUser.getId())) {
customerUserMapper.insert(customerUser);
+ } else if(ztBaseResponse !=null) {
+ 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){
@@ -443,12 +532,13 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
BeanUtils.copyProperties(editMemberRequest,member);
- memberMapper.updateById(member);
//鍚屾涓彴鐢ㄦ埛淇℃伅
ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
if(!Objects.isNull(ztUserGetTokenResponse)){
member.setToken(ztUserGetTokenResponse.getToken());
+ member.setZtUserId(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()));
}
+ memberMapper.updateById(member);
return this.getMemberInfo(member.getId());
}
@@ -469,12 +559,13 @@
Member memberDto = new Member();
BeanUtils.copyProperties(editMemberRequest,memberDto);
memberDto.setOpenid(member.getOpenid());
-// ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto);
-// if(Objects.isNull(ztUserGetTokenResponse)){
+ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto);
+ if(Objects.isNull(ztUserGetTokenResponse)){
// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴鏈嶅姟璋冭捣澶辫触!");
-// }else{
-// member.setToken(ztUserGetTokenResponse.getToken());
-// }
+ }else{
+ member.setToken(ztUserGetTokenResponse.getToken());
+ member.setToken(StringUtils.defaultString(ztUserGetTokenResponse.getZtUserId(),ztUserGetTokenResponse.getToken()));
+ }
memberMapper.updateById(memberDto);
return this.getMemberInfo(member.getId());
}
@@ -488,7 +579,35 @@
ztUserInfoUpdateRequest.setPlatform(Constants.PLATFORM);
ztUserInfoUpdateRequest.setPhone(member.getPhone());
ztUserInfoUpdateRequest.setName(member.getName());
- ztUserInfoUpdateRequest.setNickname(member.getNickname());
+ ztUserInfoUpdateRequest.setNickName(member.getNickname());
+// ztUserInfoUpdateRequest.setAddress(member.getProvinceName()+member.getCityName()+member.getAreaName());
+ 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;
+ }
+ 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.getName());
+ ztUserInfoUpdateRequest.setNickName(member.getNickname());
// ztUserInfoUpdateRequest.setAddress(member.getProvinceName()+member.getCityName()+member.getAreaName());
ztUserInfoUpdateRequest.setFullAddress(member.getAddress());
String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
@@ -518,7 +637,7 @@
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>()
+ /* 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{
@@ -527,7 +646,7 @@
}else{
member.setAuthStatus(Constants.ONE);
}
- }
+ }*/
return member;
}
@@ -545,18 +664,27 @@
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());
--
Gitblit v1.9.3