java110
2020-08-03 1d8b9d4049824c84d4cb8a6bc57ce1b33b93ae7a
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package com.java110.user.bmo.owner.impl;
 
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.RoomDto;
import com.java110.dto.owner.OwnerDto;
import com.java110.dto.owner.OwnerRoomRelDto;
import com.java110.dto.visit.VisitDto;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.community.IVisitInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.user.bmo.owner.IVisitorRecord;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
@Service
public class VisitorRecordImpl implements IVisitorRecord {
 
    @Autowired
    private IVisitInnerServiceSMO visitInnerServiceSMOImpl;
 
    @Autowired
    private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
 
    @Autowired
    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
 
    @Autowired
    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
 
    @Override
    public ResponseEntity<String> query(JSONObject reqJson) {
        VisitDto visitDto = new VisitDto();
        visitDto.setCommunityId(reqJson.getString("code"));
        List<VisitDto> visitDtos = visitInnerServiceSMOImpl.queryVisits(visitDto);
        JSONArray data = new JSONArray();
 
        for (VisitDto tmpVisitDto : visitDtos) {
            dealVisit(reqJson, tmpVisitDto, data);
        }
        return ResultVo.createResponseEntity(data);
    }
 
    private void dealVisit(JSONObject reqJson, VisitDto tmpVisitDto, JSONArray data) {
        JSONObject dataObj = new JSONObject();
        dataObj.put("name", tmpVisitDto.getvName());
        dataObj.put("gender", tmpVisitDto.getVisitGender());
        dataObj.put("certificationType", "1");
        dataObj.put("certificationCode", "");
        dataObj.put("contact", tmpVisitDto.getPhoneNumber());
        dataObj.put("visitorType", "9");
        OwnerDto ownerDto = new OwnerDto();
        ownerDto.setOwnerId(tmpVisitDto.getOwnerId());
        ownerDto.setCommunityId(tmpVisitDto.getCommunityId());
        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
        if (ownerDtos != null && ownerDtos.size() > 0) {
            dataObj.put("ownerName", ownerDtos.get(0).getName());
            dataObj.put("ownerCertificationType", "1");
            dataObj.put("ownerCertificationCode", ownerDtos.get(0).getIdCard());
        } else {
            dataObj.put("ownerName", "");
            dataObj.put("ownerCertificationType", "");
            dataObj.put("ownerCertificationCode", "");
        }
 
        dataObj.put("reserveTime", tmpVisitDto.getVisitTime());
        dataObj.put("pwd", "");
        dataObj.put("photo", "");
        dataObj.put("update_time", tmpVisitDto.getVisitTime());
 
        OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
        ownerRoomRelDto.setOwnerId(tmpVisitDto.getOwnerId());
        List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
        if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
            dataObj.put("floor", "");
            dataObj.put("building", "");
            dataObj.put("houses", "");
            data.add(dataObj);
            return;
        }
 
        RoomDto roomDto = new RoomDto();
        roomDto.setRoomId(ownerRoomRelDtos.get(0).getRoomId());
        roomDto.setCommunityId(reqJson.getString("code"));
        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
 
        if (roomDtos == null || roomDtos.size() < 1) {
            dataObj.put("floor", "");
            dataObj.put("building", "");
            dataObj.put("houses", "");
            data.add(dataObj);
            return;
        }
        String floor = "";
        String building = "";
        String houses = "";
        for (RoomDto tmpRoomDto : roomDtos) {
            floor += (tmpRoomDto.getLayer() + ",");
            building += (tmpRoomDto.getFloorNum() + ",");
            houses += (tmpRoomDto.getRoomNum() + ",");
        }
        dataObj.put("floor", floor);
        dataObj.put("building", building);
        dataObj.put("houses", houses);
        data.add(dataObj);
    }
}