From 25c8b9a4f52718e8909cee652d58fd6cfd2f4cc3 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期一, 26 八月 2024 17:09:50 +0800 Subject: [PATCH] 完善二维码下载功能 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java | 36 +++++++++++++++++++++++++++++++----- 1 files changed, 31 insertions(+), 5 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 9762411..cc6f241 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,6 +1,7 @@ package com.ruoyi.chargingPile.controller; +import cn.hutool.core.io.FileUtil; import com.ruoyi.chargingPile.api.dto.TChargingGunDTO; import com.ruoyi.chargingPile.api.model.TChargingGun; import com.ruoyi.chargingPile.api.model.TChargingPile; @@ -8,6 +9,7 @@ import com.ruoyi.chargingPile.api.vo.TChargingGunVO; import com.ruoyi.chargingPile.service.TChargingGunService; import com.ruoyi.chargingPile.service.TChargingPileService; +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; @@ -22,6 +24,10 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.FileInputStream; +import java.io.PrintWriter; +import java.net.URLEncoder; +import java.util.Arrays; import java.util.List; /** @@ -103,8 +109,9 @@ @Log(title = "批量删除充电枪", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE) @ApiOperation(tags = {"后台-充电枪"},value = "批量删除充电枪") @DeleteMapping(value = "/deleteByIds") - public AjaxResult<Boolean> deleteByIds(@RequestBody BaseDelete baseDelete) { - return AjaxResult.ok(chargingGunService.removeByIds(baseDelete.getIds())); + public AjaxResult<Boolean> deleteByIds(@RequestParam String ids) { + String[] split = ids.split(","); + return AjaxResult.ok(chargingGunService.removeByIds(Arrays.asList(split))); } /** @@ -112,8 +119,8 @@ */ @Log(title = "结束充电", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE) @ApiOperation(tags = {"后台-充电枪"},value = "结束充电") - @PostMapping(value = "/stopCharging") - public AjaxResult<String> stopCharging() { + @PutMapping(value = "/stopCharging") + public AjaxResult<String> stopCharging(@RequestParam("id") Integer id) { // TODO 硬件 结束充电 return AjaxResult.success(); } @@ -123,7 +130,26 @@ @ApiOperation(tags = {"管理后台-充电桩信息"},value = "下载二维码") @GetMapping(value = "/downloadQRCode/{id}") public void downloadQRCode(@PathVariable Integer id, HttpServletResponse response){ - // todo 待完善 + try { + TChargingGun chargingGun = chargingGunService.getById(id); + response.setContentType("image/jpeg"); + response.setHeader("Content-Disposition","attachment; filename=" + URLEncoder.encode(chargingGun.getName(), "UTF-8") + ".jpeg"); + String url = "https://www.baidu.com?id=" + id; + String filePath = ""; + QRCodeUtils.encode(url, filePath); + FileInputStream inputStream = new FileInputStream(filePath); + PrintWriter out = response.getWriter(); + int len = 0; + byte[] buf = new byte[1024]; + while ((len = inputStream.read(buf, 0, 1024)) != -1) { + out.println(buf); + } + out.flush(); + out.close(); + inputStream.close(); + }catch (Exception e){ + e.printStackTrace(); + } } -- Gitblit v1.7.1