提交修改
This commit is contained in:
parent
b23c130ff2
commit
d1f1c76c93
@ -1,33 +1,29 @@
|
|||||||
package com.heyu.api.controller.vv;
|
package com.heyu.api.controller.vv;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.heyu.api.alibaba.request.vv.AppOrderRequest;
|
import com.heyu.api.alibaba.request.vv.AppOrderRequest;
|
||||||
import com.heyu.api.common.annotation.Describe;
|
import com.heyu.api.common.annotation.Describe;
|
||||||
import com.heyu.api.data.dao.vv.VvAllDataDao;
|
import com.heyu.api.data.dao.vv.VvAllDataDao;
|
||||||
import com.heyu.api.data.dao.vv.VvChartConfigDao;
|
import com.heyu.api.data.dao.vv.VvChartConfigDao;
|
||||||
import com.heyu.api.data.dao.vv.VvCreateDataConfigDao;
|
import com.heyu.api.data.dao.vv.VvCreateDataConfigDao;
|
||||||
import com.heyu.api.data.entity.vv.VvAllDataEntity;
|
import com.heyu.api.data.dto.VvCreateDataConfigDTO;
|
||||||
import com.heyu.api.data.entity.vv.VvChartConfigEntity;
|
import com.heyu.api.data.entity.vv.VvChartConfigEntity;
|
||||||
import com.heyu.api.data.entity.vv.VvCreateDataConfigEntity;
|
import com.heyu.api.data.entity.vv.VvCreateDataConfigEntity;
|
||||||
import com.heyu.api.data.utils.*;
|
import com.heyu.api.data.utils.ChartUtil;
|
||||||
|
import com.heyu.api.data.utils.R;
|
||||||
import com.heyu.api.oss.OssFileUploadService;
|
import com.heyu.api.oss.OssFileUploadService;
|
||||||
import com.heyu.api.oss.OssUploadResult;
|
import com.heyu.api.schedule.CronTriggerUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.text.StrSubstitutor;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.io.File;
|
import java.util.Date;
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ -53,33 +49,33 @@ public class AppTestController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private VvChartConfigDao vvChartConfigDao;
|
private VvChartConfigDao vvChartConfigDao;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Value("${eb.config.rabbitQueue.createDataQueue}")
|
||||||
|
private String createDataQueue;
|
||||||
|
|
||||||
|
|
||||||
|
@Value("${eb.config.rabbitQueue.sendDingDingQueue}")
|
||||||
|
private String sendDingDingQueue;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
|
||||||
// /app/test/insert
|
// /app/test/insert
|
||||||
@Describe("测试数据插入")
|
@Describe("测试数据插入")
|
||||||
@RequestMapping("/insert")
|
@RequestMapping("/insert")
|
||||||
public R list(@RequestBody AppOrderRequest vvOrderRequest) {
|
public R list(@RequestBody AppOrderRequest vvOrderRequest) {
|
||||||
VvCreateDataConfigEntity vvCreateDataConfigDTO = vvCreateDataConfigDao.selectVvCreateDataConfigById(16L);
|
List<VvCreateDataConfigEntity> vvCreateDataConfigEntityList = vvCreateDataConfigDao.selectVvCreateDataConfigByAll();
|
||||||
|
Date now = new Date();
|
||||||
|
for (VvCreateDataConfigEntity vvCreateDataConfigEntity : vvCreateDataConfigEntityList) {
|
||||||
String configSql = vvCreateDataConfigDTO.getSqlConfig();
|
VvCreateDataConfigDTO dto = new VvCreateDataConfigDTO();
|
||||||
String paramsConfig = vvCreateDataConfigDTO.getParamsConfig();
|
BeanUtils.copyProperties(vvCreateDataConfigEntity, dto);
|
||||||
|
dto.setRunDate(CronTriggerUtils.cronCurrentDate(now, vvCreateDataConfigEntity.getCronExp()));
|
||||||
Map valuesMap = new HashMap();
|
rabbitTemplate.convertAndSend(createDataQueue, JSON.toJSONString(dto));
|
||||||
Map<String, Object> paramMap = JSONObject.parseObject(paramsConfig, Map.class);
|
|
||||||
for (Map.Entry<String, Object> entry : paramMap.entrySet()) {
|
|
||||||
valuesMap.put(entry.getKey(), ExpressionParse.getValue(entry.getValue() + ""));
|
|
||||||
}
|
}
|
||||||
StrSubstitutor sub = new StrSubstitutor(valuesMap);
|
|
||||||
String resolvedString = sub.replace(configSql);
|
|
||||||
|
|
||||||
List<Map<String, Object>> mapList = vvAllDataDao.selectSQL(resolvedString);
|
|
||||||
if (!CollectionUtils.isEmpty(mapList)) {
|
|
||||||
for (Map<String, Object> objectMap : mapList) {
|
|
||||||
|
|
||||||
VvAllDataEntity vvAllDataEntity = JSONObject.parseObject(JSON.toJSONString(objectMap), VvAllDataEntity.class);
|
|
||||||
vvAllDataEntity.setCreateTimestamp(System.currentTimeMillis());
|
|
||||||
vvAllDataDao.insert(vvAllDataEntity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return R.ok();
|
return R.ok();
|
||||||
|
|
||||||
@ -90,63 +86,11 @@ public class AppTestController {
|
|||||||
@RequestMapping("/chart")
|
@RequestMapping("/chart")
|
||||||
public R chart(@RequestBody AppOrderRequest vvOrderRequest) throws Exception {
|
public R chart(@RequestBody AppOrderRequest vvOrderRequest) throws Exception {
|
||||||
|
|
||||||
VvChartConfigEntity vvChartConfigEntity = vvChartConfigDao.selectVvChartConfigById(1L);
|
List<VvChartConfigEntity> vvChartConfigEntities = vvChartConfigDao.selectVvChartConfigByAll();
|
||||||
|
for (VvChartConfigEntity vvChartConfigEntity : vvChartConfigEntities) {
|
||||||
String configSql = vvChartConfigEntity.getSqlConfig();
|
rabbitTemplate.convertAndSend(sendDingDingQueue, JSON.toJSONString(vvChartConfigEntity));
|
||||||
String paramsConfig = vvChartConfigEntity.getParamsConfig();
|
|
||||||
|
|
||||||
Map valuesMap = new HashMap();
|
|
||||||
Map<String, Object> paramMap = JSONObject.parseObject(paramsConfig, Map.class);
|
|
||||||
for (Map.Entry<String, Object> entry : paramMap.entrySet()) {
|
|
||||||
valuesMap.put(entry.getKey(), ExpressionParse.getValue(entry.getValue() + ""));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
StrSubstitutor sub = new StrSubstitutor(valuesMap);
|
|
||||||
String resolvedString = sub.replace(configSql);
|
|
||||||
|
|
||||||
|
|
||||||
String headerName = "";
|
|
||||||
String xName = "";
|
|
||||||
String yName = "";
|
|
||||||
|
|
||||||
List<LineChartDTO> list = new ArrayList<>();
|
|
||||||
|
|
||||||
List<Map<String, Object>> mapList = vvAllDataDao.selectSQL(resolvedString);
|
|
||||||
if (!CollectionUtils.isEmpty(mapList)) {
|
|
||||||
for (Map<String, Object> objectMap : mapList) {
|
|
||||||
VvAllDataEntity vvAllDataEntity = JSONObject.parseObject(JSON.toJSONString(objectMap), VvAllDataEntity.class);
|
|
||||||
|
|
||||||
LineChartDTO lineChartDTO = new LineChartDTO();
|
|
||||||
lineChartDTO.setName(vvAllDataEntity.getName());
|
|
||||||
lineChartDTO.setX(vvAllDataEntity.getX());
|
|
||||||
lineChartDTO.setY(vvAllDataEntity.getY());
|
|
||||||
|
|
||||||
headerName = vvAllDataEntity.getHeaderTitle();
|
|
||||||
xName = vvAllDataEntity.getXTitle();
|
|
||||||
yName = vvAllDataEntity.getYTitle();
|
|
||||||
|
|
||||||
list.add(lineChartDTO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String chartPic = chartUtil.makeLineAndShapeChart2(headerName, xName, yName, list);
|
|
||||||
|
|
||||||
File file1 = new File(chartPic);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String picUrl = "repayPic/repayChart" +System.currentTimeMillis()+ ".jpg";
|
|
||||||
|
|
||||||
InputStream inputStream = new FileInputStream(file1);
|
|
||||||
|
|
||||||
OssUploadResult ossUploadResult = ossFileUploadService.uploadImageToOss(inputStream, picUrl, Integer.parseInt(String.valueOf(file1.length())));
|
|
||||||
|
|
||||||
// file1.delete();
|
|
||||||
|
|
||||||
String url = ossUploadResult.getUrl();
|
|
||||||
log.info("chartPic :{} url:{}",chartPic,url);
|
|
||||||
|
|
||||||
GouDeZhaoDDUtils.sendMarkDownOrder(headerName,url);
|
|
||||||
|
|
||||||
return R.ok();
|
return R.ok();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -110,11 +110,9 @@ public class CronTriggerUtils {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static boolean isRun(Date time, String cronExpression) {
|
public static boolean isRun(Date date, String cronExpression) {
|
||||||
try {
|
try {
|
||||||
Date dateStr = DateUtils.formateDate(time, "yyyy-MM-dd HH:mm:00");
|
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
||||||
Date date = DateUtils.parseDate(dateFormat.format(dateStr));
|
|
||||||
CronExpression cronMonth = new CronExpression(cronExpression);
|
CronExpression cronMonth = new CronExpression(cronExpression);
|
||||||
if (cronMonth.isSatisfiedBy(date)) {
|
if (cronMonth.isSatisfiedBy(date)) {
|
||||||
return true;
|
return true;
|
||||||
@ -210,7 +208,7 @@ public class CronTriggerUtils {
|
|||||||
//
|
//
|
||||||
// 0 15 10 ? * 6#3:每月的第三个星期五上午 10:15 触发
|
// 0 15 10 ? * 6#3:每月的第三个星期五上午 10:15 触发
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
String cronExpression = "0 */1 * * * ?";
|
String cronExpression = "0 0 6 * * ?";
|
||||||
CronExpression cronMonth = new CronExpression(cronExpression);
|
CronExpression cronMonth = new CronExpression(cronExpression);
|
||||||
Date date = DateUtils.formateDate(new Date(), "yyyy-MM-dd HH:mm:00");
|
Date date = DateUtils.formateDate(new Date(), "yyyy-MM-dd HH:mm:00");
|
||||||
|
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import com.heyu.api.data.dao.vv.VvCreateDataConfigDao;
|
|||||||
import com.heyu.api.data.dto.VvCreateDataConfigDTO;
|
import com.heyu.api.data.dto.VvCreateDataConfigDTO;
|
||||||
import com.heyu.api.data.entity.vv.VvChartConfigEntity;
|
import com.heyu.api.data.entity.vv.VvChartConfigEntity;
|
||||||
import com.heyu.api.data.entity.vv.VvCreateDataConfigEntity;
|
import com.heyu.api.data.entity.vv.VvCreateDataConfigEntity;
|
||||||
|
import com.heyu.api.data.utils.DateUtils;
|
||||||
import com.heyu.api.schedule.CronTriggerUtils;
|
import com.heyu.api.schedule.CronTriggerUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
@ -15,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -43,18 +45,25 @@ public class TestJob {
|
|||||||
public void test() {
|
public void test() {
|
||||||
List<VvCreateDataConfigEntity> vvCreateDataConfigEntityList = createDataConfigDao.selectVvCreateDataConfigByAll();
|
List<VvCreateDataConfigEntity> vvCreateDataConfigEntityList = createDataConfigDao.selectVvCreateDataConfigByAll();
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
|
Date dateStr = DateUtils.formateDate(now, "yyyy-MM-dd HH:mm:00");
|
||||||
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
Date date = DateUtils.parseDate(dateFormat.format(dateStr));
|
||||||
for (VvCreateDataConfigEntity vvCreateDataConfigEntity : vvCreateDataConfigEntityList) {
|
for (VvCreateDataConfigEntity vvCreateDataConfigEntity : vvCreateDataConfigEntityList) {
|
||||||
if (CronTriggerUtils.isRun(now, vvCreateDataConfigEntity.getCronExp())) {
|
boolean isRun = CronTriggerUtils.isRun(date, vvCreateDataConfigEntity.getCronExp());
|
||||||
|
log.info("VvCreateDataConfigEntity current date :{} , cronExp:{},isRun:{}", dateFormat.format(dateStr), vvCreateDataConfigEntity.getCronExp(), isRun);
|
||||||
|
if (isRun) {
|
||||||
VvCreateDataConfigDTO dto = new VvCreateDataConfigDTO();
|
VvCreateDataConfigDTO dto = new VvCreateDataConfigDTO();
|
||||||
BeanUtils.copyProperties(vvCreateDataConfigEntity, dto);
|
BeanUtils.copyProperties(vvCreateDataConfigEntity, dto);
|
||||||
dto.setRunDate(CronTriggerUtils.cronCurrentDate(now, vvCreateDataConfigEntity.getCronExp()));
|
dto.setRunDate(dateFormat.format(dateStr));
|
||||||
rabbitTemplate.convertAndSend(createDataQueue, JSON.toJSONString(dto));
|
rabbitTemplate.convertAndSend(createDataQueue, JSON.toJSONString(dto));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<VvChartConfigEntity> vvChartConfigEntities = vvChartConfigDao.selectVvChartConfigByAll();
|
List<VvChartConfigEntity> vvChartConfigEntities = vvChartConfigDao.selectVvChartConfigByAll();
|
||||||
for (VvChartConfigEntity vvChartConfigEntity : vvChartConfigEntities) {
|
for (VvChartConfigEntity vvChartConfigEntity : vvChartConfigEntities) {
|
||||||
if (CronTriggerUtils.isRun(now, vvChartConfigEntity.getCronExp())) {
|
boolean isRun = CronTriggerUtils.isRun(now, vvChartConfigEntity.getCronExp());
|
||||||
|
log.info("VvChartConfigEntity current date :{} , cronExp:{},isRun:{}", dateFormat.format(dateStr), vvChartConfigEntity.getCronExp(), isRun);
|
||||||
|
if (isRun) {
|
||||||
rabbitTemplate.convertAndSend(sendDingDingQueue, JSON.toJSONString(vvChartConfigEntity));
|
rabbitTemplate.convertAndSend(sendDingDingQueue, JSON.toJSONString(vvChartConfigEntity));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -58,8 +58,8 @@ eb:
|
|||||||
accountLogName: ACCOUNT_LOG_NAME
|
accountLogName: ACCOUNT_LOG_NAME
|
||||||
postCodeData: post_code_data
|
postCodeData: post_code_data
|
||||||
urlStatisticQueue: URL_STATISTIC_QUEUE
|
urlStatisticQueue: URL_STATISTIC_QUEUE
|
||||||
createDataQueue: CREATE_DATA_QUEUE
|
createDataQueue: CREATE_DATA_QUEUE_TEST
|
||||||
sendDingDingQueue: SEND_DING_DING_QUEUE
|
sendDingDingQueue: SEND_DING_DING_QUEUE_TEST
|
||||||
|
|
||||||
|
|
||||||
tencent:
|
tencent:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user