tag解析数据请求

master
bynt 3 years ago
parent a09a73b827
commit cd2b38b212

@ -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;
}

@ -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";
}

@ -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;
}

@ -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 <E> implements Serializable {
@Valid
private List<E> list;
public ValidableList(){
list = new ArrayList<>();
}
public ValidableList(List<E> list){
this.list = list;
}
}

@ -23,7 +23,7 @@ public class HttpRequestRds {
@Value("${callback.url}") @Value("${callback.url}")
private String url; private String url;
@Value("${rdsFileRecord.link.address}") @Value("${rdsFileRecord.link.downloadUrl}")
private String addressLink; private String addressLink;
public Map<String, String> generateDmp(String tag, Integer type) { public Map<String, String> generateDmp(String tag, Integer type) {

@ -1,22 +1,22 @@
package me.zhengjie.modules.dmpMonitor.rest; package me.zhengjie.modules.dmpMonitor.rest;
import cn.hutool.core.collection.CollUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import me.zhengjie.annotation.Log; import me.zhengjie.annotation.Log;
import me.zhengjie.exception.BadRequestException; import me.zhengjie.exception.BadRequestException;
import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto; 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.request.HttpRequestRds;
import me.zhengjie.modules.dmpMonitor.service.StatisticsDmpService; import me.zhengjie.modules.dmpMonitor.service.StatisticsDmpService;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import java.util.Map; 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 { public class StatisticsDmpController {
private final StatisticsDmpService statisticsDmpService; private final StatisticsDmpService statisticsDmpService;
private final HttpRequestRds httpRequestRds; private final HttpRequestRds httpRequestRds;
@Log("获取数目") @Log("获取数目")
@ -63,4 +66,19 @@ public class StatisticsDmpController {
} }
return new ResponseEntity<>(data,HttpStatus.OK); return new ResponseEntity<>(data,HttpStatus.OK);
} }
@Log("解析数据")
@ApiOperation("根据传入参数解析请求")
@PostMapping("/parseData")
public ResponseEntity<Object> parseData(@Valid @RequestBody List<DataAnalysisRequestDTO> chartRequestList) {
if (CollUtil.isNotEmpty(chartRequestList)) {
return new ResponseEntity<>
(statisticsDmpService.analyticalData
(chartRequestList), HttpStatus.OK);
}
return new ResponseEntity<>(HttpStatus.OK);
}
} }

@ -1,7 +1,9 @@
package me.zhengjie.modules.dmpMonitor.service; package me.zhengjie.modules.dmpMonitor.service;
import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto; import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto;
import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -13,4 +15,11 @@ public interface StatisticsDmpService {
Map<String, Object> queryNumByTags(DmpMonitorNumDto conditionDto); Map<String, Object> queryNumByTags(DmpMonitorNumDto conditionDto);
void sendEmail(DmpMonitorNumDto conditionDto); void sendEmail(DmpMonitorNumDto conditionDto);
/**
*
* @param chartRequestList
* @return
*/
Map<String, List> analyticalData(List<DataAnalysisRequestDTO> chartRequestList);
} }

@ -1,23 +1,32 @@
package me.zhengjie.modules.dmpMonitor.service.impl; package me.zhengjie.modules.dmpMonitor.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil; 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.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter; import cn.hutool.poi.excel.ExcelWriter;
import com.alibaba.fastjson.JSON;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; 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.domain.vo.EmailVo;
import me.zhengjie.exception.BadRequestException; import me.zhengjie.exception.BadRequestException;
import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto; import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto;
import me.zhengjie.modules.dmpMonitor.request.FtpRequest; import me.zhengjie.modules.dmpMonitor.request.FtpRequest;
import me.zhengjie.modules.dmpMonitor.request.HttpRequestRds; import me.zhengjie.modules.dmpMonitor.request.HttpRequestRds;
import me.zhengjie.modules.dmpMonitor.service.StatisticsDmpService; 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.modules.uploadnew.service.impl.BuildPathUtils;
import me.zhengjie.service.EmailService; import me.zhengjie.service.EmailService;
import me.zhengjie.utils.FileUtil; import me.zhengjie.utils.FileUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -91,4 +100,24 @@ public class StatisticsDmpServiceImpl implements StatisticsDmpService {
}); });
return data; return data;
} }
@Override
public Map<String, List> analyticalData(List<DataAnalysisRequestDTO> 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);
}
} }

@ -46,9 +46,9 @@ spring:
redis: redis:
#数据库索引 #数据库索引
database: 0 database: 0
host: 118.178.137.129 host: 127.0.0.1
port: 6379 port: 6379
password: password: '012099'
#连接超时时间 #连接超时时间
timeout: 5000 timeout: 5000
@ -137,8 +137,11 @@ sys:
debug: true debug: true
redisson: redisson:
address: redis://118.178.137.129:6379 address: redis://127.0.0.1:6379
password: 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=

@ -151,5 +151,5 @@ redisson:
rdsFileRecord: rdsFileRecord:
link: link:
downloadUrl: http://116.60.197.152:8000/api/tempFileRecord/downloadFile downloadUrl: http://116.62.197.152:8000/api/tempFileRecord/downloadFile
reqUrl: http://116.62.197.152:8000/api/temp/file/link/nofile?filePath= reqUrl: http://116.62.197.152:8000/api/temp/file/link/nofile?filePath=

@ -1,12 +1,12 @@
server: server:
port: 8888 port: 8000
# 解决 最大缓冲区不够的问题 # 解决 最大缓冲区不够的问题
max-http-header-size: 8999 max-http-header-size: 8999
spring: spring:
freemarker: freemarker:
check-template-location: false check-template-location: false
profiles: profiles:
active: dev active: prod
jackson: jackson:
time-zone: GMT+8 time-zone: GMT+8
data: data:
@ -66,4 +66,4 @@ upload:
url: https://app.hjdata.com/api/dymaticform/channel/save? url: https://app.hjdata.com/api/dymaticform/channel/save?
callback: callback:
url: http://47.110.11.213:9191 url: http://127.0.0.1:9191

Loading…
Cancel
Save