aa
jiangping
2024-08-02 7dc29ed74ebaa8a0e66f68264d9a13f95dc3af21
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -277,7 +277,8 @@
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员");
            }
//            String openId = code;
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).last(" limit 1  "));
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId)
                    .last(" limit 1  "));
            Users users =  null;
            if(StringUtils.isNotBlank(userId)){
                users = usersMapper.selectById(userId);
@@ -356,13 +357,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, 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());
@@ -374,45 +437,70 @@
                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()){
            //未绑定过
            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{
                    } else {
                        customerUser.setZtStatus(2);
                        customerUser.setZtDate(new Date());
                        customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse));
                    }
                } else{
                } else {
                    customerUser.setZtStatus(2);
                    customerUser.setZtDate(new Date());
                    customerUser.setZtInfo(JSONObject.toJSONString(ztBaseResponse));
                }
                customerUserMapper.insert(customerUser);
            } 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){
@@ -507,6 +595,34 @@
        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() +
                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){
@@ -550,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());