From bbd18f555ee3c0ed368b226cde7a3c64db4a4802 Mon Sep 17 00:00:00 2001 From: 李林 <z1292839451@163.com> Date: 星期二, 02 一月 2024 03:34:17 +0800 Subject: [PATCH] 修订版1.0 --- data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 172 insertions(+), 8 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 f638998..b018ee4 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,24 +1,45 @@ package com.yuanchu.mom.controller; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; +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; import com.yuanchu.mom.pojo.DataReporting; +import com.yuanchu.mom.pojo.FansSubmit; +import com.yuanchu.mom.pojo.FinanceSubmit; import com.yuanchu.mom.service.DataReportingService; -import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.service.FansSubmitService; +import com.yuanchu.mom.service.FinanceSubmitService; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +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 @@ -28,12 +49,16 @@ private DataReportingService dataReportingService; + private FansSubmitService fansSubmitService; + + private FinanceSubmitService financeSubmitService; + @ApiOperation(value = "鑾峰彇鏁版嵁涓婃姤鍒楄〃") @PostMapping("/selectDataReportingList") public Result selectDataReportingList(@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.selectUserList(page, dataReportingPageDto)); + return Result.success(dataReportingService.selectDataReportingList(page, dataReportingPageDto)); } @ApiOperation(value = "淇敼鏁版嵁涓婃姤") @@ -42,4 +67,143 @@ return Result.success(dataReportingService.updateDataReporting(dataReporting)); } + @ApiOperation(value = "鍒犻櫎鏁版嵁涓婃姤淇℃伅") + @PostMapping("/delDataReporting") + public Result delDataReporting(Integer id) { + return Result.success(dataReportingService.delDataReporting(id)); + } + + @ApiOperation(value = "鑾峰彇椤圭洰姹囨�诲垪琛�") + @PostMapping("/selectProductCountDtoPageList") + public Result selectProductCountDtoPageList(@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.selectProductCountDtoPageList(page, productCountDto)); + } + + @ApiOperation(value = "鑾峰彇鐧昏浜烘眹鎬诲垪琛�") + @PostMapping("/selectRegistrantCountDtoPageList") + public Result selectRegistrantCountDtoPageList(@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.selectRegistrantCountDtoPageList(page, registrantCountDto)); + } + + @ApiOperation(value = "鑾峰彇杩涚矇涓婃姤鍒楄〃") + @PostMapping("/selectFansSubmitList") + public Result selectFansSubmitList(@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(fansSubmitService.selectFansSubmitList(page, fansSubmit)); + } + + @ApiOperation(value = "鍒犻櫎杩涚矇涓婃姤鍒楄〃") + @PostMapping("/delFansSubmit") + public Result delFansSubmit(Integer id) { + return Result.success(fansSubmitService.delFansSubmit(id)); + } + + @ApiOperation(value = "淇敼杩涚矇涓婃姤淇℃伅") + @PostMapping("/updateFansSubmit") + public Result<?> updateFansSubmit(@RequestBody FansSubmit fansSubmit) { + return Result.success(fansSubmitService.updateFansSubmit(fansSubmit)); + } + + @ApiOperation(value = "娣诲姞杩涚矇涓婃姤淇℃伅") + @PostMapping("/addFansSubmit") + public Result<?> addFansSubmit(@RequestBody FansSubmit fansSubmit) { + return Result.success(fansSubmitService.addFansSubmit(fansSubmit)); + } + + @ApiOperation(value = "鑾峰彇璐㈠姟涓婃姤鍒楄〃") + @PostMapping("/selectFinanceSubmitList") + public Result selectFinanceSubmitList(@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(financeSubmitService.selectFinanceSubmitList(page, financeSubmit)); + } + + @ApiOperation(value = "鍒犻櫎璐㈠姟涓婃姤鍒楄〃") + @PostMapping("/delFinanceSubmit") + public Result delFinanceSubmit(Integer id) { + return Result.success(financeSubmitService.delFinanceSubmit(id)); + } + + @ApiOperation(value = "淇敼璐㈠姟涓婃姤淇℃伅") + @PostMapping("/updateFinanceSubmit") + public Result<?> updateFinanceSubmit(@RequestBody FinanceSubmit financeSubmit) { + return Result.success(financeSubmitService.updateFinanceSubmit(financeSubmit)); + } + + @ApiOperation(value = "娣诲姞璐㈠姟涓婃姤淇℃伅") + @PostMapping("/addFinanceSubmit") + public Result<?> addFinanceSubmit(@RequestBody FinanceSubmit financeSubmit) { + return Result.success(financeSubmitService.addFinanceSubmit(financeSubmit)); + } + + @ValueAuth + @ApiOperation(value = "鑾峰彇棣栭〉鏁版嵁") + @GetMapping("/getDataList") + public Result<?> getDataList() { + return Result.success(dataReportingService.getDataList()); + } + + @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)); + } + + @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)); + } + } -- Gitblit v1.9.3