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/dto/DataReportingCsvDto.java | 48 ++++++++ data-server/src/main/java/com/yuanchu/mom/dto/DataReportingPageDto.java | 3 system-run/src/main/resources/application-prod.yml | 10 framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java | 4 framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java | 7 + data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java | 75 ++++++++++++ data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java | 2 data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java | 26 ++++ data-server/src/main/resources/mapper/DataReportingMapper.xml | 6 data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java | 2 user-server/src/main/java/com/yuanchu/mom/controller/UserController.java | 5 data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java | 2 user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java | 2 user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java | 2 system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java | 4 user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java | 2 data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java | 7 + user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java | 2 framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java | 1 data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java | 124 ++++++++++++++++++-- 20 files changed, 301 insertions(+), 33 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)); + } + } diff --git a/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingCsvDto.java b/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingCsvDto.java new file mode 100644 index 0000000..96905f9 --- /dev/null +++ b/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingCsvDto.java @@ -0,0 +1,48 @@ +package com.yuanchu.mom.dto; + +import cn.hutool.core.annotation.Alias; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Accessors(chain = true) +public class DataReportingCsvDto { + + @Alias("璐︽埛") + private String name; + + @Alias("澶囨敞") + private String remark; + + @Alias("灞曠幇閲�") + private Integer show; + + @Alias("鐐瑰嚮閲�") + private Integer click; + + @Alias("骞冲潎鐐瑰嚮浠锋牸") + private BigDecimal avgPrice; + + @Alias("娑堣垂") + private BigDecimal consumption; + + @Alias("鎼滅储鎺ㄥ箍浣欓") + private BigDecimal searchBalance; + + @Alias("淇℃伅娴佹帹骞夸綑棰�") + private BigDecimal infoBalance; + + @Alias("寰俊澶嶅埗鎸夐挳鐐瑰嚮閲�") + private Double vxClick; + + @Alias("鐐瑰嚮鐜�") + private String clickThroughRate; + +} diff --git a/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingPageDto.java b/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingPageDto.java index f59cbd7..9b93280 100644 --- a/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingPageDto.java +++ b/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingPageDto.java @@ -1,5 +1,6 @@ package com.yuanchu.mom.dto; +import cn.hutool.core.annotation.Alias; import com.yuanchu.mom.annotation.ValueTableShow; import com.yuanchu.mom.pojo.DataReporting; import io.swagger.annotations.ApiModelProperty; @@ -12,10 +13,12 @@ @NoArgsConstructor public class DataReportingPageDto extends DataReporting { + @Alias("鍒涘缓鐢ㄦ埛") @ValueTableShow(21) @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛") private String createUserName; + @Alias("鏇存柊鐢ㄦ埛") @ValueTableShow(22) @ApiModelProperty(value = "鏇存柊鐢ㄦ埛") private String updateUserName; diff --git a/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java b/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java index ce4dc73..88a955f 100644 --- a/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java +++ b/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java @@ -36,6 +36,8 @@ List<Map<String, String>> getDataFor5(); + Map<String, String> selectUser(Integer userId); + } diff --git a/data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java b/data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java index ee8268a..acfaf60 100644 --- a/data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java +++ b/data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java @@ -9,6 +9,7 @@ import java.time.LocalDateTime; import java.util.Date; +import cn.hutool.core.annotation.Alias; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -20,6 +21,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; import org.hibernate.validator.constraints.Length; /** @@ -29,6 +31,7 @@ @Data @AllArgsConstructor @NoArgsConstructor +@Accessors(chain = true) public class DataReporting extends OrderBy implements Serializable { /** @@ -41,6 +44,7 @@ /** * 鐧昏浜� */ + @Alias("鐧昏浜�") @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @ApiModelProperty("鐧昏浜�") @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @@ -49,6 +53,7 @@ /** * 閮ㄩ棬 */ + @Alias("閮ㄩ棬") @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @ApiModelProperty("閮ㄩ棬") @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @@ -57,6 +62,7 @@ /** * 璐︽埛鍚� */ + @Alias("璐︽埛鍚�") @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @ApiModelProperty("璐︽埛鍚�") @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @@ -65,6 +71,7 @@ /** * 娓犻亾 */ + @Alias("娓犻亾") @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @ApiModelProperty("娓犻亾") @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @@ -73,6 +80,7 @@ /** * 椤圭洰 */ + @Alias("椤圭洰") @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @ApiModelProperty("椤圭洰") @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") @@ -81,90 +89,105 @@ /** * 灞曠幇閲� */ + @Alias("灞曠幇閲�") @ApiModelProperty("灞曠幇閲�") @ValueTableShow(6) - private Integer show; + private Integer showNum; /** * 鐐瑰嚮閲� */ + @Alias("鐐瑰嚮閲�") @ApiModelProperty("鐐瑰嚮閲�") @ValueTableShow(7) private Integer click; /** * 璐︽埛娑堣垂 */ + @Alias("璐︽埛娑堣垂") @ApiModelProperty("璐︽埛娑堣垂") @ValueTableShow(8) private BigDecimal accountConsumption; /** * 瀹㈡埛杩旂偣娑堣垂 */ + @Alias("瀹㈡埛杩旂偣娑堣垂") @ApiModelProperty("瀹㈡埛杩旂偣娑堣垂") @ValueTableShow(9) private BigDecimal rebateConsumption; /** * 娑堣垂 */ + @Alias("娑堣垂") @ApiModelProperty("娑堣垂") @ValueTableShow(10) private BigDecimal consumption; /** * 鎶樺悗娑堣垂 */ + @Alias("鎶樺悗娑堣垂") @ApiModelProperty("鎶樺悗娑堣垂") @ValueTableShow(11) private BigDecimal discountedConsumption; /** * 杩涚矇 */ + @Alias("杩涚矇") @ApiModelProperty("杩涚矇") @ValueTableShow(12) private Integer fansAdd; /** * 瀹為檯鎴愭湰 */ + @Alias("瀹為檯鎴愭湰") @ApiModelProperty("瀹為檯鎴愭湰") @ValueTableShow(13) private BigDecimal actualCost; /** * 鍐呴儴鎴愭湰 */ + @Alias("鍐呴儴鎴愭湰") @ApiModelProperty("鍐呴儴鎴愭湰") @ValueTableShow(14) private BigDecimal internalCosts; /** * 瀹㈡埛鎴愭湰 */ + @Alias("瀹㈡埛鎴愭湰") @ApiModelProperty("瀹㈡埛鎴愭湰") @ValueTableShow(15) private BigDecimal customerCosts; /** * 鍒╂鼎 */ + @Alias("鍒╂鼎") @ApiModelProperty("鍒╂鼎") @ValueTableShow(16) private BigDecimal profit; /** * 浠g悊杩旂偣 */ + @Alias("浠g悊杩旂偣") @ApiModelProperty("浠g悊杩旂偣") @ValueTableShow(17) private BigDecimal agentRebate; /** * 瀹㈡埛杩旂偣 */ + @Alias("瀹㈡埛杩旂偣") @ApiModelProperty("瀹㈡埛杩旂偣") @ValueTableShow(18) private BigDecimal customerRebate; /** * 澶囩敤瀛楁 */ + @Alias("澶囩敤瀛楁") @ApiModelProperty("澶囩敤瀛楁") @ValueTableShow(23) private BigDecimal remark; /** * */ + @Alias("鍒涘缓鏃堕棿") @ApiModelProperty("鍒涘缓鏃堕棿") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @@ -173,6 +196,7 @@ /** * */ + @Alias("鏇存柊鏃堕棿") @ApiModelProperty("鏇存柊鏃堕棿") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java b/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java index 9826b8d..6aaf88a 100644 --- a/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java +++ b/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java @@ -7,6 +7,7 @@ import com.yuanchu.mom.pojo.DataReporting; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; import java.util.Map; /** @@ -26,4 +27,10 @@ Map<String, Object> getDataList(); + void addDataReporting(List<DataReporting> list); + + Integer delDataReporting(Integer id); + + String downDataReportingFile(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto); + } diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java index 087b0df..24071b3 100644 --- a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java +++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java @@ -1,6 +1,14 @@ package com.yuanchu.mom.service.impl; +import cn.hutool.core.text.csv.CsvUtil; +import cn.hutool.core.text.csv.CsvWriter; +import cn.hutool.core.util.CharsetUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; @@ -10,24 +18,32 @@ import com.yuanchu.mom.pojo.DataReporting; import com.yuanchu.mom.service.DataReportingService; import com.yuanchu.mom.mapper.DataReportingMapper; +import com.yuanchu.mom.utils.Jwt; import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.utils.ServletUtils; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; /** -* @author Administrator -* @description 閽堝琛ㄣ�恉ata_reporting(鏁版嵁涓婃姤)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 -* @createDate 2023-12-23 10:39:43 -*/ + * @author Administrator + * @description 閽堝琛ㄣ�恉ata_reporting(鏁版嵁涓婃姤)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 + * @createDate 2023-12-23 10:39:43 + */ @Service @AllArgsConstructor public class DataReportingServiceImpl extends ServiceImpl<DataReportingMapper, DataReporting> - implements DataReportingService{ + implements DataReportingService { private DataReportingMapper dataReportingMapper; @@ -37,7 +53,7 @@ public Map<String, Object> selectDataReportingList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto) { Map<String, Object> map = new HashMap<>(); Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList"); - if(map1.get("look")==1) dataReportingPageDto.setCreateUser(map1.get("userId")); + if (map1.get("look") == 1) dataReportingPageDto.setCreateUser(map1.get("userId")); map.put("head", PrintChina.printChina(DataReportingPageDto.class)); map.put("body", dataReportingMapper.selectDataReportingDtoPageList(page, QueryWrappers.queryWrappers(dataReportingPageDto))); return map; @@ -51,9 +67,14 @@ dataReporting2.setCustomerCosts(dataReporting.getCustomerCosts()); dataReporting2.setCustomerRebate(dataReporting.getCustomerRebate()); dataReporting2.setRemark(dataReporting.getRemark()); - dataReporting2.setRebateConsumption(dataReporting.getAccountConsumption().divide(dataReporting.getCustomerRebate(), 2, RoundingMode.HALF_UP)); - dataReporting2.setConsumption(dataReporting.getCustomerCosts().multiply(BigDecimal.valueOf(dataReporting.getFansAdd()))); - System.out.println(dataReporting2); + try { + dataReporting2.setRebateConsumption(dataReporting.getAccountConsumption().divide(dataReporting.getCustomerRebate(), 2, RoundingMode.HALF_UP)); + } catch (Exception e) { + } + try { + dataReporting2.setConsumption(dataReporting.getCustomerCosts().multiply(BigDecimal.valueOf(dataReporting.getFansAdd()))); + } catch (Exception e) { + } return dataReportingMapper.updateById(dataReporting2); } @@ -61,8 +82,8 @@ public Map<String, Object> selectProductCountDtoPageList(IPage<ProductCountDto> page, ProductCountDto productCountDto) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(ProductCountDto.class)); - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList"); - if(map1.get("look")==1) productCountDto.setCreateUser(map1.get("userId")); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectProductCountDtoPageList"); + if (map1.get("look") == 1) productCountDto.setCreateUser(map1.get("userId")); map.put("body", dataReportingMapper.selectProductCountDtoPageList(page, QueryWrappers.queryWrappers(productCountDto))); return map; } @@ -71,8 +92,8 @@ public Map<String, Object> selectRegistrantCountDtoPageList(IPage<RegistrantCountDto> page, RegistrantCountDto registrantCountDto) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(RegistrantCountDto.class)); - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList"); - if(map1.get("look")==1) registrantCountDto.setCreateUser(map1.get("userId")); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectRegistrantCountDtoPageList"); + if (map1.get("look") == 1) registrantCountDto.setCreateUser(map1.get("userId")); map.put("body", dataReportingMapper.selectRegistrantCountDtoPageList(page, QueryWrappers.queryWrappers(registrantCountDto))); return map; } @@ -87,6 +108,83 @@ map.put("data5", dataReportingMapper.getDataFor5()); return map; } + + @Override + @Transactional(rollbackFor = Exception.class) + public void addDataReporting(List<DataReporting> list) { + int userId = Integer.parseInt(JSONUtil.parseObj(new Jwt().readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + ""); + Map<String, String> map = dataReportingMapper.selectUser(userId); + for (DataReporting dataReporting : list) { + if (dataReporting.getName() == null) dataReporting.setName(map.get("account")); + DataReporting one = dataReportingMapper.selectOne(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getProduct, dataReporting.getProduct()).eq(DataReporting::getName, dataReporting.getName())); + try { + dataReporting.setRebateConsumption(dataReporting.getAccountConsumption().divide(dataReporting.getCustomerRebate(), 2, RoundingMode.HALF_UP)); + } catch (Exception e) { + } + try { + dataReporting.setConsumption(dataReporting.getCustomerCosts().multiply(new BigDecimal(dataReporting.getFansAdd()))); + } catch (Exception e) { + } + try { + dataReporting.setDiscountedConsumption(dataReporting.getConsumption().divide(dataReporting.getAgentRebate(), 2, RoundingMode.HALF_UP)); + } catch (Exception e) { + } + try { + dataReporting.setActualCost(dataReporting.getAccountConsumption().divide(new BigDecimal(dataReporting.getFansAdd()), 2, RoundingMode.HALF_UP)); + } catch (Exception e) { + } + try { + dataReporting.setProfit(dataReporting.getRebateConsumption().subtract(dataReporting.getConsumption())); + } catch (Exception e) { + } + try { + dataReporting.setRemark(dataReporting.getConsumption().subtract(dataReporting.getRebateConsumption())); + } catch (Exception e) { + } + if (ObjectUtil.isEmpty(one)) { + dataReporting.setRegistrant(map.get("name")); + dataReporting.setDepartment(map.get("department")); + dataReportingMapper.insert(dataReporting); + } else { + dataReporting.setId(one.getId()); + dataReporting.setName(null); + dataReportingMapper.updateById(dataReporting); + } + } + } + + @Override + public Integer delDataReporting(Integer id) { + return dataReportingMapper.deleteById(id); + } + + @Override + public String downDataReportingFile(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto) { + Map<String, Object> map = selectDataReportingList(page, dataReportingPageDto); + String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy_MM_dd HH_mm_ss")); + String name = "D:\\Download\\鏁版嵁涓婃姤 " + time + ".csv"; + CsvWriter writer = CsvUtil.getWriter(name, CharsetUtil.CHARSET_GBK); + writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time}); + writer.write(new String[]{}); + writer.write(new String[]{}); + writer.write(new String[]{}); + writer.write(new String[]{}); + List<Map<String, String>> head = JSON.parseObject(JSON.toJSONString(map.get("head")), List.class); + String[] str = new String[head.size()]; + for (int i = 0; i < head.size(); i++) { + str[i] = head.get(i).get("value"); + } + writer.write(str); + JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a->{ + Map<String, Object> map1 = JSON.parseObject(JSON.toJSONString(a), Map.class); + for (int i = 0; i < head.size(); i++) { + str[i] = map1.get(head.get(i).get("label"))==null?null:map1.get(head.get(i).get("label"))+""; + } + writer.write(str); + }); + writer.close(); + return null; + } } diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java index 94b0329..e7219e4 100644 --- a/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java +++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java @@ -33,7 +33,7 @@ public Map<String, Object> selectFansSubmitList(IPage<FansSubmit> page, FansSubmit fansSubmit) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(FansSubmit.class)); - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList"); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectFansSubmitList"); if(map1.get("look")==1) fansSubmit.setCreateUser(map1.get("userId")); map.put("body", fansSubmitMapper.selectFansSubmitPageList(page, QueryWrappers.queryWrappers(fansSubmit))); return map; diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java index fcbf884..e526b6c 100644 --- a/data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java +++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java @@ -33,7 +33,7 @@ public Map<String, Object> selectFinanceSubmitList(IPage<FinanceSubmit> page, FinanceSubmit financeSubmit) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(FinanceSubmit.class)); - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList"); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectFinanceSubmitList"); if(map1.get("look")==1) financeSubmit.setCreateUser(map1.get("userId")); map.put("body", financeSubmitMapper.selectFinanceSubmitPageList(page, QueryWrappers.queryWrappers(financeSubmit))); return map; diff --git a/data-server/src/main/resources/mapper/DataReportingMapper.xml b/data-server/src/main/resources/mapper/DataReportingMapper.xml index 5e626cc..3b5fc96 100644 --- a/data-server/src/main/resources/mapper/DataReportingMapper.xml +++ b/data-server/src/main/resources/mapper/DataReportingMapper.xml @@ -11,7 +11,7 @@ <result property="product" column="product" jdbcType="VARCHAR"/> <result property="channel" column="channel" jdbcType="VARCHAR"/> <result property="name" column="name" jdbcType="VARCHAR"/> - <result property="show" column="show" jdbcType="INTEGER"/> + <result property="showNum" column="show_num" jdbcType="INTEGER"/> <result property="click" column="click" jdbcType="INTEGER"/> <result property="accountConsumption" column="account_consumption" jdbcType="DECIMAL"/> <result property="rebateConsumption" column="rebate_consumption" jdbcType="DECIMAL"/> @@ -92,4 +92,8 @@ group by product order by actualCost desc limit 7 </select> + <select id="selectUser" resultType="java.util.Map"> + select user.department, user.name, user.account from user + where id = #{userId} + </select> </mapper> diff --git a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java index 3d0662c..3e41ffd 100644 --- a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java +++ b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java @@ -1,5 +1,6 @@ package com.yuanchu.mom.config; +import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.utils.Jwt; import com.yuanchu.mom.utils.RedisUtil; @@ -8,6 +9,7 @@ import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; @@ -31,6 +33,11 @@ response.setStatus(HttpServletResponse.SC_OK); return true; } + HandlerMethod h = (HandlerMethod)handler; + ValueAuth annotation = h.getMethodAnnotation(ValueAuth.class); + if(annotation!=null){ + return true; + } String[] strs = request.getRequestURL().toString().split(serverPort); AtomicBoolean judge = new AtomicBoolean(false); for (String s : list) { diff --git a/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java b/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java index 2018aef..a0cf848 100644 --- a/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java +++ b/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java @@ -30,6 +30,9 @@ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if(handler instanceof HandlerMethod) { + if(request.getRequestURL().toString().equals("http://127.0.0.1:8001/error")){ + return HandlerInterceptor.super.preHandle(request, response, handler); + } HandlerMethod h = (HandlerMethod)handler; ValueAuth annotation = h.getMethodAnnotation(ValueAuth.class); if(annotation!=null){ @@ -38,7 +41,6 @@ JSONObject obj = JSONUtil.parseObj(new Jwt().readJWT(request.getHeader("token")).get("data")); Integer userId = Integer.parseInt(obj.get("id") + ""); int i = authMapper.isPower(userId, h.getMethod().getName()); - if (i == 0){ throw new ErrorException(obj.get("name") + " 鏃犳潈闄愯闂� " + h.getMethod().getName() + " 鎺ュ彛"); } diff --git a/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java index 7d8679b..ac70f96 100644 --- a/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java +++ b/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java @@ -256,6 +256,7 @@ }else { msg="鏂囦欢涓婁紶澶辫触銆愭湇鍔″櫒寮傚父銆�"; } + e.printStackTrace(); return Result.fail(msg); } diff --git a/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java b/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java index aafc809..1760331 100644 --- a/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java +++ b/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java @@ -10,7 +10,7 @@ import java.text.SimpleDateFormat; import java.util.Date; -@Component +//@Component @EnableScheduling @Slf4j public class MysqlDataBackup { @@ -59,7 +59,7 @@ * 姣忓ぉ鏅氫笂23鐐�05绉掓墽琛� 銆� 0 0 4 1/1 * ? 銆� * 娴嬭瘯 20 绉掍竴娆°�� 0/20 * * * * ? 銆慇Scheduled(cron = "5 * 23 * * ?") */ - @Scheduled(cron = "5 0 23 * * ?") +// @Scheduled(cron = "5 0 23 * * ?") private void configureTasks() { log.info("銆愬浠芥暟鎹簱銆�--START"); String dbUrl2 = dbUrl.replace("jdbc:mysql://", ""); diff --git a/system-run/src/main/resources/application-prod.yml b/system-run/src/main/resources/application-prod.yml index b1e1905..376368d 100644 --- a/system-run/src/main/resources/application-prod.yml +++ b/system-run/src/main/resources/application-prod.yml @@ -5,20 +5,20 @@ logging: config: classpath:logback-spring.xml # 鏃ュ織瀛樺偍璺緞+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ - file-location: /javaWork/Blog/log + file-location: /www/wwwroot/syxt.shxiao2.cn/ShengYun # 鏁版嵁搴撳浠借矾寰� backup: # 鏁版嵁搴撳浠借矾寰�+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ - path: /javaWork/Blog/backup + path: /www/wwwroot/syxt.shxiao2.cn/ShengYun # 鏁版嵁搴撳浠藉ぉ鏁�+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ destiny: 7 # 鏁版嵁搴撳浠藉伐鍏疯矾寰�+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ - mysqldump: /javaWork/Blog/conf + mysqldump: /www/wwwroot/syxt.shxiao2.cn/ShengYun # 鐓х墖璺緞+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ file: - path: /javaWork/Blog/images + path: /www/wwwroot/syxt.shxiao2.cn/ShengYun mybatis-plus: configuration: @@ -29,7 +29,7 @@ datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/blog_crunchy?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 + url: jdbc:mysql://127.0.0.1:3306/shengyun?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 username: root password: 123456 druid: diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java index 450cfe9..210b453 100644 --- a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java +++ b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java @@ -1,8 +1,9 @@ package com.yuanchu.mom.controller; -import cn.hutool.json.JSON; +import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.common.PrintChina; @@ -13,6 +14,7 @@ import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.utils.Jwt; import com.yuanchu.mom.utils.RedisUtil; +import com.yuanchu.mom.utils.ServletUtils; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; @@ -105,4 +107,5 @@ else user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes())); return Result.success(userService.addUser(user)); } + } diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java index 6419394..f46aad2 100644 --- a/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java +++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java @@ -27,7 +27,7 @@ public Map<String, Object> selectCustomEnumList(IPage<CustomEnum> page, CustomEnum customEnum) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(CustomEnum.class)); - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList"); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectCustomEnumLists"); if(map1.get("look")==1) customEnum.setCreateUser(map1.get("userId")); map.put("body", customEnumMapper.selectPage(page, QueryWrappers.queryWrappers(customEnum))); return map; diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java index 363746a..0e4ba4f 100644 --- a/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java +++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java @@ -35,7 +35,7 @@ public Map<String, Object> selectProductEnumList(IPage<ProductEnum> page, ProductEnum productEnum) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(ProductEnum.class)); - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList"); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectProductEnumLists"); if(map1.get("look")==1) productEnum.setCreateUser(map1.get("userId")); map.put("body", productEnumMapper.selectPage(page, QueryWrappers.queryWrappers(productEnum))); return map; diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java index 1017636..ba28b1b 100644 --- a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java +++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java @@ -46,7 +46,7 @@ public Map<String, Object> selectUserList(IPage<Role> page, Role role) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(Role.class)); - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList"); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectRoleLists"); if(map1.get("look")==1) role.setCreateUser(map1.get("userId")); map.put("body", roleMapper.selectPage(page, QueryWrappers.queryWrappers(role))); return map; diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java index 648cad0..0840dd6 100644 --- a/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java +++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java @@ -55,7 +55,7 @@ public Map<String, Object> selectUserList(IPage<UserPageDto> page, UserPageDto user) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(UserPageDto.class)); - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList"); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectUserList"); if(map1.get("look")==1) user.setCreateUser(map1.get("userId")); map.put("body", userMapper.selectUserDtoPageList(page, QueryWrappers.queryWrappers(user))); return map; -- Gitblit v1.9.3