|
@@ -1,5 +1,6 @@
|
|
|
package com.zoniot.wg.controller;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.zoniot.wg.dao.DeviceMapper;
|
|
|
import com.zoniot.wg.dao.MeterReadRecordMapper;
|
|
|
import com.zoniot.wg.dto.RequestBodyDto;
|
|
@@ -50,11 +51,11 @@ public class ExternalApiController {
|
|
|
public RequestDto updateUserCode(
|
|
|
@ApiParam(value = "结果", required = true) @RequestBody(required = true) RequestDto result
|
|
|
) {
|
|
|
+ log.info("updateUserCode result = " + result);
|
|
|
RequestDto requestDto = new RequestDto();
|
|
|
requestDto.setHead(result.getHead());
|
|
|
requestDto.getHead().setTime(LocalDateTime.now().format(df));
|
|
|
try {
|
|
|
- log.info("updateUserCode result = " + result);
|
|
|
Map<String,Object> map = (LinkedHashMap<String, Object>) result.getBody();
|
|
|
List<LinkedHashMap<String, Object>> list = (List<LinkedHashMap<String, Object>>) map.get("request");
|
|
|
if (list != null && list.size() > 0) {
|
|
@@ -80,11 +81,14 @@ public class ExternalApiController {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
RequestBodyDto requestBodyDto = new RequestBodyDto<>();
|
|
|
requestBodyDto.setState("success");
|
|
|
requestDto.setBody(requestBodyDto);
|
|
|
+ log.info("updateUserCode success {}",JSON.toJSONString(requestBodyDto));
|
|
|
return requestDto;
|
|
|
}catch (Exception e){
|
|
|
+ log.info("Exception {}", JSON.toJSONString(e));
|
|
|
RequestBodyDto requestBodyDto = new RequestBodyDto<>();
|
|
|
requestBodyDto.setState("fail");
|
|
|
requestBodyDto.setErrMsg(e.getMessage());
|
|
@@ -101,11 +105,12 @@ public class ExternalApiController {
|
|
|
public RequestDto getMeterReadList(
|
|
|
@ApiParam(value = "结果", required = true) @RequestBody(required = true) RequestDto result
|
|
|
) {
|
|
|
+ log.info("getMeterReadList result = " + result);
|
|
|
RequestDto requestDto = new RequestDto();
|
|
|
requestDto.setHead(result.getHead());
|
|
|
requestDto.getHead().setTime(LocalDateTime.now().format(df));
|
|
|
try {
|
|
|
- log.info("getMeterReadList result = " + result);
|
|
|
+
|
|
|
Map<String,Object> body = (LinkedHashMap<String, Object>) result.getBody();
|
|
|
ArrayList<Object> request = (ArrayList<Object>) body.get("request");
|
|
|
List<String> meterNos = new ArrayList<>();
|
|
@@ -122,12 +127,15 @@ public class ExternalApiController {
|
|
|
Integer date = Integer.valueOf(LocalDate.now().plusDays(-1).format(DateTimeFormatter.ofPattern("yyyyMMdd")));;
|
|
|
|
|
|
List<RequestMaterInfo> list = this.getReadingMeter(customerId,date,meterNos);
|
|
|
+
|
|
|
RequestBodyDto requestBodyDto = new RequestBodyDto<>();
|
|
|
requestBodyDto.setState("success");
|
|
|
requestBodyDto.setResult(list);
|
|
|
requestDto.setBody(requestBodyDto);
|
|
|
+ log.info("getMeterReadList success");
|
|
|
return requestDto;
|
|
|
}catch (Exception e){
|
|
|
+ log.info("Exception {}",JSON.toJSONString(e));
|
|
|
RequestBodyDto requestBodyDto = new RequestBodyDto<>();
|
|
|
requestBodyDto.setState("fail");
|
|
|
requestBodyDto.setErrMsg(e.getMessage());
|
|
@@ -138,17 +146,33 @@ public class ExternalApiController {
|
|
|
}
|
|
|
|
|
|
private List<RequestMaterInfo> getReadingMeter(Integer customerId, Integer date, List<String> meterNos) {
|
|
|
- //List<RequestMaterInfo> list = meterReadRecordMapper.getReadingMeter(customerId,date,meterNo);
|
|
|
+ //List<RequestMaterInfo> list = meterReadRecordMapper.getReadingMeterV2(customerId,date,meterNos);
|
|
|
+ List<Device> deviceList = deviceMapper.getList(customerId,meterNos);
|
|
|
+ List<Long> deviceIdList = new ArrayList<>();
|
|
|
+ for (Device device : deviceList) {
|
|
|
+ deviceIdList.add(device.getId());
|
|
|
+ }
|
|
|
|
|
|
List<RequestMaterInfo> list = new ArrayList<>();
|
|
|
List<MeterReadRecord> readRecordList = new ArrayList<>();
|
|
|
- if (meterNos == null || meterNos.size() == 0) {
|
|
|
+ if (deviceIdList == null || deviceIdList.size() == 0) {
|
|
|
readRecordList = meterReadRecordRepository.findByReadDateAndCustomerIdAndReadStatus(date,customerId,"2");
|
|
|
}else {
|
|
|
- readRecordList = meterReadRecordRepository.findByReadDateAndCustomerIdAndReadStatusAndMeterFileNoIn(date,customerId,"2",meterNos);
|
|
|
+ readRecordList = meterReadRecordRepository.findByReadDateAndCustomerIdAndReadStatusAndDeviceIdIn(date,customerId,"2",deviceIdList);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
if (readRecordList != null && readRecordList.size() > 0) {
|
|
|
for (MeterReadRecord meterReadRecord : readRecordList) {
|
|
|
+ for (Device device : deviceList) {
|
|
|
+ if(meterReadRecord.getDeviceId().equals(device.getId())){
|
|
|
+ meterReadRecord.setMeterFileNo(device.getWaterMeterFileNo());
|
|
|
+ meterReadRecord.setMeterNo(device.getWaterMeterNo());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
RequestMaterInfo requestMaterInfo = new RequestMaterInfo();
|
|
|
requestMaterInfo.setCiid(meterReadRecord.getMeterFileNo());
|
|
|
requestMaterInfo.setMiid(meterReadRecord.getMeterNo());
|