From 7cf8ae446e880537a38bd7ac403bd53741a5294f Mon Sep 17 00:00:00 2001 From: 李林 <z1292839451@163.com> Date: 星期一, 08 一月 2024 09:21:19 +0800 Subject: [PATCH] 修订版2.0 --- data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 93 insertions(+), 20 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 b018ee4..30d1cac 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 @@ -15,6 +15,7 @@ import com.yuanchu.mom.dto.DataReportingPageDto; import com.yuanchu.mom.dto.ProductCountDto; import com.yuanchu.mom.dto.RegistrantCountDto; +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 +37,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 +115,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 +140,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 @@ -155,21 +158,47 @@ 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(); } @@ -178,7 +207,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(); } @@ -206,4 +235,48 @@ 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(); + } } -- Gitblit v1.9.3