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