aa
jiangping
2024-08-02 8ce648f125a026ef9d7272ddcc46ceb0e59d809b
server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java
@@ -182,21 +182,24 @@
        request.setPageSize(100);
        request.setTiming(Constants.ONE+"");
        request.setCreationDate(date);
        this.syncData(request);
        this.syncData(request,null);
    }
    @Override
    @Transactional
    public void syncByPhone(String phone) {
    public void syncByPhone(Member member) {
        if(member ==null){
            return;
        }
        CrmDaogouBindListRequest request = new CrmDaogouBindListRequest();
        request.setPage(0);
        request.setPageSize(100);
        request.setTiming(Constants.ZERO+"");
        request.setKeyWords(phone);
        this.syncData(request);
        request.setKeyWords(member.getPhone());
        this.syncData(request,member);
    }
    public void syncData(CrmDaogouBindListRequest request){
    public void syncData(CrmDaogouBindListRequest request,Member member){
        boolean hasMore = true;
        int currentNum = 0;
        Date cdate = new Date();
@@ -221,29 +224,33 @@
                hasMore = false;
            }
        }
        dealSyncDataBiz(cdate,allList);
        dealSyncDataBiz(cdate,allList,member);
    }
    private void dealSyncDataBiz(Date date,List<CRMDaogouBindListResponse> list) {
    private void dealSyncDataBiz(Date date,List<CRMDaogouBindListResponse> list,Member member) {
        if(list ==null && list.size()==0){
            return;
        }
        List<CustomerUser> addList = new ArrayList<>();
        List<String> phoneList = new ArrayList<>();
        List<Long> memberIds = new ArrayList<>();
        for(CRMDaogouBindListResponse data : list){
            if(StringUtils.isBlank(data.getCustomerPhone())){
                continue;
            }
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
                    .eq(Member::getPhone,data.getCustomerPhone() )
                    .eq(Member::getIsdeleted,Constants.ZERO)
                    .last("limit 1" ));
            if(member == null){
                member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
                        .eq(Member::getPhone,data.getCustomerPhone() )
                        .eq(Member::getIsdeleted,Constants.ZERO)
                        .last("limit 1" ));
            }
            Users user = usersMapper.selectOne(new QueryWrapper<Users>().lambda()
                    .eq(Users::getIamId,data.getIamId() )
                    .last("limit 1" ));
            if(member == null){
                continue;
            }
            memberIds.add(member.getId());
            phoneList.add(data.getCustomerPhone());
            CustomerUser model = new CustomerUser();
@@ -288,6 +295,13 @@
                customerUserMapper.insert(addList.subList(temp,index));
                temp = index;
            }
            Member update = new Member();
            update.setAuthStatus(Constants.TWO);
            update.setEditDate(new Date());
            memberMapper.update(null,new UpdateWrapper<Member>().lambda().
                    set(Member::getAuthStatus,Constants.TWO).
                    set(Member::getEditDate,new Date())
                    .in(Member::getId,memberIds));
        }
    }
}