From 4109495b9c51a4bbd8b0a7c3c69093909d2e33e1 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 07 四月 2025 18:55:05 +0800
Subject: [PATCH] 修改接口bug

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WarnController.java |   43 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WarnController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WarnController.java
index a2652cc..550d9ad 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WarnController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WarnController.java
@@ -1,5 +1,7 @@
 package com.ruoyi.system.controller;
 
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
+import cn.afterturn.easypoi.excel.entity.ExportParams;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.page.PageInfo;
@@ -15,13 +17,17 @@
 import com.ruoyi.system.service.IWarnService;
 import com.ruoyi.system.util.GDMapGeocodingUtil;
 import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.math.BigDecimal;
+import java.net.URLEncoder;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -56,9 +62,38 @@
 	}
 	
 	
+	@GetMapping("/exportCarWarnList")
+	@ApiOperation(value = "导出车辆预警列表数据", tags = {"预警记录"})
+	public void exportCarWarnList(CarWarnListReq carWarnListReq, HttpServletResponse response) {
+		carWarnListReq.setPageSize(99999);
+		PageInfo<CarWarnListResp> pageInfo = warnService.getCarWarnList(carWarnListReq);
+		Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), CarWarnListResp.class, pageInfo.getRecords());
+		response.setCharacterEncoding("utf-8");
+		ServletOutputStream outputStream = null;
+		try {
+			String fileName = URLEncoder.encode("预警记录.xls", "utf-8");
+			response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+			response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+			response.setHeader("Pragma", "no-cache");
+			response.setHeader("Cache-Control", "no-cache");
+			outputStream = response.getOutputStream();
+			workbook.write(outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				workbook.close();
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	
 	@GetMapping("/getCarWarnInfo")
 	@ApiOperation(value = "获取车辆预警详情数据", tags = {"车辆管理", "预警记录"})
-	public R<CarWarnInfoResp> getCarWarnInfo(@PathVariable("vehicleNumber") String vehicleNumber) {
+	public R<CarWarnInfoResp> getCarWarnInfo(String vehicleNumber) {
 		Car car = carService.getOne(new LambdaQueryWrapper<Car>().eq(Car::getVehicleNumber, vehicleNumber));
 		if (null == car) {
 			return R.ok();
@@ -71,7 +106,9 @@
 		carWarnInfoResp.setSpeed(new BigDecimal(gnssDataVo.getVec1()));
 		Map<String, String> geocode = null;
 		try {
-			geocode = GDMapGeocodingUtil.geocode(Double.valueOf(gnssDataVo.getLon() / 1000000).toString(), Double.valueOf(gnssDataVo.getLat() / 1000000).toString());
+			String longitude = new BigDecimal(gnssDataVo.getLon()).divide(new BigDecimal(1000000)).toString();
+			String latitude = new BigDecimal(gnssDataVo.getLat()).divide(new BigDecimal(1000000)).toString();
+			geocode = GDMapGeocodingUtil.geocode(longitude, latitude);
 		} catch (Exception e) {
 			throw new RuntimeException(e);
 		}

--
Gitblit v1.7.1