From d0c3258ed4871f2b9f03357bfd39b6caeff156b0 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期二, 09 一月 2024 11:07:59 +0800
Subject: [PATCH] 修订版3.0
---
data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java | 217 +++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 190 insertions(+), 27 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 1b10675..2aa2035 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
@@ -11,10 +11,8 @@
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;
+import com.yuanchu.mom.dto.*;
+import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.pojo.DataReporting;
import com.yuanchu.mom.pojo.FansSubmit;
import com.yuanchu.mom.pojo.FinanceSubmit;
@@ -36,10 +34,12 @@
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;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
@RequestMapping("/dataReporting")
@RestController
@@ -112,7 +112,7 @@
@ApiOperation(value = "娣诲姞杩涚矇涓婃姤淇℃伅")
@PostMapping("/addFansSubmit")
public Result<?> addFansSubmit(@RequestBody FansSubmit fansSubmit) {
- return Result.success(fansSubmitService.addFansSubmit(fansSubmit));
+ return Result.success(fansSubmitService.addFansSubmit(fansSubmit, null));
}
@ApiOperation(value = "鑾峰彇璐㈠姟涓婃姤鍒楄〃")
@@ -137,8 +137,8 @@
@ApiOperation(value = "娣诲姞璐㈠姟涓婃姤淇℃伅")
@PostMapping("/addFinanceSubmit")
- public Result<?> addFinanceSubmit(@RequestBody FinanceSubmit financeSubmit) {
- return Result.success(financeSubmitService.addFinanceSubmit(financeSubmit));
+ public Result<?> addFinanceSubmit(@RequestBody FinanceSubmit financeSubmit, String date) {
+ return Result.success(financeSubmitService.addFinanceSubmit(financeSubmit, date));
}
@ValueAuth
@@ -148,29 +148,54 @@
return Result.success(dataReportingService.getDataList());
}
- @ValueAuth
- @ApiOperation(value = "瀵煎叆")
+ @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++) {
+ String format;
+ try {
+ format = new SimpleDateFormat("yyyy-MM-dd").format(new SimpleDateFormat("yyyyMMdd").parse(rows.get(2).get(0).split("锛�")[1]));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ throw new ErrorException("鏂囦欢涓棩鏈熷湪杞崲鏃跺嚭鐜伴敊璇�");
+ }
+ for (int i = 6; 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));
+ for (int i1 = 0; i1 < rows.get(5).size(); i1++) {
+ String str = rows.get(i).get(i1);
+ if (str == null) continue;
+ switch (rows.get(5).get(i1)) {
+ case "璐︽埛":
+ reporting.setName(str);
+ break;
+ case "澶囨敞":
+ String[] split = str.split("-");
+ if (split.length == 4) {
+ reporting.setName2(split[0]);
+ reporting.setChannel(split[1]);
+ reporting.setAgent(split[2]);
+ reporting.setProduct(split[3]);
+ break;
+ }
+ reporting.setProduct(str);
+ break;
+ case "灞曠幇閲�":
+ reporting.setShowNum(Integer.parseInt(str));
+ break;
+ case "鐐瑰嚮閲�":
+ reporting.setClick(Integer.parseInt(str));
+ break;
+ case "娑堣垂":
+ reporting.setAccountConsumption(new BigDecimal(str));
+ break;
+ }
+ }
list.add(reporting);
}
- dataReportingService.addDataReporting(list);
+ dataReportingService.addDataReporting(list, format);
return Result.success();
}
@@ -179,7 +204,7 @@
public Result<?> addDataReporting(@RequestBody DataReporting dataReporting) {
ArrayList<DataReporting> list = new ArrayList<>();
list.add(dataReporting);
- dataReportingService.addDataReporting(list);
+ dataReportingService.addDataReporting(list, null);
return Result.success();
}
@@ -188,7 +213,145 @@
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));
+ return Result.success("瀵煎嚭鎴愬姛", dataReportingService.downDataReportingFile(page, dataReportingPageDto));
}
+ @ApiOperation(value = "瀵煎嚭椤圭洰鏁版嵁缁熻鍒楄〃")
+ @PostMapping("/downProductCountFile")
+ public Result downProductCountFile(@RequestBody Map<String, Object> data) {
+ Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+ ProductCountDto productCountDto = JSON.parseObject(JSON.toJSONString(data.get("entity")), ProductCountDto.class);
+ return Result.success("瀵煎嚭鎴愬姛", dataReportingService.downProductCountFile(page, productCountDto));
+ }
+
+ @ApiOperation(value = "瀵煎嚭鍛樺伐鏁版嵁缁熻鍒楄〃")
+ @PostMapping("/downRegistrantCountFile")
+ public Result downRegistrantCountFile(@RequestBody Map<String, Object> data) {
+ Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+ RegistrantCountDto registrantCountDto = JSON.parseObject(JSON.toJSONString(data.get("entity")), RegistrantCountDto.class);
+ return Result.success("瀵煎嚭鎴愬姛", dataReportingService.downRegistrantCountFile(page, registrantCountDto));
+ }
+
+ @ApiOperation(value = "瀵煎嚭杩涚矇涓婃姤鍒楄〃")
+ @PostMapping("/downFansSubmitFile")
+ public Result downFansSubmitFile(@RequestBody Map<String, Object> data) {
+ Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+ FansSubmit fansSubmit = JSON.parseObject(JSON.toJSONString(data.get("entity")), FansSubmit.class);
+ return Result.success("瀵煎嚭鎴愬姛", dataReportingService.downFansSubmitFile(page, fansSubmit));
+ }
+
+ @ApiOperation(value = "瀵煎叆杩涚矇涓婃姤鍒楄〃")
+ @PostMapping("/inputFansSubmitCsv")
+ public Result<?> inputFansSubmitCsv(@RequestParam("file") MultipartFile file) throws IOException {
+ CsvReader reader = CsvUtil.getReader();
+ CsvData data = reader.read(new InputStreamReader(file.getInputStream(), "GB2312"));
+ List<CsvRow> rows = data.getRows();
+ String format;
+ try {
+ format = new SimpleDateFormat("yyyy-MM-dd").format(new SimpleDateFormat("yyyyMMdd").parse(rows.get(2).get(0).split("锛�")[1]));
+ } catch (ParseException e) {
+ throw new ErrorException("鏂囦欢涓棩鏈熷湪杞崲鏃跺嚭鐜伴敊璇�");
+ }
+ for (int i = 6; i < rows.size(); i++) {
+ FansSubmit fansSubmit = new FansSubmit();
+ for (int i1 = 0; i1 < rows.get(5).size(); i1++) {
+ String str = rows.get(i).get(i1);
+ if (str == null) continue;
+ switch (rows.get(5).get(i1)) {
+ case "瀹㈡埛":
+ fansSubmit.setCustom(str);
+ break;
+ case "椤圭洰":
+ fansSubmit.setProduct(str);
+ break;
+ case "寰俊鍙�":
+ fansSubmit.setVx(str);
+ break;
+ case "杩涚矇":
+ fansSubmit.setFansAdd(Integer.parseInt(str));
+ break;
+ }
+ }
+ fansSubmitService.addFansSubmit(fansSubmit, format);
+ }
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鑾峰彇鏁版嵁瀵规瘮鍒楄〃")
+ @PostMapping("/selectDataComparisonDtoPageList")
+ public Result selectDataComparisonDtoPageList(@RequestBody Map<String, Object> data) {
+ Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+ DataComparisonDto dataComparisonDto = JSON.parseObject(JSON.toJSONString(data.get("entity")), DataComparisonDto.class);
+ Map<String, Object> stringObjectMap = dataReportingService.selectDataComparisonDtoPageList(page, dataComparisonDto);
+ return Result.success(stringObjectMap);
+ }
+
+ @ApiOperation(value = "瀵煎嚭璐㈠姟涓婃姤鍒楄〃")
+ @PostMapping("/downFinanceSubmitFile")
+ public Result downFinanceSubmitFile(@RequestBody Map<String, Object> data) {
+ Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+ FinanceSubmit financeSubmit = JSON.parseObject(JSON.toJSONString(data.get("entity")), FinanceSubmit.class);
+ return Result.success("瀵煎嚭鎴愬姛", dataReportingService.downFinanceSubmitFile(page, financeSubmit));
+ }
+
+ @ApiOperation(value = "瀵煎叆璐㈠姟涓婃姤鍒楄〃")
+ @PostMapping("/inputFinanceSubmitCsv")
+ public Result<?> inputFinanceSubmitCsv(@RequestParam("file") MultipartFile file) throws IOException {
+ CsvReader reader = CsvUtil.getReader();
+ CsvData data = reader.read(new InputStreamReader(file.getInputStream(), "GB2312"));
+ List<CsvRow> rows = data.getRows();
+ String format;
+ try {
+ format = new SimpleDateFormat("yyyy-MM-dd").format(new SimpleDateFormat("yyyyMMdd").parse(rows.get(2).get(0).split("锛�")[1]));
+ } catch (ParseException e) {
+ throw new ErrorException("鏂囦欢涓棩鏈熷湪杞崲鏃跺嚭鐜伴敊璇�");
+ }
+ for (int i = 6; i < rows.size(); i++) {
+ FinanceSubmit financeSubmit = new FinanceSubmit();
+ for (int i1 = 0; i1 < rows.get(5).size(); i1++) {
+ String str = rows.get(i).get(i1);
+ if (str == null) continue;
+ switch (rows.get(5).get(i1)) {
+ case "浠g悊鍟�":
+ financeSubmit.setCompany(str);
+ break;
+ case "璐︽埛鍚�":
+ financeSubmit.setName(str);
+ break;
+ case "閲戦":
+ try {
+ financeSubmit.setConsumption(new BigDecimal(str));
+ } catch (Exception e) {
+ }
+ break;
+ case "浠g悊杩旂偣":
+ try {
+ financeSubmit.setAgentRebate(new BigDecimal(str));
+ } catch (Exception e) {
+ }
+ break;
+ case "鎵撴浜烘皯甯�":
+ try {
+ financeSubmit.setMoney(new BigDecimal(str));
+ } catch (Exception e) {
+ }
+ break;
+ case "鍛樺伐杩旂偣":
+ try {
+ financeSubmit.setEmployeeRebate(new BigDecimal(str));
+ } catch (Exception e) {
+ }
+ break;
+ case "鍛樺伐杩旂偣浜烘皯甯�":
+ try {
+ financeSubmit.setEmployeeRebateMoney(new BigDecimal(str));
+ } catch (Exception e) {
+ }
+ break;
+ }
+ }
+ financeSubmitService.addFinanceSubmit(financeSubmit, format);
+ }
+ return Result.success();
+ }
}
--
Gitblit v1.9.3