修改定时任务加上日志输出

master
吴顺杰 1 year ago
parent f7949cf8a4
commit 2075881c93

@ -8,6 +8,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
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;
@ -48,12 +49,25 @@ public class RemoteCallsController extends BaseController {
/**
*
*
* @param allPush 1 null
* @return
*/
@ApiOperation(value = "事件进度推送接口")
@PostMapping("/imports")
public AjaxResult imports() {
remoteCallsService.imports();
public AjaxResult imports(@RequestBody Integer allPush) {
remoteCallsService.imports(allPush);
return success();
}
/**
*
*
* @return
*/
@ApiOperation(value = "事件进度临时推送接口")
@PostMapping("/temporaryImports")
public AjaxResult temporaryImports( ) {
remoteCallsService.temporaryImports();
return success();
}
@ -86,9 +100,10 @@ public class RemoteCallsController extends BaseController {
// 同人事件接口
remoteCallsService.onepersonAlgorithm();
// 推送
remoteCallsService.imports();
remoteCallsService.imports(null);
return success();
}
/**
*
*

@ -0,0 +1,107 @@
package com.ruoyi.pt.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
/**
* (EventsCopy)
*
* @author wu
* @since 2023-12-29 19:55:49
*/
@Data
@ApiModel("事件集合临时表实体类")
@TableName(value = "events_copy")
public class EventsCopy implements Serializable {
private static final long serialVersionUID = -93336216948940683L;
/**
*
*/
@ApiModelProperty(value = "事件集合编号(主键)")
@TableField(value = "innerEventId")
private String innerEventId;
/**
*
*/
@ApiModelProperty(value = "事件消息标题")
private String title;
/**
*
*/
@ApiModelProperty(value = "事件类型编码")
@TableField(value = "msgType")
private String msgType;
/**
*
*/
@ApiModelProperty(value = "事件类型名称")
@TableField(value = "msgTypeName")
private String msgTypeName;
/**
*
*/
@ApiModelProperty(value = "案件类型编码")
@TableField(value = "scenceType")
private Integer scenceType;
/**
*
*/
@ApiModelProperty(value = "案件类型名称")
@TableField(value = "scenceTypeName")
private String scenceTypename;
/**
*
*/
@ApiModelProperty(value = "第一次预警时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(value = "firstWarnTime")
private Date firstWarnTimeDate;
/**
*
*/
@ApiModelProperty(value = "事件发生时间")
@TableField(value = "eventTime")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date eventTimeDate;
/**
*
*/
@ApiModelProperty(value = "预警因素")
@TableField(value = "warnFactor")
private String warnFactor;
/**
*
*/
@ApiModelProperty(value = "预警关联的事件单号")
@TableField(value = "relationNums")
private String relationNums;
/**
*
*/
@ApiModelProperty(value = "紧急概率")
@TableField(value = "urgentPercent")
private Float urgentPercent;
}

@ -0,0 +1,15 @@
package com.ruoyi.pt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.pt.entity.EventsCopy;
/**
* (EventsCopy)访
*
* @author wu
* @since 2023-12-29 19:55:49
*/
public interface EventsCopyMapper extends BaseMapper<EventsCopy> {
}

@ -9,6 +9,7 @@ import org.springframework.scheduling.annotation.Scheduled;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
@ -26,8 +27,8 @@ public class PushQuartz {
private RemoteCallsService remoteCallsService;
@Scheduled(cron = "0 0 1 * * ? ")
public void pushData() {
log.info("==============开始定时任务============");
public synchronized void pushData() {
log.info("==============开始定时任务" + LocalDateTime.now() + "============");
// 获取社会治理中心增量事件保存到events_import表
remoteCallsService.getEventDate();
// 获取昨天的数据
@ -35,13 +36,17 @@ public class PushQuartz {
LocalDate yesterday = localDate.minusDays(1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String yesterdayStr = yesterday.format(formatter);
log.info("==============推送紧急事件接口" + LocalDateTime.now() + "============");
// 紧急事件接口
remoteCallsService.urgentAlgorithm(yesterdayStr);
// 群体事件接口
log.info("==============推送群体事件接口" + LocalDateTime.now() + "============");
remoteCallsService.groupAlgorithm();
// 同人事件接口
log.info("==============推送同人事件接口" + LocalDateTime.now() + "============");
remoteCallsService.onepersonAlgorithm();
// 推送
remoteCallsService.imports();
// log.info("==============推送到预警平台接口" + LocalDateTime.now() + "============");
// remoteCallsService.imports(null);
}
}

@ -0,0 +1,15 @@
package com.ruoyi.pt.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.pt.entity.EventsCopy;
/**
* (EventsCopy)
*
* @author wu
* @since 2023-12-29 19:55:49
*/
public interface EventsCopyService extends IService<EventsCopy> {
}

@ -17,8 +17,14 @@ public interface RemoteCallsService {
/**
*
* @param allPush 1 null
*/
void imports();
void imports(Integer allPush);
/**
*
*/
void temporaryImports();
/**
* events_import

@ -0,0 +1,19 @@
package com.ruoyi.pt.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.pt.mapper.EventsCopyMapper;
import com.ruoyi.pt.entity.EventsCopy;
import com.ruoyi.pt.service.EventsCopyService;
import org.springframework.stereotype.Service;
/**
* (EventsCopy)
*
* @author wu
* @since 2023-12-29 19:55:49
*/
@Service("eventsCopyService")
public class EventsCopyServiceImpl extends ServiceImpl<EventsCopyMapper, EventsCopy> implements EventsCopyService {
}

@ -9,10 +9,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.pt.entity.CasesImport;
import com.ruoyi.pt.entity.Events;
import com.ruoyi.pt.entity.EventsCopy;
import com.ruoyi.pt.entity.dto.RemoteCallsDTO;
import com.ruoyi.pt.entity.response.RemoteCallsResponse;
import com.ruoyi.pt.entity.response.RemoteEventResponse;
import com.ruoyi.pt.service.CasesImportService;
import com.ruoyi.pt.service.EventsCopyService;
import com.ruoyi.pt.service.EventsService;
import com.ruoyi.pt.service.RemoteCallsService;
import org.slf4j.Logger;
@ -52,6 +54,9 @@ public class RemoteCallsServiceImpl implements RemoteCallsService {
@Resource
private EventsService eventsService;
@Resource
private EventsCopyService eventsCopyService;
@Resource
private CasesImportService casesImportService;
@ -84,22 +89,27 @@ public class RemoteCallsServiceImpl implements RemoteCallsService {
/**
*
*
* @param allPush 1 null
*/
@Override
public void imports() {
public void imports(Integer allPush) {
String accessToken = this.getAccessToken();
// 初始化MyBatis-Plus的分页对象 查询第1页每页100条
Page<Events> page = new Page<>(1, 100);
// 创建查询条件
QueryWrapper<Events> queryWrapper = new QueryWrapper<>();
if (allPush != null && allPush == 1) {
// 获取昨天的日期
LocalDate localDate = LocalDate.now();
LocalDate yesterday = localDate.minusDays(1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String yesterdayStr = yesterday.format(formatter);
queryWrapper.and(wrapper -> wrapper.gt("eventTime", yesterdayStr));
}
queryWrapper.isNotNull("innerEventId")
.and(wrapper -> wrapper.ne("innerEventId", ""))
.and(wrapper -> wrapper.gt("eventTime", yesterdayStr))
.and(wrapper -> wrapper
.nested(i -> i.eq("scenceType", "3").gt("urgentPercent", 0.994))
.or()
@ -135,13 +145,61 @@ public class RemoteCallsServiceImpl implements RemoteCallsService {
}
/**
*
*/
@Override
public void temporaryImports() {
log.info("==========推送开始=========");
String accessToken = this.getAccessToken();
log.info("==========获取token=========> " + accessToken);
// 初始化MyBatis-Plus的分页对象 查询第1页每页100条
Page<EventsCopy> page = new Page<>(1, 100);
// 创建查询条件
QueryWrapper<EventsCopy> queryWrapper = new QueryWrapper<>();
queryWrapper.isNotNull("innerEventId")
.and(wrapper -> wrapper.ne("innerEventId", ""))
.and(wrapper -> wrapper
.nested(i -> i.eq("scenceType", "3").gt("urgentPercent", 0.994))
.or()
.ne("scenceType", "3")
);
// 创建SimpleDateFormat对象指定日期格式为yyyy-MM-dd HH:mm:ss
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 循环获取所有数据
while (true) {
IPage<EventsCopy> dataPage = eventsCopyService.page(page, queryWrapper);
List<EventsCopy> data = dataPage.getRecords();
List<RemoteCallsDTO> dtos = BeanUtil.copyToList(data, RemoteCallsDTO.class);
dtos.forEach(x -> {
x.setContent(x.getTitle());
// 使用SimpleDateFormat对象将Date对象格式化为字符串
String firstWarnTime = sdf.format(x.getFirstWarnTimeDate());
String eventTime = sdf.format(x.getEventTimeDate());
x.setContent(x.getTitle());
x.setFirstWarnTime(firstWarnTime);
x.setEventTime(eventTime);
});
String jsonStr = JSONUtil.toJsonStr(dtos);
HttpRequest.post(url + "/gateway/event/event/eventData/imports").header("Authorization", "Bearer " + accessToken).body(jsonStr).execute().body();
// 判断是否还有下一页
if (dataPage.getPages() > dataPage.getCurrent()) {
// 设置下一页的页码
page.setCurrent(page.getCurrent() + 1);
} else {
log.info("==========推送完成=========");
return; // 已经获取完所有数据,结束循环
}
}
}
/**
* events_import
*/
@Override
public void getEventDate() {
Long id = casesImportService.findIdDesc();
log.info("最新id是=============:"+id);
log.info("最新id是=============:" + id);
if (id == null) {
id = 0L;
}

Loading…
Cancel
Save