From f6f6f1bc5108f5b510fc4e512c87a480afb2a80a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BA=AC=E9=80=9A?= <2405957150@qq.com> Date: Tue, 5 Aug 2025 14:33:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B0=B4=E8=A1=A8=E6=8E=A8?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasend/dianxin/task/StandardTask.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/main/java/com/bootdo/datasend/dianxin/task/StandardTask.java b/src/main/java/com/bootdo/datasend/dianxin/task/StandardTask.java index e8b631d..118d362 100644 --- a/src/main/java/com/bootdo/datasend/dianxin/task/StandardTask.java +++ b/src/main/java/com/bootdo/datasend/dianxin/task/StandardTask.java @@ -645,6 +645,58 @@ public class StandardTask { } } + + @Scheduled(cron = "0 30 2 * * ?") +// @Scheduled(cron = "0/5 * * * * ? ") + public void DeviceWatterInfoRecord() { + LocalDateTime now = LocalDateTime.now(); +// 昨天 + LocalDateTime yesterday = now.minusDays(1); +// 转成yyyy-MM-dd HH:mm:ss格式 + List lists = devicePowerInfoService.list(new QueryWrapper() + .eq("is_send", "0") + .likeRight("deviceSN", "C1E81") + ); + + for (DevicePowerInfo h : lists) { + DevicePowerInfoDTO dto = new DevicePowerInfoDTO(); + DevicePowerInfoDataDTO dataDTO = new DevicePowerInfoDataDTO(); + dataDTO.setRequestFlag("single"); + DevicePowerInfoDataListDTO dataListDTO = new DevicePowerInfoDataListDTO(); + dataListDTO.setDeviceSN(h.getDeviceSN()); + + dataListDTO.setPowerEnd(h.getPowerEnd()); + dataListDTO.setPowerStart(h.getPowerStart()); + dataListDTO.setPowerUse(h.getPowerUse()); + dataListDTO.setRoomNo(h.getRoomNo()); + dataListDTO.setUseDate(h.getUseDate()); + dataListDTO.setUserName(h.getUserName()); + List list = new ArrayList<>(); + list.add(dataListDTO); + dataDTO.setRequestDataList(list); + dto.setRequestData(dataDTO); + String requestBody = JSON.toJSONString(dto, SerializerFeature.BrowserCompatible); + String url = "https://cyy.csxdtx.com:10010/api/zdyq-equipment/dwBoxRecord/acceptDwDeviceUsage"; + + try { + // 发送 POST 请求,这里假设接口返回类型为 String ,可根据实际调整 +// 消息队列发送 +// rabbitTemplate.convertAndSend(queueName, JSON.toJSONString(dto)); +// 调接口 + String result = restTemplate.postForObject(url, requestBody, String.class); + logger.info("调用接口返回结果:{}", result); + + // 若返回码符合成功逻辑(需看接口文档定义),更新发送状态 + h.setIsSend(1); + devicePowerInfoService.saveOrUpdate(h); + logger.info("电表设备用电信息发送成功:" + h.getId()); + } catch (Exception e) { + logger.error("调用接口发送数据失败,记录 ID:{},异常:{}", h.getId(), e.getMessage()); + } + + } + } + public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); // 昨天