| | |
| | | import com.java110.core.context.ICmdDataFlowContext; |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.dto.RoomDto; |
| | | import com.java110.dto.basePrivilege.BasePrivilegeDto; |
| | | import com.java110.dto.room.RoomDto; |
| | | import com.java110.dto.privilege.BasePrivilegeDto; |
| | | import com.java110.dto.machine.MachineTranslateDto; |
| | | import com.java110.dto.owner.OwnerCarDto; |
| | | import com.java110.dto.owner.OwnerRoomRelDto; |
| | | import com.java110.dto.parking.ParkingSpaceDto; |
| | | import com.java110.intf.common.IMachineTranslateV1InnerServiceSMO; |
| | | import com.java110.intf.community.IMenuInnerServiceSMO; |
| | | import com.java110.intf.community.IParkingSpaceInnerServiceSMO; |
| | | import com.java110.intf.community.IRoomInnerServiceSMO; |
| | |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.ListUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | @Autowired |
| | | private IRoomInnerServiceSMO roomInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IMachineTranslateV1InnerServiceSMO machineTranslateV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { |
| | | super.validateProperty(cmdDataFlowContext); |
| | | Assert.jsonObjectHaveKey(reqJson, "page", "请求中未包含page信息"); |
| | | Assert.jsonObjectHaveKey(reqJson, "row", "请求中未包含row信息"); |
| | | Assert.jsonObjectHaveKey(reqJson, "communityId", "请求中未包含communityId信息"); |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "请求中未包含communityId信息"); |
| | | Assert.isInteger(reqJson.getString("page"), "不是有效数字"); |
| | | Assert.isInteger(reqJson.getString("row"), "不是有效数字"); |
| | | } |
| | |
| | | parkingSpaceDto.setNum(reqJson.getString("num")); |
| | | parkingSpaceDto.setCommunityId(reqJson.getString("communityId")); |
| | | List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto); |
| | | if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) { |
| | | if (ListUtil.isNull(parkingSpaceDtos)) { |
| | | ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(1, 1, new JSONArray()); |
| | | cmdDataFlowContext.setResponseEntity(responseEntity); |
| | | return; |
| | |
| | | if (total > 0) { |
| | | ownerCarDtoList = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto); |
| | | //小区20条时刷房屋和车位信息 |
| | | if (row < 20) { |
| | | if (row < 21) { |
| | | freshPs(ownerCarDtoList); |
| | | freshRoomInfo(ownerCarDtoList); |
| | | //刷入同步物联网状态 |
| | | freshTransactionIotState(ownerCarDtoList); |
| | | } |
| | | } else { |
| | | ownerCarDtoList = new ArrayList<>(); |
| | |
| | | privileges = menuInnerServiceSMOImpl.checkUserHasResource(basePrivilegeDto); |
| | | if (privileges == null || privileges.size() == 0) { |
| | | for (OwnerCarDto tmpOwnerCarDto : ownerCarDtoList) { |
| | | switch (tmpOwnerCarDto.getCarTypeCd()) { |
| | | case "R" : tmpOwnerCarDto.setLeaseTypeName("租客车");break; |
| | | case "I" : tmpOwnerCarDto.setLeaseTypeName("业委会照顾车");break; |
| | | case "NM" : tmpOwnerCarDto.setLeaseTypeName("小区业主产权车");break; |
| | | case "SP" : tmpOwnerCarDto.setLeaseTypeName("商铺车");break; |
| | | case "H" : tmpOwnerCarDto.setLeaseTypeName("月租车");break; |
| | | } |
| | | String link = tmpOwnerCarDto.getLink(); |
| | | if (!StringUtil.isEmpty(link)) { |
| | | link = link.substring(0, 3) + "****" + link.substring(7); |
| | |
| | | } |
| | | ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) total / (double) row), total, ownerCarDtoList); |
| | | cmdDataFlowContext.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | private void freshTransactionIotState(List<OwnerCarDto> ownerCarDtoList) { |
| | | if (ownerCarDtoList == null || ownerCarDtoList.size() < 1) { |
| | | return; |
| | | } |
| | | List<String> memberIds = new ArrayList<>(); |
| | | for (OwnerCarDto ownerCarDto : ownerCarDtoList) { |
| | | if (StringUtil.isEmpty(ownerCarDto.getPsId())) { |
| | | continue; |
| | | } |
| | | memberIds.add(ownerCarDto.getMemberId()); |
| | | } |
| | | |
| | | MachineTranslateDto machineTranslateDto = new MachineTranslateDto(); |
| | | machineTranslateDto.setObjIds(memberIds.toArray(new String[memberIds.size()])); |
| | | List<MachineTranslateDto> machineTranslateDtos = machineTranslateV1InnerServiceSMOImpl.queryObjStateInMachineTranslates(machineTranslateDto); |
| | | |
| | | if (machineTranslateDtos == null || machineTranslateDtos.size() < 1) { |
| | | return; |
| | | } |
| | | |
| | | for (OwnerCarDto ownerCarDto : ownerCarDtoList) { |
| | | for (MachineTranslateDto tmpMachineTranslateDto : machineTranslateDtos) { |
| | | if (!ownerCarDto.getMemberId().equals(tmpMachineTranslateDto.getObjId())) { |
| | | continue; |
| | | } |
| | | ownerCarDto.setIotStateName(tmpMachineTranslateDto.getStateName()); |
| | | ownerCarDto.setIotRemark(tmpMachineTranslateDto.getRemark()); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | private void freshPs(List<OwnerCarDto> ownerCarDtoList) { |
| | |
| | | private void doFreshRoomInfo(OwnerCarDto ownerCarDto) { |
| | | OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); |
| | | ownerRoomRelDto.setOwnerId(ownerCarDto.getOwnerId()); |
| | | ownerRoomRelDto.setPage(1); |
| | | ownerRoomRelDto.setRow(3); //只展示3个房屋以内 不然页面太乱 |
| | | List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); |
| | | if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) { |
| | | if (ListUtil.isNull(ownerRoomRelDtos)) { |
| | | ownerCarDto.setRoomName("-"); |
| | | return; |
| | | } |
| | |
| | | List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); |
| | | String roomName = ""; |
| | | for (RoomDto tRoomDto : roomDtos) { |
| | | roomName += (tRoomDto.getFloorNum() + "栋" + tRoomDto.getUnitNum() + "单元" + tRoomDto.getRoomNum() + "室" + "/"); |
| | | roomName += (tRoomDto.getFloorNum() + "-" + tRoomDto.getUnitNum() + "-" + tRoomDto.getRoomNum() + "/"); |
| | | } |
| | | roomName = roomName.endsWith("/") ? roomName.substring(0, roomName.length() - 1) : roomName; |
| | | ownerCarDto.setRoomName(roomName); |