Your Name
2023-04-17 1d26444aecf21f44ae5208dfd6e55eceec704026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package com.java110.report.bmo.search.impl;
 
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.data.SearchDataDto;
import com.java110.dto.visit.VisitDto;
import com.java110.dto.visitSetting.VisitSettingDto;
import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
import com.java110.intf.community.IVisitV1InnerServiceSMO;
import com.java110.report.bmo.search.ISearchStaffBMO;
import com.java110.report.bmo.search.ISearchVisitBMO;
import com.java110.utils.util.StringUtil;
import com.java110.vo.api.visit.ApiVisitDataVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.ArrayList;
import java.util.List;
 
@Service
public class SearchVisitBMOImpl implements ISearchVisitBMO {
 
    @Autowired
    private IVisitV1InnerServiceSMO visitV1InnerServiceSMOImpl;
 
    @Autowired
    private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
 
    @Override
    public SearchDataDto query(SearchDataDto searchDataDto) {
 
        List<VisitDto> visitDtos = new ArrayList<>();
 
        // todo 查询访问
        queryVisitByName(searchDataDto,visitDtos);
 
        // todo 通过电话
        queryVisitByLink(searchDataDto,visitDtos);
 
 
        refreshSetting(visitDtos,searchDataDto);
 
        searchDataDto.setVisitDtos(visitDtos);
 
        return searchDataDto;
    }
 
    private void queryVisitByLink(SearchDataDto searchDataDto, List<VisitDto> visitDtos) {
 
        if(StringUtil.isEmpty(searchDataDto.getTel())){
            return;
        }
 
        VisitDto visitDto = new VisitDto();
        visitDto.setPhoneNumber(searchDataDto.getTel());
        visitDto.setCommunityId(searchDataDto.getCommunityId());
        List<VisitDto> tmpVisitDtos = visitV1InnerServiceSMOImpl.queryVisits(visitDto);
 
        if(tmpVisitDtos == null || tmpVisitDtos.size()< 1){
            return ;
        }
 
        visitDtos.addAll(tmpVisitDtos);
 
    }
 
    private void queryVisitByName(SearchDataDto searchDataDto, List<VisitDto> visitDtos) {
 
        VisitDto visitDto = new VisitDto();
        visitDto.setvNameLike(searchDataDto.getSearchValue());
        visitDto.setCommunityId(searchDataDto.getCommunityId());
        List<VisitDto> tmpVisitDtos = visitV1InnerServiceSMOImpl.queryVisits(visitDto);
 
        if(tmpVisitDtos == null || tmpVisitDtos.size()< 1){
            return ;
        }
 
        visitDtos.addAll(tmpVisitDtos);
    }
 
    private void refreshSetting(List<VisitDto> visitDtos, SearchDataDto searchDataDto) {
        VisitSettingDto visitSettingDto = new VisitSettingDto();
        visitSettingDto.setCommunityId(searchDataDto.getCommunityId());
        List<VisitSettingDto> visitSettingDtos = visitSettingV1InnerServiceSMOImpl.queryVisitSettings(visitSettingDto);
        if (visitSettingDtos == null || visitSettingDtos.size() < 1) {
            return;
        }
        if (visitDtos == null || visitDtos.size() < 1) {
            return;
        }
        for (VisitDto visitDto : visitDtos) {
            visitDto.setFlowId(visitSettingDtos.get(0).getFlowId());
        }
    }
}