From a85b63f3e4d933df586714ea91c69a3fd5d16b99 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 06 十二月 2024 11:56:07 +0800
Subject: [PATCH] 合作商权限

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java |   56 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 32 insertions(+), 24 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 38103ce..a619468 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
@@ -1,16 +1,15 @@
 package com.ruoyi.chargingPile.controller;
 
 
-import cn.hutool.core.img.ImgUtil;
-import cn.hutool.core.io.FileUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.GetChargingGunByCode;
 import com.ruoyi.chargingPile.api.vo.GunStatusStatisticsVO;
 import com.ruoyi.chargingPile.api.vo.SiteNameVO;
 import com.ruoyi.chargingPile.api.vo.TChargingGunVO;
@@ -21,14 +20,11 @@
 import com.ruoyi.chargingPile.util.QRCodeUtils;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.domain.AjaxResult;
-import com.ruoyi.common.core.web.domain.BaseDelete;
 import com.ruoyi.common.core.web.page.PageInfo;
 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;
@@ -38,13 +34,11 @@
 import javax.annotation.Resource;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
-import java.awt.image.BufferedImage;
 import java.io.*;
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
@@ -140,8 +134,10 @@
     @ApiOperation(tags = {"后台-充电枪"},value = "结束充电")
     @PutMapping(value = "/stopCharging")
     public AjaxResult<String> stopCharging(@RequestParam("id") String id) {
+        // 根据充电枪id 查询最新的一笔订单
+        String data = chargingOrderClient.queryOrderByGunId(id).getData();
         // 硬件 结束充电
-        chargingOrderClient.stopCharging(id);
+        chargingOrderClient.stopCharging(data);
         return AjaxResult.success();
     }
     
@@ -153,7 +149,7 @@
     public void downloadQRCode(@PathVariable Integer id, HttpServletResponse response){
         try {
             TChargingGun chargingGun = chargingGunService.getById(id);
-            TChargingPile chargingPile = chargingPileService.getById(chargingGun.getId());
+            TChargingPile chargingPile = chargingPileService.getById(chargingGun.getChargingPileId());
             String code = chargingPile.getCode() + chargingGun.getCode();
             String fileName = URLEncoder.encode(code, "UTF-8") + ".jpg";
             response.setContentType("application/force-download");
@@ -172,16 +168,24 @@
             out.close();
             inputStream.close();
             
-            //清楚服务器上的文件
-            Process process = null;
+            //清除服务器上的文件
             try {
-                process = Runtime.getRuntime().exec("sudo rm -rf " + filePath);
-            } catch (IOException e) {
-                throw new RuntimeException(e);
+                // 使用Runtime执行命令
+                Process process = Runtime.getRuntime().exec("sudo rm -rf " + filePath);
+                // 读取命令的输出
+                BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
+                String line;
+                while ((line = reader.readLine()) != null) {
+                    System.out.println(line);
+                }
+                // 等待命令执行完成
+                process.waitFor();
+                // 关闭流
+                reader.close();
+            } catch (IOException | InterruptedException e) {
+                e.printStackTrace();
             }
-            if (process != null) {
-                process.destroy();
-            }
+            
         }catch (Exception e){
             e.printStackTrace();
         }
@@ -240,10 +244,10 @@
         TChargingGun chargingGun = chargingGunService.getById(id);
         siteNameVO.setGunName(chargingGun.getName());
         siteNameVO.setGunNumber(chargingGun.getCode());
-        TChargingPile chargingPile = chargingPileService.getById(id);
+        TChargingPile chargingPile = chargingPileService.getById(chargingGun.getChargingPileId());
         siteNameVO.setPileName(chargingPile.getName());
         siteNameVO.setPileNumber(chargingPile.getNumber());
-        Site site = siteService.getById(id);
+        Site site = siteService.getById(chargingGun.getSiteId());
         siteNameVO.setSiteName(site.getName());
         return R.ok(siteNameVO);
     }
@@ -252,11 +256,15 @@
      * @param code
      * @return
      */
-    @PostMapping("/getChargingGunByCode/{code}")
-    public R<TChargingGun> getChargingGunByCode(@PathVariable("code") String code){
+    @PostMapping("/getChargingGunByCode")
+    public R<TChargingGun> getChargingGunByCode(@RequestBody GetChargingGunByCode code){
+        TChargingPile chargingPile = chargingPileService.getOne(new LambdaQueryWrapper<TChargingPile>()
+                .eq(TChargingPile::getCode, code.getCharging_pile_code()).eq(TChargingPile::getDelFlag, 0));
         return R.ok(chargingGunService.getOne(Wrappers.lambdaQuery(TChargingGun.class)
-                .eq(TChargingGun::getCode, code)
-                .last("LIMIT 1")));
+                        .eq(TChargingGun::getChargingPileId, chargingPile.getId())
+                        .eq(TChargingGun::getCode, code.getCharging_gun_code())
+                        .eq(TChargingGun::getDelFlag, 0)
+                        .last("LIMIT 1")));
     }
     /**
      * 根据枪编号获取充电枪

--
Gitblit v1.7.1