diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/controller/EventsController.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/controller/EventsController.java index 96e14e4..f8cdae2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pt/controller/EventsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/controller/EventsController.java @@ -52,7 +52,7 @@ public class EventsController extends BaseController { @GetMapping @ApiOperation(value = "分页条件查询事件集合表", response = Events.class) public AjaxResult page(Page page, Events events) { - return success(eventsService.page(page, new QueryWrapper<>(events))); + return success(eventsService.page(page, events)); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/controller/RemoteLogController.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/controller/RemoteLogController.java new file mode 100644 index 0000000..6e2840d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/controller/RemoteLogController.java @@ -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 page, RemoteLog remoteLog) { + QueryWrapper 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 idList) { + return success(remoteLogService.removeByIds(idList)); + } +} + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/entity/RemoteLog.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/entity/RemoteLog.java new file mode 100644 index 0000000..7a12165 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/entity/RemoteLog.java @@ -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; + +} + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/mapper/RemoteLogMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/mapper/RemoteLogMapper.java new file mode 100644 index 0000000..9be1473 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/mapper/RemoteLogMapper.java @@ -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 { + +} + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/quartz/PushQuartz.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/quartz/PushQuartz.java index bd990c2..35e7f69 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pt/quartz/PushQuartz.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/quartz/PushQuartz.java @@ -1,8 +1,8 @@ package com.ruoyi.pt.quartz; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; +import com.ruoyi.pt.entity.RemoteLog; import com.ruoyi.pt.service.RemoteCallsService; +import com.ruoyi.pt.service.RemoteLogService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; @@ -30,10 +30,16 @@ public class PushQuartz { @Resource private RemoteCallsService remoteCallsService; + @Resource + private RemoteLogService remoteLogService; + @Scheduled(cron = "0 0 */1 * * ?") public synchronized void pushData() { + // 日志 + RemoteLog remoteLog = new RemoteLog(); // 获取当前时间 LocalDateTime now = LocalDateTime.now(); + remoteLog.setRunningTime(now); // 获取当前时间的上一个小时 LocalDateTime lastHour = now.minusHours(1); // 获取上个小时 @@ -50,7 +56,8 @@ public class PushQuartz { log.info("==============过滤已办结的事件列表" + "============"); remoteCallsService.completionEventList(lastHourStr, localDateStr); // 拉取社会治理中心增量事件保存到events_import表 - remoteCallsService.getEventDate(); + int total = remoteCallsService.getEventDate(); + remoteLog.setHqTotal(total); // 获取今天的时间 LocalDate localDate = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); @@ -69,6 +76,9 @@ public class PushQuartz { remoteCallsService.onepersonAlgorithm(); // 推送 log.info("==============推送到预警平台接口" + LocalDateTime.now() + "============"); - remoteCallsService.imports(1); + int num = remoteCallsService.imports(1); + remoteLog.setTsTotal(num); + // 保存日志 + remoteLogService.save(remoteLog); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/EventsService.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/EventsService.java index 3accbc0..8552cc5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/EventsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/EventsService.java @@ -1,5 +1,6 @@ package com.ruoyi.pt.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.pt.entity.Events; @@ -11,5 +12,13 @@ import com.ruoyi.pt.entity.Events; */ public interface EventsService extends IService { + /** + * 分页条件查询事件合集表 + * @param page 分页条件 + * @param events 查询条件 + * @return 事件数据 + */ + Page page(Page page, Events events); + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/RemoteCallsService.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/RemoteCallsService.java index c6dac81..31160c4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/RemoteCallsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/RemoteCallsService.java @@ -19,13 +19,15 @@ public interface RemoteCallsService { * 事件进度推送接口 * * @param allPush 是否全推送 1为推送所有 null为推送当天 + * @return 推送条数 */ - void imports(Integer allPush); + int imports(Integer allPush); /** * 获取社会治理中心增量事件保存到events_import表 + * @return 数据条数 */ - void getEventDate(); + int getEventDate(); /** * 紧急事件接口 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/RemoteLogService.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/RemoteLogService.java new file mode 100644 index 0000000..da40f52 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/RemoteLogService.java @@ -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 { + +} + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/EventsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/EventsServiceImpl.java index 5635c4d..5105dcf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/EventsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/EventsServiceImpl.java @@ -1,8 +1,11 @@ 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.ruoyi.pt.mapper.EventsMapper; import com.ruoyi.pt.entity.Events; +import com.ruoyi.pt.mapper.EventsMapper; import com.ruoyi.pt.service.EventsService; import org.springframework.stereotype.Service; @@ -15,5 +18,20 @@ import org.springframework.stereotype.Service; @Service("eventsService") public class EventsServiceImpl extends ServiceImpl implements EventsService { + /** + * 分页条件查询事件合集表 + * + * @param page 分页条件 + * @param events 查询条件 + * @return 事件数据 + */ + @Override + public Page page(Page page, Events events) { + QueryWrapper 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); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/RemoteCallsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/RemoteCallsServiceImpl.java index 41bbc53..c1cbc1c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/RemoteCallsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/RemoteCallsServiceImpl.java @@ -92,10 +92,13 @@ public class RemoteCallsServiceImpl implements RemoteCallsService { /** * 事件进度推送接口 * - * @param allPush 是否全推送 1为推送当天上个小时 null为推送所有 + * @param allPush 是否全推送 1为推送所有 null为推送当天 + * @return 推送条数 */ @Override - public void imports(Integer allPush) { + public int imports(Integer allPush) { + // 推送条数 + int num = 0; String accessToken = this.getAccessToken(); // 初始化MyBatis-Plus的分页对象 查询第1页,每页100条 Page page = new Page<>(1, 100); @@ -119,6 +122,7 @@ public class RemoteCallsServiceImpl implements RemoteCallsService { IPage dataPage = eventsService.page(page, queryWrapper); List data = dataPage.getRecords(); List dtos = BeanUtil.copyToList(data, RemoteCallsDTO.class); + num += dtos.size(); log.info("==========推送数据条数=========> " + dtos.size()); dtos.forEach(x -> { x.setContent(x.getTitle()); @@ -167,22 +171,25 @@ public class RemoteCallsServiceImpl implements RemoteCallsService { page.setCurrent(page.getCurrent() + 1); } else { log.info("==========推送完成========="); - return; // 已经获取完所有数据,结束循环 + // 已经获取完所有数据,结束循环 + return num; } } } /** * 获取社会治理中心增量事件保存到events_import表 + * + * @return 数据条数 */ @Override - public void getEventDate() { + public int getEventDate() { Long id = casesImportService.findIdDesc(); log.info("最新id是=============:" + id); if (id == null) { id = 0L; } - saveDate(id); + return saveDate(id, 0); } /** @@ -316,9 +323,11 @@ public class RemoteCallsServiceImpl implements RemoteCallsService { /** * 获取社会治理中心增量事件保存到events_import表 * - * @param id 社会治理中心增量事件最大id + * @param id 社会治理中心增量事件最大id + * @param num 数据条数条数 + * @return 总获取过滤后的条数 */ - public void saveDate(Long id) { + public int saveDate(Long id, int num) { Map form = new HashMap<>(); form.put("id", id); form.put("size", 5000); @@ -337,10 +346,12 @@ public class RemoteCallsServiceImpl implements RemoteCallsService { .collect(Collectors.toList()); log.info("======================================="); log.info("过滤后剩下" + filteredList.size() + "条数据"); + num += filteredList.size(); casesImportService.saveBatch(filteredList); id = Long.valueOf(list.get(list.size() - 1).getId()); - saveDate(id); + saveDate(id, num); } + return num; } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/RemoteLogServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/RemoteLogServiceImpl.java new file mode 100644 index 0000000..84f9d05 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/pt/service/impl/RemoteLogServiceImpl.java @@ -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 implements RemoteLogService { + +} +