From 801164d62ea165e90e77cd7da90829b1615532e3 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期五, 27 九月 2024 13:30:50 +0800
Subject: [PATCH] 9.27

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java |   44 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
index ab353e2..76886af 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -4,14 +4,17 @@
 import cn.hutool.core.img.ImgUtil;
 import cn.hutool.core.io.FileUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
 import com.ruoyi.chargingPile.api.dto.TChargingGunDTO;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.model.TFaultMessage;
 import com.ruoyi.chargingPile.api.query.TChargingGunQuery;
+import com.ruoyi.chargingPile.api.vo.GunStatusStatisticsVO;
 import com.ruoyi.chargingPile.api.vo.SiteNameVO;
 import com.ruoyi.chargingPile.api.vo.TChargingGunVO;
+import com.ruoyi.chargingPile.config.FileUploadConfig;
 import com.ruoyi.chargingPile.service.ISiteService;
 import com.ruoyi.chargingPile.service.TChargingGunService;
 import com.ruoyi.chargingPile.service.TChargingPileService;
@@ -23,8 +26,10 @@
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.log.enums.OperatorType;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.integration.api.feignClient.IntegrationClient;
 import com.ruoyi.integration.api.model.EndCharge;
+import com.ruoyi.order.api.feignClient.ChargingOrderClient;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,8 +44,10 @@
 import java.io.FileReader;
 import java.io.PrintWriter;
 import java.net.URLEncoder;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -57,11 +64,16 @@
 
     @Autowired
     private TChargingGunService chargingGunService;
+    @Resource
+    private ChargingOrderClient chargingOrderClient;
 
     @Resource
     private TChargingPileService chargingPileService;
     @Resource
     private ISiteService siteService;
+    
+    @Autowired
+    private FileUploadConfig fileUploadConfig;
 
     /**
      * 查询充电枪列表
@@ -130,10 +142,9 @@
     @Log(title = "【充电桩信息】结束充电", businessType = BusinessType.OTHER,operatorType = OperatorType.MANAGE)
     @ApiOperation(tags = {"后台-充电枪"},value = "结束充电")
     @PutMapping(value = "/stopCharging")
-    public AjaxResult<String> stopCharging(@RequestParam("id") Integer id) {
-        // TODO 硬件 结束充电
-//        EndCharge endCharge = new EndCharge();
-//        integrationClient.endCharge(endCharge);
+    public AjaxResult<String> stopCharging(@RequestParam("id") String id) {
+        // 硬件 结束充电
+        chargingOrderClient.stopCharging(id);
         return AjaxResult.success();
     }
     
@@ -145,11 +156,13 @@
     public void downloadQRCode(@PathVariable Integer id, HttpServletResponse response){
         try {
             TChargingGun chargingGun = chargingGunService.getById(id);
-            String fileName = URLEncoder.encode(chargingGun.getCode(), "UTF-8") + ".jpg";
+            TChargingPile chargingPile = chargingPileService.getById(chargingGun.getId());
+            String code = chargingPile.getCode() + chargingGun.getCode();
+            String fileName = URLEncoder.encode(code, "UTF-8") + ".jpg";
             response.setContentType("application/force-download");
             response.addHeader("Content-Disposition", "attachment;fileName=" + fileName);
-            String url = "https://www.baidu.com?id=" + id;
-            String filePath = "D:/Program Files/nginx-1.20.2/html";
+            String url = "https://mxcd.zhinenganguan.com?No=" + code;
+            String filePath = fileUploadConfig.getLocation();
             QRCodeUtils.encode(url, filePath);
             FileInputStream inputStream = new FileInputStream(filePath);
             ServletOutputStream out = response.getOutputStream();
@@ -165,7 +178,22 @@
             e.printStackTrace();
         }
     }
-    
+
+    /**
+     * 设备状态统计
+     */
+    @ApiOperation(tags = {"后台-工作台"},value = "设备状态统计")
+    @PutMapping(value = "/gunStatusStatistics")
+    public R<GunStatusStatisticsVO> gunStatusStatistics() {
+        List<Integer> siteIds = new ArrayList<>();
+        Long userId = SecurityUtils.getUserId();
+        //获取当前登录的siteIds
+        PageInfo<GetSiteListDTO> siteList1 = siteService.getSiteList1(userId);
+        for (GetSiteListDTO datum : siteList1.getRecords()) {
+            siteIds.add(datum.getId());
+        }
+        return R.ok(chargingGunService.gunStatusStatistics(siteIds));
+    }
     
     /**
      * 根据id获取充电枪完整名称

--
Gitblit v1.7.1