diff --git a/eladmin-common/src/main/java/me/zhengjie/common/json/AnalyticalDataResponse.java b/eladmin-common/src/main/java/me/zhengjie/common/json/AnalyticalDataResponse.java new file mode 100644 index 0000000..b21d989 --- /dev/null +++ b/eladmin-common/src/main/java/me/zhengjie/common/json/AnalyticalDataResponse.java @@ -0,0 +1,18 @@ +package me.zhengjie.common.json; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Enzo + * @date : 2022/3/3 + */ +@Data +public class AnalyticalDataResponse implements Serializable { + private int status; + + private String msg; + + private Object data; +} diff --git a/eladmin-common/src/main/java/me/zhengjie/constant/SystemConstant.java b/eladmin-common/src/main/java/me/zhengjie/constant/SystemConstant.java new file mode 100644 index 0000000..891058b --- /dev/null +++ b/eladmin-common/src/main/java/me/zhengjie/constant/SystemConstant.java @@ -0,0 +1,16 @@ +package me.zhengjie.constant; + +/** + * @author Enzo + * @date : 2022/3/3 + */ +public class SystemConstant { + + + /** + * 解析数据 + */ + public static final String PARSE_DATA_LINK = "http://localhost:9191/data/analysis/tag"; + + +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/dto/DataAnalysisRequestDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/dto/DataAnalysisRequestDTO.java new file mode 100644 index 0000000..910156d --- /dev/null +++ b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/dto/DataAnalysisRequestDTO.java @@ -0,0 +1,36 @@ +package me.zhengjie.modules.dmpMonitor.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * @author Enzo + * @date : 2022/3/2 + */ +@Data +public class DataAnalysisRequestDTO { + + + @ApiModelProperty("结束时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date endTime; + + @ApiModelProperty("开始时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date startTime; + + @ApiModelProperty("tag标识") + @NotBlank(message = "标识不能为空") + private String tagStr; + + @ApiModelProperty("投放数量") + @NotNull(message = "投放数量不能为空") + private Integer deliveryQuantity; + + +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/dto/ValidableList.java b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/dto/ValidableList.java new file mode 100644 index 0000000..3f75301 --- /dev/null +++ b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/dto/ValidableList.java @@ -0,0 +1,28 @@ +package me.zhengjie.modules.dmpMonitor.dto; + +import lombok.Getter; +import lombok.Setter; + +import javax.validation.Valid; +import java.io.Serializable; +import java.util.*; + +/** + * @author Enzo + * @date : 2022/3/2 + */ +@Getter +@Setter +public class ValidableList implements Serializable { + @Valid + private List list; + + public ValidableList(){ + list = new ArrayList<>(); + } + + public ValidableList(List list){ + this.list = list; + } + +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/request/HttpRequestRds.java b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/request/HttpRequestRds.java index 4d97f11..852ac2b 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/request/HttpRequestRds.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/request/HttpRequestRds.java @@ -23,7 +23,7 @@ public class HttpRequestRds { @Value("${callback.url}") private String url; - @Value("${rdsFileRecord.link.address}") + @Value("${rdsFileRecord.link.downloadUrl}") private String addressLink; public Map generateDmp(String tag, Integer type) { diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/rest/StatisticsDmpController.java b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/rest/StatisticsDmpController.java index e9b3026..61109c4 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/rest/StatisticsDmpController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/rest/StatisticsDmpController.java @@ -1,22 +1,22 @@ package me.zhengjie.modules.dmpMonitor.rest; +import cn.hutool.core.collection.CollUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import me.zhengjie.annotation.Log; import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto; +import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO; import me.zhengjie.modules.dmpMonitor.request.HttpRequestRds; import me.zhengjie.modules.dmpMonitor.service.StatisticsDmpService; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; +import java.util.List; import java.util.Map; -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; /** @@ -30,6 +30,9 @@ import org.springframework.web.bind.annotation.RestController; public class StatisticsDmpController { private final StatisticsDmpService statisticsDmpService; + + + private final HttpRequestRds httpRequestRds; @Log("获取数目") @@ -63,4 +66,19 @@ public class StatisticsDmpController { } return new ResponseEntity<>(data,HttpStatus.OK); } + + + + @Log("解析数据") + @ApiOperation("根据传入参数解析请求") + @PostMapping("/parseData") + public ResponseEntity parseData(@Valid @RequestBody List chartRequestList) { + if (CollUtil.isNotEmpty(chartRequestList)) { + return new ResponseEntity<> + (statisticsDmpService.analyticalData + (chartRequestList), HttpStatus.OK); + } + return new ResponseEntity<>(HttpStatus.OK); + + } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/service/StatisticsDmpService.java b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/service/StatisticsDmpService.java index 7019ebe..ab81344 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/service/StatisticsDmpService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/service/StatisticsDmpService.java @@ -1,7 +1,9 @@ package me.zhengjie.modules.dmpMonitor.service; import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto; +import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO; +import java.util.List; import java.util.Map; /** @@ -13,4 +15,11 @@ public interface StatisticsDmpService { Map queryNumByTags(DmpMonitorNumDto conditionDto); void sendEmail(DmpMonitorNumDto conditionDto); + + /** + * 解析数据请求 + * @param chartRequestList + * @return + */ + Map analyticalData(List chartRequestList); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/service/impl/StatisticsDmpServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/service/impl/StatisticsDmpServiceImpl.java index eab7bea..b18bffa 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/service/impl/StatisticsDmpServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/dmpMonitor/service/impl/StatisticsDmpServiceImpl.java @@ -1,23 +1,32 @@ package me.zhengjie.modules.dmpMonitor.service.impl; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ZipUtil; +import cn.hutool.http.HttpUtil; +import cn.hutool.json.JSONUtil; import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.ExcelWriter; +import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import me.zhengjie.common.json.AnalyticalDataResponse; +import me.zhengjie.constant.SystemConstant; import me.zhengjie.domain.vo.EmailVo; import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto; import me.zhengjie.modules.dmpMonitor.request.FtpRequest; import me.zhengjie.modules.dmpMonitor.request.HttpRequestRds; import me.zhengjie.modules.dmpMonitor.service.StatisticsDmpService; +import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO; import me.zhengjie.modules.uploadnew.service.impl.BuildPathUtils; import me.zhengjie.service.EmailService; import me.zhengjie.utils.FileUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -91,4 +100,24 @@ public class StatisticsDmpServiceImpl implements StatisticsDmpService { }); return data; } + + + @Override + public Map analyticalData(List chartRequestList) { + String jsonStr = JSON.toJSONString(chartRequestList); + if (StringUtils.isNotBlank(jsonStr)) { + log.info("============ [ parsing send Json is : {} ] ============", jsonStr); + String result = HttpUtil.post + (SystemConstant.PARSE_DATA_LINK, jsonStr); + if (StringUtils.isNotBlank(result) && result.contains("data")) { + AnalyticalDataResponse response = + JSONUtil.toBean(result, AnalyticalDataResponse.class); + if (response.getStatus() == 0) { + return Convert.toMap(String.class, List.class, response.getData()); + } + throw new BadRequestException(response.getMsg()); + } + } + return new HashMap<>(0); + } } diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml index 1a241f5..f9c09f9 100644 --- a/eladmin-system/src/main/resources/config/application-dev.yml +++ b/eladmin-system/src/main/resources/config/application-dev.yml @@ -46,9 +46,9 @@ spring: redis: #数据库索引 database: 0 - host: 118.178.137.129 + host: 127.0.0.1 port: 6379 - password: + password: '012099' #连接超时时间 timeout: 5000 @@ -137,8 +137,11 @@ sys: debug: true redisson: - address: redis://118.178.137.129:6379 - password: - + address: redis://127.0.0.1:6379 + password: '012099' +rdsFileRecord: + link: + downloadUrl: http://116.60.197.152:8000/api/tempFileRecord/downloadFile + reqUrl: http://116.62.197.152:8000/api/temp/file/link/nofile?filePath= diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml index a03d3f8..643660a 100644 --- a/eladmin-system/src/main/resources/config/application-prod.yml +++ b/eladmin-system/src/main/resources/config/application-prod.yml @@ -151,5 +151,5 @@ redisson: rdsFileRecord: link: - downloadUrl: http://116.60.197.152:8000/api/tempFileRecord/downloadFile - reqUrl: http://116.62.197.152:8000/api/temp/file/link/nofile?filePath= \ No newline at end of file + downloadUrl: http://116.62.197.152:8000/api/tempFileRecord/downloadFile + reqUrl: http://116.62.197.152:8000/api/temp/file/link/nofile?filePath= diff --git a/eladmin-system/src/main/resources/config/application.yml b/eladmin-system/src/main/resources/config/application.yml index ac18ecf..19c9ddf 100644 --- a/eladmin-system/src/main/resources/config/application.yml +++ b/eladmin-system/src/main/resources/config/application.yml @@ -1,12 +1,12 @@ server: - port: 8888 + port: 8000 # 解决 最大缓冲区不够的问题 max-http-header-size: 8999 spring: freemarker: check-template-location: false profiles: - active: dev + active: prod jackson: time-zone: GMT+8 data: @@ -66,4 +66,4 @@ upload: url: https://app.hjdata.com/api/dymaticform/channel/save? callback: - url: http://47.110.11.213:9191 + url: http://127.0.0.1:9191