From ce97969fce786a9a1dc0bc18acad6261bee73a21 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期二, 02 一月 2024 00:39:12 +0800
Subject: [PATCH] 导出功能
---
data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java | 75 ++++++++++++++++++++++++++++++++++++-
1 files changed, 72 insertions(+), 3 deletions(-)
diff --git a/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
index 74b4779..1b10675 100644
--- a/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
+++ b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
@@ -1,9 +1,17 @@
package com.yuanchu.mom.controller;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.io.resource.ResourceUtil;
+import cn.hutool.core.text.csv.CsvData;
+import cn.hutool.core.text.csv.CsvReader;
+import cn.hutool.core.text.csv.CsvRow;
+import cn.hutool.core.text.csv.CsvUtil;
+import cn.hutool.core.util.CharsetUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.common.GetLook;
+import com.yuanchu.mom.dto.DataReportingCsvDto;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.dto.ProductCountDto;
import com.yuanchu.mom.dto.RegistrantCountDto;
@@ -17,9 +25,21 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
+import org.apache.tomcat.util.http.fileupload.FileUtils;
+import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.math.BigDecimal;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
+import java.util.Objects;
@RequestMapping("/dataReporting")
@RestController
@@ -45,6 +65,12 @@
@PostMapping("/upDataReporting")
public Result upDataReporting(@RequestBody DataReporting dataReporting) {
return Result.success(dataReportingService.updateDataReporting(dataReporting));
+ }
+
+ @ApiOperation(value = "鍒犻櫎鏁版嵁涓婃姤淇℃伅")
+ @PostMapping("/delDataReporting")
+ public Result delDataReporting(Integer id) {
+ return Result.success(dataReportingService.delDataReporting(id));
}
@ApiOperation(value = "鑾峰彇椤圭洰姹囨�诲垪琛�")
@@ -73,7 +99,7 @@
@ApiOperation(value = "鍒犻櫎杩涚矇涓婃姤鍒楄〃")
@PostMapping("/delFansSubmit")
- public Result delFansSubmit(Integer id){
+ public Result delFansSubmit(Integer id) {
return Result.success(fansSubmitService.delFansSubmit(id));
}
@@ -99,7 +125,7 @@
@ApiOperation(value = "鍒犻櫎璐㈠姟涓婃姤鍒楄〃")
@PostMapping("/delFinanceSubmit")
- public Result delFinanceSubmit(Integer id){
+ public Result delFinanceSubmit(Integer id) {
return Result.success(financeSubmitService.delFinanceSubmit(id));
}
@@ -115,11 +141,54 @@
return Result.success(financeSubmitService.addFinanceSubmit(financeSubmit));
}
+ @ValueAuth
@ApiOperation(value = "鑾峰彇棣栭〉鏁版嵁")
@GetMapping("/getDataList")
- @ValueAuth
public Result<?> getDataList() {
return Result.success(dataReportingService.getDataList());
}
+ @ValueAuth
+ @ApiOperation(value = "瀵煎叆")
+ @PostMapping("/inputCsv")
+ public Result<?> inputCsv(@RequestParam("file") MultipartFile file) throws IOException {
+ CsvReader reader = CsvUtil.getReader();
+ CsvData data = reader.read(new InputStreamReader(file.getInputStream(), "GB2312"));
+ List<CsvRow> rows = data.getRows();
+ List<DataReporting> list = new ArrayList<>();
+ for (int i = 5; i < rows.size(); i++) {
+ DataReporting reporting = new DataReporting();
+ reporting.setName(rows.get(i).get(0))
+ .setProduct(rows.get(i).get(1))
+ .setShowNum(Integer.valueOf(rows.get(i).get(3)))
+ .setClick(Integer.valueOf(rows.get(i).get(4)))
+// .setAvgPrice(new BigDecimal(rows.get(i).get(5)))
+ .setAccountConsumption(new BigDecimal(rows.get(i).get(6)));
+// .setSearchBalance(new BigDecimal(rows.get(i).get(6)))
+// .setInfoBalance(new BigDecimal(rows.get(i).get(7)))
+// .setVxClick(Double.valueOf(rows.get(i).get(8)))
+// .setClickThroughRate(rows.get(i).get(9));
+ list.add(reporting);
+ }
+ dataReportingService.addDataReporting(list);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏂板鏁版嵁涓婃姤")
+ @PostMapping("/addDataReporting")
+ public Result<?> addDataReporting(@RequestBody DataReporting dataReporting) {
+ ArrayList<DataReporting> list = new ArrayList<>();
+ list.add(dataReporting);
+ dataReportingService.addDataReporting(list);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "瀵煎嚭鏁版嵁涓婃姤鍒楄〃")
+ @PostMapping("/downDataReportingFile")
+ public Result downDataReportingFile(@RequestBody Map<String, Object> data) {
+ Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+ DataReportingPageDto dataReportingPageDto = JSON.parseObject(JSON.toJSONString(data.get("entity")), DataReportingPageDto.class);
+ return Result.success(dataReportingService.downDataReportingFile(page, dataReportingPageDto));
+ }
+
}
--
Gitblit v1.9.3