添加算法日志

master
吴顺杰 1 year ago
parent 560fcbca3e
commit aab5dbf6ab

@ -52,7 +52,7 @@ public class EventsController extends BaseController {
@GetMapping @GetMapping
@ApiOperation(value = "分页条件查询事件集合表", response = Events.class) @ApiOperation(value = "分页条件查询事件集合表", response = Events.class)
public AjaxResult page(Page<Events> page, Events events) { public AjaxResult page(Page<Events> page, Events events) {
return success(eventsService.page(page, new QueryWrapper<>(events))); return success(eventsService.page(page, events));
} }
/** /**

@ -0,0 +1,107 @@
package com.ruoyi.pt.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.pt.entity.RemoteLog;
import com.ruoyi.pt.service.RemoteLogService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;
/**
* (RemoteLog)
*
* @author wu
* @since 2024-02-22 09:56:40
*/
@RestController
@RequestMapping("pt/remoteLog")
@Api(tags = "算法日志表")
@Transactional(rollbackFor = Exception.class)
public class RemoteLogController extends BaseController {
/**
*
*/
@Resource
private RemoteLogService remoteLogService;
/**
*
*
* @param page
* @param remoteLog
* @return
*/
@GetMapping
@ApiOperation(value = "分页条件查询算法日志表", response = RemoteLog.class)
public AjaxResult page(Page<RemoteLog> page, RemoteLog remoteLog) {
QueryWrapper<RemoteLog> wrapper = new QueryWrapper<>(remoteLog);
wrapper.orderByDesc("running_time");
return success(remoteLogService.page(page, wrapper));
}
/**
*
*
* @param id
* @return
*/
@GetMapping("{id}")
@ApiOperation(value = "通过主键查询单条算法日志表", response = RemoteLog.class)
public AjaxResult getById(@PathVariable Serializable id) {
return success(remoteLogService.getById(id));
}
/**
*
*
* @param remoteLog
* @return
*/
@PostMapping
@ApiOperation(value = "新增算法日志表", response = RemoteLog.class)
public AjaxResult insert(@RequestBody RemoteLog remoteLog) {
return success(remoteLogService.save(remoteLog));
}
/**
*
*
* @param remoteLog
* @return
*/
@PutMapping
@ApiOperation(value = "修改算法日志表")
public AjaxResult update(@RequestBody RemoteLog remoteLog) {
return success(remoteLogService.updateById(remoteLog));
}
/**
*
*
* @param idList
* @return
*/
@DeleteMapping
@ApiOperation(value = "删除算法日志表")
public AjaxResult delete(@RequestParam("idList") List<Long> idList) {
return success(remoteLogService.removeByIds(idList));
}
}

@ -0,0 +1,56 @@
package com.ruoyi.pt.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* (RemoteLog)
*
* @author wu
* @since 2024-02-22 09:56:41
*/
@Data
@ApiModel("算法日志表实体类")
@TableName(value = "remote_log")
public class RemoteLog implements Serializable {
private static final long serialVersionUID = 254874897853314465L;
/**
* id
*/
@ApiModelProperty(value = "主键id")
@TableId(type = IdType.AUTO)
private Long id;
/**
*
*/
@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")
private LocalDateTime runningTime;
/**
*
*/
@ApiModelProperty(value = "获取事件条数")
private Integer hqTotal;
/**
*
*/
@ApiModelProperty(value = "推送驾驶舱条数")
private Integer tsTotal;
}

@ -0,0 +1,15 @@
package com.ruoyi.pt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.pt.entity.RemoteLog;
/**
* (RemoteLog)访
*
* @author wu
* @since 2024-02-22 09:56:41
*/
public interface RemoteLogMapper extends BaseMapper<RemoteLog> {
}

@ -1,8 +1,8 @@
package com.ruoyi.pt.quartz; package com.ruoyi.pt.quartz;
import cn.hutool.core.date.DateTime; import com.ruoyi.pt.entity.RemoteLog;
import cn.hutool.core.date.DateUtil;
import com.ruoyi.pt.service.RemoteCallsService; import com.ruoyi.pt.service.RemoteCallsService;
import com.ruoyi.pt.service.RemoteLogService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
@ -30,10 +30,16 @@ public class PushQuartz {
@Resource @Resource
private RemoteCallsService remoteCallsService; private RemoteCallsService remoteCallsService;
@Resource
private RemoteLogService remoteLogService;
@Scheduled(cron = "0 0 */1 * * ?") @Scheduled(cron = "0 0 */1 * * ?")
public synchronized void pushData() { public synchronized void pushData() {
// 日志
RemoteLog remoteLog = new RemoteLog();
// 获取当前时间 // 获取当前时间
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
remoteLog.setRunningTime(now);
// 获取当前时间的上一个小时 // 获取当前时间的上一个小时
LocalDateTime lastHour = now.minusHours(1); LocalDateTime lastHour = now.minusHours(1);
// 获取上个小时 // 获取上个小时
@ -50,7 +56,8 @@ public class PushQuartz {
log.info("==============过滤已办结的事件列表" + "============"); log.info("==============过滤已办结的事件列表" + "============");
remoteCallsService.completionEventList(lastHourStr, localDateStr); remoteCallsService.completionEventList(lastHourStr, localDateStr);
// 拉取社会治理中心增量事件保存到events_import表 // 拉取社会治理中心增量事件保存到events_import表
remoteCallsService.getEventDate(); int total = remoteCallsService.getEventDate();
remoteLog.setHqTotal(total);
// 获取今天的时间 // 获取今天的时间
LocalDate localDate = LocalDate.now(); LocalDate localDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
@ -69,6 +76,9 @@ public class PushQuartz {
remoteCallsService.onepersonAlgorithm(); remoteCallsService.onepersonAlgorithm();
// 推送 // 推送
log.info("==============推送到预警平台接口" + LocalDateTime.now() + "============"); log.info("==============推送到预警平台接口" + LocalDateTime.now() + "============");
remoteCallsService.imports(1); int num = remoteCallsService.imports(1);
remoteLog.setTsTotal(num);
// 保存日志
remoteLogService.save(remoteLog);
} }
} }

@ -1,5 +1,6 @@
package com.ruoyi.pt.service; package com.ruoyi.pt.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.pt.entity.Events; import com.ruoyi.pt.entity.Events;
@ -11,5 +12,13 @@ import com.ruoyi.pt.entity.Events;
*/ */
public interface EventsService extends IService<Events> { public interface EventsService extends IService<Events> {
/**
*
* @param page
* @param events
* @return
*/
Page<Events> page(Page<Events> page, Events events);
} }

@ -19,13 +19,15 @@ public interface RemoteCallsService {
* *
* *
* @param allPush 1 null * @param allPush 1 null
* @return
*/ */
void imports(Integer allPush); int imports(Integer allPush);
/** /**
* events_import * events_import
* @return
*/ */
void getEventDate(); int getEventDate();
/** /**
* *

@ -0,0 +1,15 @@
package com.ruoyi.pt.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.pt.entity.RemoteLog;
/**
* (RemoteLog)
*
* @author wu
* @since 2024-02-22 09:56:41
*/
public interface RemoteLogService extends IService<RemoteLog> {
}

@ -1,8 +1,11 @@
package com.ruoyi.pt.service.impl; package com.ruoyi.pt.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.pt.mapper.EventsMapper;
import com.ruoyi.pt.entity.Events; import com.ruoyi.pt.entity.Events;
import com.ruoyi.pt.mapper.EventsMapper;
import com.ruoyi.pt.service.EventsService; import com.ruoyi.pt.service.EventsService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -15,5 +18,20 @@ import org.springframework.stereotype.Service;
@Service("eventsService") @Service("eventsService")
public class EventsServiceImpl extends ServiceImpl<EventsMapper, Events> implements EventsService { public class EventsServiceImpl extends ServiceImpl<EventsMapper, Events> implements EventsService {
/**
*
*
* @param page
* @param events
* @return
*/
@Override
public Page<Events> page(Page<Events> page, Events events) {
QueryWrapper<Events> wrapper = new QueryWrapper<>();
wrapper.like(StrUtil.isNotEmpty(events.getTitle()), "title", events.getTitle())
.like(StrUtil.isNotEmpty(events.getMsgTypeName()), "msgTypeName", events.getMsgTypeName())
.orderByDesc("eventTime");
return baseMapper.selectPage(page, wrapper);
}
} }

@ -92,10 +92,13 @@ public class RemoteCallsServiceImpl implements RemoteCallsService {
/** /**
* *
* *
* @param allPush 1 null * @param allPush 1 null
* @return
*/ */
@Override @Override
public void imports(Integer allPush) { public int imports(Integer allPush) {
// 推送条数
int num = 0;
String accessToken = this.getAccessToken(); String accessToken = this.getAccessToken();
// 初始化MyBatis-Plus的分页对象 查询第1页每页100条 // 初始化MyBatis-Plus的分页对象 查询第1页每页100条
Page<Events> page = new Page<>(1, 100); Page<Events> page = new Page<>(1, 100);
@ -119,6 +122,7 @@ public class RemoteCallsServiceImpl implements RemoteCallsService {
IPage<Events> dataPage = eventsService.page(page, queryWrapper); IPage<Events> dataPage = eventsService.page(page, queryWrapper);
List<Events> data = dataPage.getRecords(); List<Events> data = dataPage.getRecords();
List<RemoteCallsDTO> dtos = BeanUtil.copyToList(data, RemoteCallsDTO.class); List<RemoteCallsDTO> dtos = BeanUtil.copyToList(data, RemoteCallsDTO.class);
num += dtos.size();
log.info("==========推送数据条数=========> " + dtos.size()); log.info("==========推送数据条数=========> " + dtos.size());
dtos.forEach(x -> { dtos.forEach(x -> {
x.setContent(x.getTitle()); x.setContent(x.getTitle());
@ -167,22 +171,25 @@ public class RemoteCallsServiceImpl implements RemoteCallsService {
page.setCurrent(page.getCurrent() + 1); page.setCurrent(page.getCurrent() + 1);
} else { } else {
log.info("==========推送完成========="); log.info("==========推送完成=========");
return; // 已经获取完所有数据,结束循环 // 已经获取完所有数据,结束循环
return num;
} }
} }
} }
/** /**
* events_import * events_import
*
* @return
*/ */
@Override @Override
public void getEventDate() { public int getEventDate() {
Long id = casesImportService.findIdDesc(); Long id = casesImportService.findIdDesc();
log.info("最新id是=============:" + id); log.info("最新id是=============:" + id);
if (id == null) { if (id == null) {
id = 0L; id = 0L;
} }
saveDate(id); return saveDate(id, 0);
} }
/** /**
@ -317,8 +324,10 @@ public class RemoteCallsServiceImpl implements RemoteCallsService {
* events_import * events_import
* *
* @param id id * @param id id
* @param num
* @return
*/ */
public void saveDate(Long id) { public int saveDate(Long id, int num) {
Map<String, Object> form = new HashMap<>(); Map<String, Object> form = new HashMap<>();
form.put("id", id); form.put("id", id);
form.put("size", 5000); form.put("size", 5000);
@ -337,10 +346,12 @@ public class RemoteCallsServiceImpl implements RemoteCallsService {
.collect(Collectors.toList()); .collect(Collectors.toList());
log.info("======================================="); log.info("=======================================");
log.info("过滤后剩下" + filteredList.size() + "条数据"); log.info("过滤后剩下" + filteredList.size() + "条数据");
num += filteredList.size();
casesImportService.saveBatch(filteredList); casesImportService.saveBatch(filteredList);
id = Long.valueOf(list.get(list.size() - 1).getId()); id = Long.valueOf(list.get(list.size() - 1).getId());
saveDate(id); saveDate(id, num);
} }
return num;
} }
/** /**

@ -0,0 +1,19 @@
package com.ruoyi.pt.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.pt.mapper.RemoteLogMapper;
import com.ruoyi.pt.entity.RemoteLog;
import com.ruoyi.pt.service.RemoteLogService;
import org.springframework.stereotype.Service;
/**
* (RemoteLog)
*
* @author wu
* @since 2024-02-22 09:56:41
*/
@Service("remoteLogService")
public class RemoteLogServiceImpl extends ServiceImpl<RemoteLogMapper, RemoteLog> implements RemoteLogService {
}
Loading…
Cancel
Save