diff --git a/dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java b/dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java index d475630..2237092 100644 --- a/dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java +++ b/dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java @@ -15,5 +15,5 @@ public interface RemoteBusinessAlertService { * @param businessId 业务id(预警、工单) * @param flowStatus 流程状态 */ - void updateAlertStatus(String businessId, String flowStatus); + void updateAlertStatus(String businessId, String flowStatus,Boolean isIllegal,String alertType); } diff --git a/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessCreateTaskEvent.java b/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessCreateTaskEvent.java index 77c73ec..eabb443 100644 --- a/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessCreateTaskEvent.java +++ b/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessCreateTaskEvent.java @@ -44,6 +44,16 @@ public class ProcessCreateTaskEvent extends RemoteApplicationEvent { */ private String businessId; + /** + * 处置预警类型 + */ + private String alertType; + + /** + * 是否违建 + */ + private Boolean isIllegal; + public ProcessCreateTaskEvent() { super(new Object(), SpringUtils.getApplicationName(), DEFAULT_DESTINATION_FACTORY.getDestination(null)); } diff --git a/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java b/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java index f0f18d1..b8b7646 100644 --- a/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java +++ b/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java @@ -45,6 +45,16 @@ public class ProcessEvent extends RemoteApplicationEvent { */ private Map params; + /** + * 预警类型 + */ + private String alertType; + + /** + * 是否违建 + */ + private Boolean isIllegal; + /** * 当为true时为申请人节点办理 */ diff --git a/dk-modules/business/src/main/java/org/dromara/business/config/ZlmConfig.java b/dk-modules/business/src/main/java/org/dromara/business/config/ZlmConfig.java new file mode 100644 index 0000000..d88f95c --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/config/ZlmConfig.java @@ -0,0 +1,88 @@ +package org.dromara.business.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.client.RestTemplate; + +/** + * 视频流配置类 + */ +@Data +@Configuration +@ConfigurationProperties(prefix = "zlm") +public class ZlmConfig { + + /** + * 请求url + */ + private String apiUrl; + /** + *应用名 + */ + private String app; + /** + * 流 id + */ + private String stream; + + /** + * 0 为 hls,1 为 mp4 + */ + private String type; + /** + * api 操作密钥 + */ + private String secret; + /** + * 虚拟主机 + */ + private String vhost; + + /** + * mp4 录像切片时间大小,单位秒,置 0 则采用配置项 + */ + private Integer maxSecond; + + /** + * 截图需要的url + */ + private String rtmp; + + /** + * 开始录制url + */ + private String startRecordUrl; + + /** + * 停止录制url + */ + private String stopRecordUrl; + + /** + * 录制状态url + */ + private String isRecordUrl; + + /** + * 设置录像速度url + */ + private String recordSpeedUrl; + + /** + * 获取截图url + */ + private String snapUrl; + + /** + * 设置录像流播放位置 + */ + private String seekRecordStampUrl; + + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } +} + diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java index f5b9be9..d2ce01a 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java @@ -32,8 +32,6 @@ public class BusinessAlertStatisticsController extends BaseController { return R.ok(statisticsService.countPanelAlert(businessAlertBo)); } - - //饼图显示每个月根据部门 @Operation(summary="根据月份显示预警个数", description="根据月份显示预警个数") @GetMapping(value = "/month/count") @@ -65,9 +63,15 @@ public class BusinessAlertStatisticsController extends BaseController { //预警对比统计 //1、处理状态柱状图,x轴为选中的部门 //2、预警类型柱状图,x轴为选中的部门 - @Operation(summary="预警对比统计", description="预警对比统计") - @GetMapping(value = "/compare/count") - public R>> countAlertCompare(BusinessAlertBo businessAlertBo) { - return R.ok(statisticsService.countAlertCompare(businessAlertBo)); + @Operation(summary="预警对比统计(预警状态)", description="预警对比统计(预警状态)") + @GetMapping(value = "/compare/status/count") + public R>> countAlertStatusCompare(BusinessAlertBo businessAlertBo) { + return R.ok(statisticsService.countAlertStatusCompare(businessAlertBo)); + } + + @Operation(summary="预警对比统计(预警类型)", description="预警对比统计(预警类型)") + @GetMapping(value = "/compare/type/count") + public R>> countAlertTypeCompare(BusinessAlertBo businessAlertBo) { + return R.ok(statisticsService.countAlertTypeCompare(businessAlertBo)); } } diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessDepartBoundaryController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessDepartBoundaryController.java index e474a14..2062ca0 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessDepartBoundaryController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessDepartBoundaryController.java @@ -57,8 +57,8 @@ public class BusinessDepartBoundaryController extends BaseController { */ @Operation(summary ="批量新增部门区域",description = "批量新增部门区域") @RequestMapping(value = "/upload", method = RequestMethod.POST) - public R uploadShpFile(@RequestParam("file") MultipartFile file) { - return toAjax(departBoundaryService.uploadShpFile(file)); + public R uploadShpFile(@RequestParam("file") MultipartFile file,@RequestParam("areaType") Integer areaType) { + return toAjax(departBoundaryService.uploadShpFile(file,areaType)); } /** @@ -85,4 +85,8 @@ public class BusinessDepartBoundaryController extends BaseController { public R deleteDepartBoundary(@RequestParam(name = "id") String id) { return toAjax(departBoundaryService.deleteDepartBoundary(id)); } + + + + } diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessVideoController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessVideoController.java new file mode 100644 index 0000000..182287f --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessVideoController.java @@ -0,0 +1,90 @@ +package org.dromara.business.controller; + + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.dromara.business.service.BusinessVideoService; +import org.dromara.common.core.domain.R; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * rtmp默认端口1935, rtsp默认端口554 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/video") +@Tag(name = "ZLMediaKit视频流相关操作") +public class BusinessVideoController { + + private final BusinessVideoService businessVideoService; + + + /** + * 开始录制 + */ + @Operation(summary ="开始录制",description = "开始录制") + @GetMapping("/startRecord") + public R startRecording() { + return businessVideoService.startRecording()?R.ok("启动成功!"):R.fail("启动失败!"); + } + + /** + * 停止录制 + */ + @Operation(summary ="停止录制",description = "停止录制") + @GetMapping("/stopRecord") + public R stopRecording() { + return businessVideoService.stopRecording()?R.ok("停止成功!"):R.fail("停止失败!"); + } + + /** + * 获取录制状态 + */ + @Operation(summary ="获取录制状态",description = "获取录制状态") + @GetMapping("/isRecording") + public R isRecording() { + return R.ok("获取录制状态!",businessVideoService.isRecording()); + } + + /** + * 获取截图 + */ + @Operation(summary ="获取截图",description = "获取截图",parameters = { + @Parameter(name = "timeoutSec",description = "截图失败超时时间"), + @Parameter(name = "expireSec",description = "截图的过期时间,该时间内产生的截图都会作为缓存返回") + }) + @GetMapping("/getSnap") + public R getSnap(@RequestParam("timeoutSec") Integer timeoutSec,@RequestParam("expireSec") Integer expireSec) { + return R.ok("截图成功!",businessVideoService.getSnap(timeoutSec,expireSec)); + } + + + /** + * 设置录像流播放位置(官方提供的接口有问题)暂时不用 + */ + @Operation(summary ="设置录像流播放位置",description = "设置录像流播放位置",parameters = { + @Parameter(name = "stamp",description = "要设置的录像播放位置") + }) + @GetMapping("/seekRecordStamp") + public R seekRecordStamp(@RequestParam("stamp") Integer stamp) { + return businessVideoService.seekRecordStamp(stamp)?R.ok("设置成功!"):R.fail("设置失败!"); + } + + /** + * 设置录像速度(官方提供的接口有问题)暂时不用 + */ + @Operation(summary ="设置录像速度",description = "设置录像速度",parameters = { + @Parameter(name = "speed",description = "要设置的录像倍速") + }) + @GetMapping("/setRecordSpeed") + public R setRecordSpeed(@RequestParam("speed") Double speed) { + return businessVideoService.setRecordSpeed(speed)?R.ok("获取成功!"):R.fail("获取失败!"); + } +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java index cbe19b0..80ac27e 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java @@ -64,10 +64,10 @@ public class BusinessAlert extends BaseEntity { private String images; /** - * 预警类型 + * 识别类型 */ - @TableField(value = "alert_type",typeHandler = JacksonTypeHandler.class) - private List alertType; + @TableField(value = "identify_type",typeHandler = JacksonTypeHandler.class) + private List identifyType; /** * 纬度 @@ -80,9 +80,9 @@ public class BusinessAlert extends BaseEntity { private Long lng; /** - * 任务类型 + * 预警类型 */ - private String taskHandleType; + private String alertType; /** @@ -140,7 +140,7 @@ public class BusinessAlert extends BaseEntity { /** * 是否违建 0:否,1:是 */ - private Long isIllegal; + private Boolean isIllegal; /** * 部门id diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessDepartBoundary.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessDepartBoundary.java index 4f3408f..d36f1b4 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessDepartBoundary.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessDepartBoundary.java @@ -65,9 +65,9 @@ public class BusinessDepartBoundary extends BaseEntity { private String shpNo; /** - * 0不为村级别,1为村级别 + * 区域类别 */ - private Integer villageType; + private Integer areaType; /**删除状态(0,正常,1已删除)*/ private String delFlag; diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java index 9ce7dbf..b69c43b 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java @@ -47,9 +47,9 @@ public class BusinessAlertBo { private String images; /** - * 预警类型 + * 识别类型 */ - private List alertType; + private List identifyType; /** * 纬度 @@ -62,9 +62,9 @@ public class BusinessAlertBo { private Long lng; /** - * 任务类型 + * 预警类型 */ - private String taskHandleType; + private String alertType; /** * 流程处置状态(verify:验证,cancel:已撤销,draft:草稿,waiting:待审核,finish:已完成,invalid:已作废,back:已退回,termination:已终止) @@ -117,7 +117,7 @@ public class BusinessAlertBo { /** * 是否违建 0:否,1:是 */ - private Long isIllegal; + private Boolean isIllegal; /** * 部门id diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java index 256ae5a..e228dd1 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java @@ -59,9 +59,9 @@ public class BusinessAlertVo implements Serializable { /** - * 预警类型 + * 识别类型 */ - private List alertType; + private List identifyType; /** * 纬度 @@ -76,10 +76,10 @@ public class BusinessAlertVo implements Serializable { private Long lng; /** - * 任务类型 + * 预警类型 */ - @ExcelProperty(value = "任务类型") - private String taskHandleType; + @ExcelProperty(value = "预警类型") + private String alertType; /** @@ -139,7 +139,7 @@ public class BusinessAlertVo implements Serializable { * 是否违建 0:否,1:是 */ @ExcelProperty(value = "是否违建 0:否,1:是") - private Long isIllegal; + private Boolean isIllegal; /** * 部门id diff --git a/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java index 58c7a30..be01604 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java @@ -23,7 +23,7 @@ public class RemoteBusinessAlertServiceImpl implements RemoteBusinessAlertServic * @param flowStatus 流程状态 */ @Override - public void updateAlertStatus(String businessId, String flowStatus) { - businessAlertService.updateAlertStatus(businessId,flowStatus); + public void updateAlertStatus(String businessId, String flowStatus,Boolean isIllegal,String alertType) { + businessAlertService.updateAlertStatus(businessId,flowStatus,isIllegal,alertType); } } diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java index 5737e0e..2fcee06 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java @@ -23,22 +23,32 @@ import java.util.Map; */ public interface BusinessAlertMapper extends BaseMapperPlus { + @DataPermission( + @DataColumn(key = "deptName", value = "ba.dept_id") + ) Page pageBusinessAlert(Page page, QueryWrapper ew); + @DataPermission( + @DataColumn(key = "deptName", value = "ba.dept_id") + ) Page pageAlertFinish(Page page, QueryWrapper ew); + @DataPermission( + @DataColumn(key = "deptName", value = "ba.dept_id") + ) Page pageAlertTodo(Page page, QueryWrapper ew); - Page pageBusinessAlertCancel(Page build, QueryWrapper ew); - @DataPermission( @DataColumn(key = "deptName", value = "ba.dept_id") ) - List> listMonthAlert(@Param("param") BusinessAlertBo businessAlertBo); + Page pageBusinessAlertCancel(Page build, QueryWrapper ew); @DataPermission( @DataColumn(key = "deptName", value = "ba.dept_id") ) + List> listMonthAlert(@Param("param") BusinessAlertBo businessAlertBo); + + List> listDepartAlert(@Param("param") BusinessAlertBo businessAlertBo); @DataPermission( @@ -46,9 +56,7 @@ public interface BusinessAlertMapper extends BaseMapperPlus> listMonthAlertStatus(@Param("param")BusinessAlertBo businessAlertBo); - @DataPermission( - @DataColumn(key = "deptName", value = "ba.dept_id") - ) + List> listDepartAlertStatus(@Param("param") BusinessAlertBo businessAlertBo); @DataPermission( @@ -59,6 +67,10 @@ public interface BusinessAlertMapper extends BaseMapperPlus> countPanelAlert(BusinessAlertBo businessAlertBo); + List> countPanelAlert(@Param("param")BusinessAlertBo businessAlertBo); + @DataPermission( + @DataColumn(key = "deptName", value = "ba.dept_id") + ) + List> countAlertTypeCompare(@Param("param") BusinessAlertBo businessAlertBo); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertStatisticsService.java b/dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertStatisticsService.java index 67f47f5..a3041a2 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertStatisticsService.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertStatisticsService.java @@ -16,7 +16,9 @@ public interface BusinessAlertStatisticsService { List countDepartAlertStatus(BusinessAlertBo businessAlertBo); - List> countAlertCompare(BusinessAlertBo businessAlertBo); + List> countAlertStatusCompare(BusinessAlertBo businessAlertBo); List countPanelAlert(BusinessAlertBo businessAlertBo); + + List> countAlertTypeCompare(BusinessAlertBo businessAlertBo); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/BusinessVideoService.java b/dk-modules/business/src/main/java/org/dromara/business/service/BusinessVideoService.java new file mode 100644 index 0000000..3a03385 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/BusinessVideoService.java @@ -0,0 +1,16 @@ +package org.dromara.business.service; + + +public interface BusinessVideoService { + Boolean startRecording(); + + Boolean stopRecording(); + + String isRecording(); + + Boolean setRecordSpeed(Double speed); + + String getSnap(Integer timeoutSec, Integer expireSec); + + Boolean seekRecordStamp(Integer stamp); +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java index 351b244..7d7d5a8 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java @@ -62,7 +62,7 @@ public interface IBusinessAlertService { * @param businessId * @param flowStatus */ - void updateAlertStatus(String businessId, String flowStatus); + void updateAlertStatus(String businessId, String flowStatus,Boolean isIllegal,String alertType); TableDataInfo getInfo(BusinessAlertBo bo, PageQuery pageQuery, String alertCode); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessDepartBoundaryService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessDepartBoundaryService.java index 4b11042..a1e55a1 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessDepartBoundaryService.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessDepartBoundaryService.java @@ -18,7 +18,7 @@ public interface IBusinessDepartBoundaryService extends IService queryByDeptId(String deptId); - boolean uploadShpFile(MultipartFile file); + boolean uploadShpFile(MultipartFile file,Integer areaType); boolean deleteDepartBoundary(String id); diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java index f27fb7c..5db0bbe 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java @@ -102,10 +102,15 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { * @param flowStatus */ @Override - public void updateAlertStatus(String businessId, String flowStatus) { + public void updateAlertStatus(String businessId, String flowStatus,Boolean isIllegal,String alertType) { LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); - wrapper.set(BusinessAlert::getHandleType, BusinessStatusEnum.getByStatus(flowStatus)); - + wrapper.set(BusinessAlert::getHandleType, BusinessStatusEnum.getByStatus(flowStatus).getStatus()); + if (ObjectUtil.isNotEmpty(isIllegal)){ + wrapper.set(BusinessAlert::getIsIllegal, isIllegal); + } + if (ObjectUtil.isNotEmpty(alertType)){ + wrapper.set(BusinessAlert::getAlertType, alertType); + } wrapper.eq(BusinessAlert::getId, businessId); this.baseMapper.update(wrapper); diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java index ac0501f..05a8caa 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java @@ -55,13 +55,7 @@ public class BusinessAlertStatisticsServiceImpl implements BusinessAlertStatisti @Override public ListcountDepartAlert(BusinessAlertBo businessAlertBo) { - if (ObjectUtil.isNotEmpty(LoginHelper.getDeptId())){ - List remoteDeptVoList = remoteDeptService.selectListByParentId(LoginHelper.getDeptId() + ""); - businessAlertBo.setDeptIdList(remoteDeptVoList.stream().map(RemoteDeptVo::getDeptId).toList()); - }else { - //TODO - } - + businessAlertBo.setDeptId(String.valueOf(LoginHelper.getDeptId())); List> mapList = baseMapper.listDepartAlert(businessAlertBo); return mapList.stream().map(data -> new StatObj(data.get("deptName") + "", Long.parseLong(data.get("total") + ""),"deptId",data.get("deptId"))).collect(Collectors.toList()); @@ -109,12 +103,9 @@ public class BusinessAlertStatisticsServiceImpl implements BusinessAlertStatisti * @return */ @Override - public List> countAlertCompare(BusinessAlertBo businessAlertBo) { + public List> countAlertStatusCompare(BusinessAlertBo businessAlertBo) { businessAlertBo.setDateList(buildDateList(businessAlertBo)); - List> mapList = baseMapper.countAlertCompare(businessAlertBo); - - - return mapList; + return baseMapper.countAlertCompare(businessAlertBo); } @Override @@ -131,6 +122,12 @@ public class BusinessAlertStatisticsServiceImpl implements BusinessAlertStatisti .collect(Collectors.toList()); } + @Override + public List> countAlertTypeCompare(BusinessAlertBo businessAlertBo) { + businessAlertBo.setDateList(buildDateList(businessAlertBo)); + return baseMapper.countAlertTypeCompare(businessAlertBo); + } + private List buildDateList(BusinessAlertBo businessAlertBo) { List resultList = new ArrayList<>(); String currentYear = String.valueOf(Calendar.getInstance().get(Calendar.YEAR)); diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java index e653896..48d7eef 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java @@ -77,12 +77,12 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl geospatialVectorsList = buildGeospatialVector(file); //6、生成新的对象集合存储数据表中 - List boundaryList = buildBusinessDepartBoundary(geospatialVectorsList); + List boundaryList = buildBusinessDepartBoundary(geospatialVectorsList,areaType); // 分批处理 int startIndex = 0; // 从第 0 条开始 @@ -212,7 +212,7 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl buildBusinessDepartBoundary(List geospatialVectorsList) { + private List buildBusinessDepartBoundary(List geospatialVectorsList,Integer areaType) { List resultList = new ArrayList<>(); List> namePathList = remoteDeptService.getNamePathList(); @@ -232,7 +232,7 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl response = restTemplate.getForEntity(url, String.class); + if (response.getStatusCode().is2xxSuccessful()) { + Map result = objectMapper.readValue(response.getBody(), Map.class); + log.info("录制停止成功: {}", result); + } + } catch (Exception e) { + log.error("请求异常: {}", e.getMessage(), e); + return false; + } + + return true; + } + + @Override + public String isRecording() { + String result = null; + + String url = String.format("%s%s?app=%s&stream=%s&type=%s&vhost=%s&secret=%s", + zlmConfig.getApiUrl(), + zlmConfig.getIsRecordUrl(), + zlmConfig.getApp(), + zlmConfig.getStream(), + zlmConfig.getType(), + zlmConfig.getVhost(), + zlmConfig.getSecret()); + + try { + ResponseEntity response = restTemplate.getForEntity(url, String.class); + if (response.getStatusCode().is2xxSuccessful()) { + Map resultMap = objectMapper.readValue(response.getBody(), Map.class); + result = resultMap.get("status") + ""; + log.info("获取录制状态成功: {}", resultMap); + } + + return result; + } catch (Exception e) { + log.error("请求异常: {}", e.getMessage(), e); + } + + return result; + } + + @Override + public Boolean setRecordSpeed(Double speed) { + String url = String.format("%s%s?app=%s&stream=%s&type=%s&vhost=%s&secret=%s&speed=%s", + zlmConfig.getApiUrl(), + zlmConfig.getRecordSpeedUrl(), + zlmConfig.getApp(), + zlmConfig.getStream(), + zlmConfig.getType(), + zlmConfig.getVhost(), + zlmConfig.getSecret(), + speed); + + try { + ResponseEntity response = restTemplate.getForEntity(url, String.class); + if (response.getStatusCode().is2xxSuccessful()) { + Map result = objectMapper.readValue(response.getBody(), Map.class); + log.info("设置录制速度成功: {}", result); + } + } catch (Exception e) { + log.error("请求异常: {}", e.getMessage(), e); + return false; + } + + return true; + } + + @Override + public String getSnap(Integer timeoutSec, Integer expireSec) { + String url = String.format("rtmp://%s/%s/%s",zlmConfig.getRtmp(),zlmConfig.getApp(),zlmConfig.getStream()); + String apiUrl = String.format("%s%s?secret=%s&url=%s&timeout_sec=%s&expire_sec=%s", + zlmConfig.getApiUrl(), + zlmConfig.getSnapUrl(), + zlmConfig.getSecret(), + url, + timeoutSec, + expireSec); + + try { + ResponseEntity response = restTemplate.getForEntity(apiUrl, String.class); + if (response.getStatusCode().is2xxSuccessful()) { + log.info("获取截图成功: {}", response.getBody()); + } + + return response.getBody(); + } catch (Exception e) { + log.error("请求异常: {}", e.getMessage(), e); + } + + return ""; + } + + + @Override + public Boolean seekRecordStamp(Integer stamp) { + String url = String.format("%s%s?app=%s&stream=%s&vhost=%s&secret=%s&stamp=%s", + zlmConfig.getApiUrl(), + zlmConfig.getSeekRecordStampUrl(), + zlmConfig.getApp(), + zlmConfig.getStream(), + zlmConfig.getVhost(), + zlmConfig.getSecret(), + stamp); + + try { + ResponseEntity response = restTemplate.getForEntity(url, String.class); + if (response.getStatusCode().is2xxSuccessful()) { + Map result = objectMapper.readValue(response.getBody(), Map.class); + log.info("设置录像流播放位置成功: {}", result); + } + } catch (Exception e) { + log.error("请求异常: {}", e.getMessage(), e); + return false; + } + + return true; + } +} diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml index 45bc1ca..0c969b4 100644 --- a/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml @@ -118,11 +118,51 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java index 79c23ff..81b6221 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java @@ -7,6 +7,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; +import java.util.Date; /** * @author sean @@ -54,9 +55,9 @@ public class WaylineFileEntity implements Serializable { private String username; @TableField(value = "create_time", fill = FieldFill.INSERT) - private Long createTime; + private Date createTime; @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) - private Long updateTime; + private Date updateTime; } diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/handler/FlwAlertHandler.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/handler/FlwAlertHandler.java index 0e4dfbc..d17dde1 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/handler/FlwAlertHandler.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/handler/FlwAlertHandler.java @@ -31,7 +31,7 @@ public class FlwAlertHandler implements FlwCommonHandler { @EventListener(condition = "#processEvent.flowCode.startsWith('alert')") @Override public void processHandler(ProcessEvent processEvent) { - alertService.updateAlertStatus(processEvent.getBusinessId(),processEvent.getStatus()); + alertService.updateAlertStatus(processEvent.getBusinessId(),processEvent.getStatus(),processEvent.getIsIllegal(),processEvent.getAlertType()); } /** @@ -43,7 +43,7 @@ public class FlwAlertHandler implements FlwCommonHandler { @EventListener(condition = "#processCreateTaskEvent.flowCode.startsWith('alert')") @Override public void processCreateTaskHandler(ProcessCreateTaskEvent processCreateTaskEvent) { - alertService.updateAlertStatus(processCreateTaskEvent.getBusinessId(), BusinessStatusEnum.WAITING.getStatus()); + alertService.updateAlertStatus(processCreateTaskEvent.getBusinessId(), BusinessStatusEnum.WAITING.getStatus(),processCreateTaskEvent.getIsIllegal(),processCreateTaskEvent.getAlertType()); } /**