OwnerDataToIotImpl.java 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. package com.java110.job.adapt.hcIotNew;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.java110.core.factory.GenerateCodeFactory;
  5. import com.java110.dto.file.FileDto;
  6. import com.java110.dto.file.FileRelDto;
  7. import com.java110.dto.machine.MachineTranslateDto;
  8. import com.java110.dto.machine.MachineTranslateErrorDto;
  9. import com.java110.dto.owner.OwnerCarDto;
  10. import com.java110.dto.owner.OwnerDto;
  11. import com.java110.dto.owner.OwnerRoomRelDto;
  12. import com.java110.dto.room.RoomDto;
  13. import com.java110.intf.common.IFileInnerServiceSMO;
  14. import com.java110.intf.common.IFileRelInnerServiceSMO;
  15. import com.java110.intf.common.IMachineTranslateErrorInnerServiceSMO;
  16. import com.java110.intf.common.IMachineTranslateInnerServiceSMO;
  17. import com.java110.intf.community.IRoomV1InnerServiceSMO;
  18. import com.java110.intf.user.IOwnerCarInnerServiceSMO;
  19. import com.java110.intf.user.IOwnerRoomRelV1InnerServiceSMO;
  20. import com.java110.job.adapt.hcIotNew.http.ISendIot;
  21. import com.java110.po.machine.MachineTranslateErrorPo;
  22. import com.java110.utils.util.DateUtil;
  23. import com.java110.utils.util.ListUtil;
  24. import com.java110.utils.util.StringUtil;
  25. import com.java110.vo.ResultVo;
  26. import org.springframework.beans.factory.annotation.Autowired;
  27. import org.springframework.stereotype.Service;
  28. import java.util.ArrayList;
  29. import java.util.List;
  30. @Service
  31. public class OwnerDataToIotImpl implements IOwnerDataToIot{
  32. @Autowired
  33. private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
  34. @Autowired
  35. private IFileInnerServiceSMO fileInnerServiceSMOImpl;
  36. @Autowired
  37. private IOwnerRoomRelV1InnerServiceSMO ownerRoomRelV1InnerServiceSMOImpl;
  38. @Autowired
  39. private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl;
  40. @Autowired
  41. private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
  42. @Autowired
  43. private IMachineTranslateInnerServiceSMO machineTranslateInnerServiceSMOImpl;
  44. @Autowired
  45. private ISendIot sendIotImpl;
  46. @Override
  47. public void sendOwnerData(OwnerDto ownerDto) {
  48. JSONObject paramIn = new JSONObject();
  49. paramIn.put("communityId", ownerDto.getCommunityId());
  50. paramIn.put("memberId", ownerDto.getMemberId());
  51. paramIn.put("ownerId", ownerDto.getOwnerId());
  52. paramIn.put("name", ownerDto.getName());
  53. paramIn.put("ownerTypeCd", ownerDto.getOwnerTypeCd());
  54. paramIn.put("idCard", ownerDto.getIdCard());
  55. paramIn.put("link", ownerDto.getLink());
  56. paramIn.put("ownerPhoto", getOwnerPhoto(ownerDto));
  57. //todo 查询业主房屋
  58. getOwnerRoom(paramIn, ownerDto);
  59. //todo 查询业主车辆
  60. getOwnerCars(paramIn, ownerDto);
  61. ResultVo resultVo = sendIotImpl.post("/iot/api/owner.addOwnerApi",paramIn);
  62. if(resultVo.getCode() != ResultVo.CODE_OK){
  63. saveTranslateLog(ownerDto.getCommunityId(),MachineTranslateDto.CMD_ADD_OWNER_FACE,
  64. ownerDto.getMemberId(),ownerDto.getName(),
  65. MachineTranslateDto.STATE_ERROR,resultVo.getMsg());
  66. return ;
  67. }
  68. saveTranslateLog(ownerDto.getCommunityId(),MachineTranslateDto.CMD_ADD_OWNER_FACE,
  69. ownerDto.getMemberId(),ownerDto.getName(),
  70. MachineTranslateDto.STATE_SUCCESS,resultVo.getMsg());
  71. }
  72. /**
  73. * 存储交互 记录
  74. *
  75. * @param communityId
  76. */
  77. public void saveTranslateLog(String communityId,String cmd,String objId,String objName,String state,String remark) {
  78. MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
  79. machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
  80. machineTranslateDto.setCommunityId(communityId);
  81. machineTranslateDto.setMachineCmd(cmd);
  82. machineTranslateDto.setMachineCode("-1");
  83. machineTranslateDto.setMachineId("-1");
  84. machineTranslateDto.setObjId(objId);
  85. machineTranslateDto.setObjName(objName);
  86. machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_OWNER);
  87. machineTranslateDto.setRemark(remark);
  88. machineTranslateDto.setState(state);
  89. machineTranslateDto.setbId("-1");
  90. machineTranslateDto.setObjBId("-1");
  91. machineTranslateDto.setUpdateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
  92. machineTranslateInnerServiceSMOImpl.saveMachineTranslate(machineTranslateDto);
  93. }
  94. /**
  95. * 查询业主车辆
  96. *
  97. * @param paramIn
  98. * @param ownerDto
  99. */
  100. private void getOwnerCars(JSONObject paramIn, OwnerDto ownerDto) {
  101. /**
  102. * carMemberId
  103. * carId
  104. * carNum
  105. * paId
  106. * psId
  107. * paNum
  108. * psNum
  109. * carTypeCd
  110. * startTime
  111. * endTime
  112. * leaseType
  113. */
  114. OwnerCarDto ownerCarDto = new OwnerCarDto();
  115. ownerCarDto.setOwnerId(ownerDto.getOwnerId());
  116. List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
  117. if (ListUtil.isNull(ownerCarDtos)) {
  118. return;
  119. }
  120. JSONArray cars = new JSONArray();
  121. JSONObject car = null;
  122. for (OwnerCarDto tmpOwnerCarDto : ownerCarDtos) {
  123. car = new JSONObject();
  124. car.put("carMemberId", tmpOwnerCarDto.getMemberId());
  125. car.put("carId", tmpOwnerCarDto.getCarId());
  126. car.put("carNum", tmpOwnerCarDto.getCarNum());
  127. car.put("paId", tmpOwnerCarDto.getPaId());
  128. car.put("psId", tmpOwnerCarDto.getPsId());
  129. car.put("paNum", tmpOwnerCarDto.getAreaNum());
  130. car.put("psNum", tmpOwnerCarDto.getNum());
  131. car.put("carTypeCd", tmpOwnerCarDto.getCarTypeCd());
  132. car.put("startTime", DateUtil.getFormatTimeStringA(tmpOwnerCarDto.getStartTime()));
  133. car.put("endTime", DateUtil.getFormatTimeStringA(tmpOwnerCarDto.getEndTime()));
  134. car.put("leaseType", tmpOwnerCarDto.getLeaseType());
  135. cars.add(car);
  136. }
  137. paramIn.put("cars", cars);
  138. }
  139. /**
  140. * 查询业主房屋
  141. *
  142. * @param paramIn
  143. * @param ownerDto
  144. */
  145. private void getOwnerRoom(JSONObject paramIn, OwnerDto ownerDto) {
  146. OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
  147. ownerRoomRelDto.setOwnerId(ownerDto.getOwnerId());
  148. List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
  149. if (ListUtil.isNull(ownerRoomRelDtos)) {
  150. return;
  151. }
  152. List<String> roomIds = new ArrayList<>();
  153. for (OwnerRoomRelDto tmpOwnerRoomRelDto : ownerRoomRelDtos) {
  154. roomIds.add(tmpOwnerRoomRelDto.getRoomId());
  155. }
  156. RoomDto roomDto = new RoomDto();
  157. roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()]));
  158. roomDto.setCommunityId(ownerDto.getCommunityId());
  159. List<RoomDto> roomDtos = roomV1InnerServiceSMOImpl.queryRooms(roomDto);
  160. JSONArray rooms = new JSONArray();
  161. JSONObject room = null;
  162. for (RoomDto tmpRoomDto : roomDtos) {
  163. room = new JSONObject();
  164. room.put("roomId", tmpRoomDto.getRoomId());
  165. room.put("floorId", tmpRoomDto.getFloorId());
  166. room.put("unitId", tmpRoomDto.getUnitId());
  167. room.put("floorNum", tmpRoomDto.getFloorNum());
  168. room.put("unitNum", tmpRoomDto.getUnitNum());
  169. room.put("roomNum", tmpRoomDto.getRoomNum());
  170. rooms.add(room);
  171. }
  172. paramIn.put("rooms", rooms);
  173. }
  174. private String getOwnerPhoto(OwnerDto ownerDto) {
  175. FileRelDto fileRelDto = new FileRelDto();
  176. fileRelDto.setObjId(ownerDto.getMemberId());
  177. fileRelDto.setRelTypeCd("10000");
  178. List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
  179. if (ListUtil.isNull(fileRelDtos)) {
  180. return "";
  181. }
  182. FileDto fileDto = new FileDto();
  183. fileDto.setFileId(fileRelDtos.get(0).getFileSaveName());
  184. fileDto.setFileSaveName(fileRelDtos.get(0).getFileSaveName());
  185. fileDto.setCommunityId(ownerDto.getCommunityId());
  186. List<FileDto> fileDtos = fileInnerServiceSMOImpl.queryFiles(fileDto);
  187. if (ListUtil.isNull(fileDtos)) {
  188. return "";
  189. }
  190. return fileDtos.get(0).getFileName();
  191. }
  192. }