From f966d5ca657dddc7537442122612efc445791f8e Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 02 八月 2024 09:56:48 +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 | 244 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 217 insertions(+), 27 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 c6c0fa3..e512566 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
@@ -14,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;
@@ -276,8 +277,9 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鑾峰彇openid澶辫触锛佽鑱旂郴绠$悊鍛�");
}
// String openId = code;
- Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).isNotNull("phone"));
- Users users = new Users();
+ Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId)
+ .last(" limit 1 "));
+ Users users = null;
if(StringUtils.isNotBlank(userId)){
users = usersMapper.selectById(userId);
}
@@ -299,14 +301,13 @@
member.setToken(ztUserGetTokenResponse.getToken());
}
memberMapper.insert(member);
- MemberServiceImpl.saveCustomerUser(customerUserMapper,users,member.getId());
+ MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
}else{
ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
if(!Objects.isNull(ztUserGetTokenResponse)){
member.setToken(ztUserGetTokenResponse.getToken());
- memberMapper.updateById(member);
}
- MemberServiceImpl.saveCustomerUser(customerUserMapper,users,member.getId());
+ MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,users,member);
member = this.getMemberInfo(member.getId());
}
String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate);
@@ -321,27 +322,185 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
}
- public static void saveCustomerUser(CustomerUserMapper customerUserMapper,Users users,Long memberId){
- if(Objects.nonNull(users)&&Objects.nonNull(memberId)) {
- if (customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda()
+
+ @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());
+ }
+ memberMapper.insert(member);
+ }else{
+ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
+ if(!Objects.isNull(ztUserGetTokenResponse)){
+ member.setToken(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, 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, memberId)) <= Constants.ZERO) {
- CustomerUser customerUser = new CustomerUser();
+ .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(memberId);
+ customerUser.setMemberId(member.getId());
customerUser.setPhone(users.getPhone());
customerUser.setIamUserId(users.getIamId());
customerUser.setName(users.getName());
customerUser.setUsername(users.getIamUsername());
customerUser.setAddr(users.getShopAddress());
+ }
+ //鏈粦瀹氳繃
+ if (Objects.isNull(customerUser.getId())) {
+ ZTBaseResponse ztBaseResponse = MemberServiceImpl.syncZtCustomerUser(zbomZhongTaiService,member, users);
+ 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);
- //TODO 绛夊緟璋冭捣涓彴鎺ュ彛
+ } else {
+ if (!Constants.equalsInteger(customerUser.getZtStatus(),Constants.ONE)) {
+ ZTBaseResponse ztBaseResponse = MemberServiceImpl.syncZtCustomerUser(zbomZhongTaiService,member, users);
+ 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.updateById(customerUser);
+ }
}
}
}
+
+ 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){
@@ -370,26 +529,26 @@
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);
+ memberMapper.updateById(member);
+ //鍚屾涓彴鐢ㄦ埛淇℃伅
+ ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
+ if(!Objects.isNull(ztUserGetTokenResponse)){
+ member.setToken(ztUserGetTokenResponse.getToken());
+ }
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);
@@ -415,7 +574,36 @@
ztUserInfoUpdateRequest.setAppId(appId);
ztUserInfoUpdateRequest.setPlatform(Constants.PLATFORM);
ztUserInfoUpdateRequest.setPhone(member.getPhone());
- ztUserInfoUpdateRequest.setName(member.getNickname());
+ 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() +
+ 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() +
@@ -445,7 +633,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())){
@@ -477,7 +666,8 @@
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 = syncZhongTaiUserNew(member,systemDictDataBiz,zbomZhongTaiService);
+// ZTUserGetTokenResponse ztUserGetTokenResponse = zbomZhongTaiService.getUserToken(param);
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());
--
Gitblit v1.9.3