From c0a5d6a40520cf89b9989cff58c1c64fbed47c2a Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 28 十月 2024 20:21:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java |   69 +++++++++++++++++++---------------
 1 files changed, 39 insertions(+), 30 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index ba97118..d3999b0 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -27,10 +27,12 @@
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.integration.api.model.PageChargingOrderAndUploadRealTimeMonitoringDataDto;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
 import com.ruoyi.integration.api.model.ChargingOrderAndUploadRealTimeMonitoringDataDto;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
 import com.ruoyi.order.api.model.*;
 import com.ruoyi.order.api.query.ChargingOrderQuery;
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
@@ -346,7 +348,6 @@
     public AjaxResult<ChargingOrderInfoVO> chargingOrderInfo(String strategyId) {
         TChargingOrder byId = chargingOrderService.getById(strategyId);
         ChargingOrderInfoVO chargingOrderInfoVO = new ChargingOrderInfoVO();
-
         chargingOrderInfoVO.setCdElectronic(byId.getCurrent()!=null?byId.getCurrent().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":"");
         chargingOrderInfoVO.setCdVoltage(byId.getVoltage()!=null?byId.getVoltage().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":"");
         chargingOrderInfoVO.setSurplus(byId.getTotalElectricity()!=null?byId.getTotalElectricity().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":"");
@@ -509,7 +510,7 @@
     @PostMapping(value = "/chargingOrderWXCallback")
     public void chargingOrderWXCallback(@RequestParam("out_trade_no") String out_trade_no, @RequestParam("transaction_id") String transaction_id,
                                         @RequestParam("attach") String attach) {
-        AjaxResult ajaxResult = chargingOrderService.chargingOrderCallback(1, out_trade_no, transaction_id, attach);
+        chargingOrderService.chargingOrderCallback(1, out_trade_no, transaction_id, attach);
     }
     
     
@@ -791,53 +792,61 @@
     @PostMapping(value = "/watch/chargingOrder")
     @ApiOperation(value = "监控订单", tags = {"管理后台-订单管理"})
     public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) {
-//        Integer page = dto.getPageCurr();
-//        Integer pageSize = dto.getPageSize();
-//        List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData();
-//        dto.setUserIds(data);
-//        dto.setPageCurr(1);
-//        dto.setPageSize(99999);
-
-//        Map<String,TChargingOrder> map = new HashMap<>();
-//        //吧list放入map中
-//        for (ChargingOrderVO record : res.getList().getRecords()) {
-//            map.put(record.getCode(),record);
-//        }
-//        Set<String> strings = map.keySet();
 
         mongoChargingOrderQuery.setPageSize(10);
-        List<UploadRealTimeMonitoringData> data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData();
+        UploadRealTimeMonitoringPageData data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData();
 
         List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
         Map<String,ChargingOrderVO> map  = new HashMap<>();
-        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) {
+        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1.getRecords()) {
             ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto();
             ChargingOrderQuery dto = new ChargingOrderQuery();
             dto.setCode(uploadRealTimeMonitoringData.getTransaction_serial_number());
-            TCharingOrderVO vo = chargingOrderService.chargingOrder(dto);
-            if (!vo.getList().getRecords().isEmpty()) {
-                ChargingOrderVO chargingOrderVO = vo.getList().getRecords().get(0);
-                if (chargingOrderVO != null) {
-                    BeanUtils.copyProperties(chargingOrderVO, dataDto);
+
+            if (map.get(uploadRealTimeMonitoringData.getTransaction_serial_number())==null) {
+                TCharingOrderVO vo = chargingOrderService.chargingOrder(dto);
+                map.put(uploadRealTimeMonitoringData.getTransaction_serial_number(),vo.getList().getRecords().get(0));
+                if (!vo.getList().getRecords().isEmpty()) {
+                    ChargingOrderVO chargingOrderVO = vo.getList().getRecords().get(0);
+                    if (chargingOrderVO != null) {
+                        BeanUtils.copyProperties(chargingOrderVO, dataDto);
+                    }
+                    BeanUtils.copyProperties(uploadRealTimeMonitoringData, dataDto);
+                    dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime());
+                    dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime() == null ? null : uploadRealTimeMonitoringData.getEndTime());
+                    dataDto.setStatus(uploadRealTimeMonitoringData.getStatus());
+                    dtos.add(dataDto);
                 }
-                BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto);
+            }else {
+                ChargingOrderVO vo = map.get(uploadRealTimeMonitoringData.getTransaction_serial_number());
+                BeanUtils.copyProperties(vo, dataDto);
+                BeanUtils.copyProperties(uploadRealTimeMonitoringData, dataDto);
                 dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime());
-                dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime()==null?null:uploadRealTimeMonitoringData.getEndTime());
+                dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime() == null ? null : uploadRealTimeMonitoringData.getEndTime());
                 dataDto.setStatus(uploadRealTimeMonitoringData.getStatus());
                 dtos.add(dataDto);
-            }else {
-                continue;
             }
         }
         for (int i = 0; i < dtos.size(); i++) {
             dtos.get(i).setIndex(i);
         }
 
-        return R.ok(dtos);
+        PageChargingOrderAndUploadRealTimeMonitoringDataDto page = new PageChargingOrderAndUploadRealTimeMonitoringDataDto();
+        page.setTotal(data1.getCount());
+        page.setRecords(dtos);
+
+        return R.ok(page);
     }
-    
-    
-    
+
+
+
+    @ResponseBody
+    @GetMapping(value = "/watch/deletes")
+    @ApiOperation(value = "监控订单-删除", tags = {"管理后台-订单管理"})
+    public R watchChargingOrder(@RequestParam String id) {
+        uploadRealTimeMonitoringDataClient.delete(id);
+        return R.ok();
+    }
     
     /**
      * 处理充电订单实时监控数据相关的业务逻辑

--
Gitblit v1.7.1