From da022d57db787f86f44bfe387f2a118563bed70e Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Fri, 28 Feb 2025 17:25:10 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=E4=BF=AE=E5=A4=8D=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91&=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E5=B7=A1=E6=9F=A5=E5=8C=BA=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/system/api/RemoteDeptService.java | 2 + dk-modules/business/pom.xml | 13 ++ ...ller.java => BusinessAlertController.java} | 51 ++--- .../BusinessPatrolAreasController.java | 157 ++++++++++++++ .../{WaylineAlert.java => BusinessAlert.java} | 12 +- .../business/domain/BusinessPatrolAreas.java | 74 +++++++ .../domain/BusinessPatrolAreasPlatform.java | 54 +++++ .../domain/BusinessPatrolAreasPoints.java | 42 ++++ .../domain/BusinessPatrolAreasUser.java | 37 ++++ .../business/domain/BusinessPlatformInfo.java | 54 +++++ .../domain/BusinessPlatformInfoCode.java | 32 +++ ...ylineAlertBo.java => BusinessAlertBo.java} | 6 +- .../domain/bo/BusinessPatrolAreasBo.java | 44 ++++ .../domain/bo/BusinessPlatformInfoBo.java | 11 + ...ylineAlertVo.java => BusinessAlertVo.java} | 6 +- ...rtMapper.java => BusinessAlertMapper.java} | 8 +- .../mapper/BusinessPatrolAreasMapper.java | 22 ++ .../BusinessPatrolAreasPlatformMapper.java | 10 + .../BusinessPatrolAreasPointsMapper.java | 16 ++ .../mapper/BusinessPatrolAreasUserMapper.java | 16 ++ .../BusinessPlatformInfoCodeMapper.java | 17 ++ .../mapper/BusinessPlatformInfoMapper.java | 23 ++ ...Service.java => BusinessAlertService.java} | 23 +- .../IBusinessPatrolAreasPointsService.java | 13 ++ .../service/IBusinessPatrolAreasService.java | 25 +++ .../IBusinessPatrolAreasUserService.java | 13 ++ .../service/IBusinessPlatformInfoService.java | 9 + ...mpl.java => BusinessAlertServiceImpl.java} | 52 ++--- .../BusinessPatrolAreasPointsServiceImpl.java | 23 ++ .../impl/BusinessPatrolAreasServiceImpl.java | 203 ++++++++++++++++++ .../BusinessPatrolAreasUserServiceImpl.java | 23 ++ .../impl/BusinessPlatformInfoServiceImpl.java | 17 ++ ...lertMapper.xml => BusinessAlertMapper.xml} | 9 +- .../business/BusinessPatrolAreasMapper.xml | 55 +++++ .../BusinessPatrolAreasPlatformMapper.xml | 5 + .../BusinessPatrolAreasPointsMapper.xml | 11 + .../BusinessPatrolAreasUserMapper.xml | 9 + .../BusinessPlatformInfoCodeMapper.xml | 10 + .../business/BusinessPlatformInfoMapper.xml | 31 +++ .../system/dubbo/RemoteDeptServiceImpl.java | 8 + dk-modules/workflow/pom.xml | 5 + .../service/impl/FlwTaskServiceImpl.java | 54 ++++- 42 files changed, 1222 insertions(+), 83 deletions(-) rename dk-modules/business/src/main/java/org/dromara/business/controller/{WaylineAlertController.java => BusinessAlertController.java} (53%) create mode 100644 dk-modules/business/src/main/java/org/dromara/business/controller/BusinessPatrolAreasController.java rename dk-modules/business/src/main/java/org/dromara/business/domain/{WaylineAlert.java => BusinessAlert.java} (93%) create mode 100644 dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreas.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasPlatform.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasPoints.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasUser.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPlatformInfo.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPlatformInfoCode.java rename dk-modules/business/src/main/java/org/dromara/business/domain/bo/{WaylineAlertBo.java => BusinessAlertBo.java} (97%) create mode 100644 dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessPatrolAreasBo.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessPlatformInfoBo.java rename dk-modules/business/src/main/java/org/dromara/business/domain/vo/{WaylineAlertVo.java => BusinessAlertVo.java} (96%) rename dk-modules/business/src/main/java/org/dromara/business/mapper/{WaylineAlertMapper.java => BusinessAlertMapper.java} (51%) create mode 100644 dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasMapper.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasPlatformMapper.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasPointsMapper.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasUserMapper.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPlatformInfoCodeMapper.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPlatformInfoMapper.java rename dk-modules/business/src/main/java/org/dromara/business/service/{IWaylineAlertService.java => BusinessAlertService.java} (65%) create mode 100644 dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasPointsService.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasService.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasUserService.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPlatformInfoService.java rename dk-modules/business/src/main/java/org/dromara/business/service/impl/{WaylineAlertServiceImpl.java => BusinessAlertServiceImpl.java} (57%) create mode 100644 dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasPointsServiceImpl.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasServiceImpl.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasUserServiceImpl.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPlatformInfoServiceImpl.java rename dk-modules/business/src/main/resources/mapper/business/{WaylineAlertMapper.xml => BusinessAlertMapper.xml} (87%) create mode 100644 dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasMapper.xml create mode 100644 dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasPlatformMapper.xml create mode 100644 dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasPointsMapper.xml create mode 100644 dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasUserMapper.xml create mode 100644 dk-modules/business/src/main/resources/mapper/business/BusinessPlatformInfoCodeMapper.xml create mode 100644 dk-modules/business/src/main/resources/mapper/business/BusinessPlatformInfoMapper.xml diff --git a/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java b/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java index 7b5e5e6..cc90817 100644 --- a/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java +++ b/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java @@ -20,4 +20,6 @@ public interface RemoteDeptService { String selectDeptNameByIds(String deptIds); List selectDeptsByList(); + + RemoteDeptVo selectDeptById(Long deptId); } diff --git a/dk-modules/business/pom.xml b/dk-modules/business/pom.xml index 3d16372..e09834a 100644 --- a/dk-modules/business/pom.xml +++ b/dk-modules/business/pom.xml @@ -91,6 +91,19 @@ common-encrypt + + + org.jeecgframework + autopoi-web + 1.4.4 + + + commons-codec + commons-codec + + + + ${project.artifactId} diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/WaylineAlertController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java similarity index 53% rename from dk-modules/business/src/main/java/org/dromara/business/controller/WaylineAlertController.java rename to dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java index 0dc2d35..accfecd 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/WaylineAlertController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java @@ -4,9 +4,9 @@ import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; -import org.dromara.business.domain.bo.WaylineAlertBo; -import org.dromara.business.domain.vo.WaylineAlertVo; -import org.dromara.business.service.IWaylineAlertService; +import org.dromara.business.domain.bo.BusinessAlertBo; +import org.dromara.business.domain.vo.BusinessAlertVo; +import org.dromara.business.service.BusinessAlertService; import org.dromara.common.core.domain.R; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; @@ -31,17 +31,18 @@ import java.util.List; @Validated @RequiredArgsConstructor @RestController -@RequestMapping("/alert/task") -public class WaylineAlertController extends BaseController { +@RequestMapping +public class BusinessAlertController extends BaseController { - private final IWaylineAlertService waylineAlertService; + + private final BusinessAlertService businessAlertService; /** * 查询预警任务列表 */ - @GetMapping("/page") - public TableDataInfo pageWaylineAlert(WaylineAlertBo bo, PageQuery pageQuery) { - return waylineAlertService.pageWaylineAlert(bo, pageQuery); + @GetMapping("/alert/page") + public TableDataInfo pageBusinessAlert(BusinessAlertBo bo, PageQuery pageQuery) { + return businessAlertService.pageBusinessAlert(bo, pageQuery); } /** @@ -49,10 +50,10 @@ public class WaylineAlertController extends BaseController { * * @param alertId 主键 */ - @GetMapping("/{alertId}") - public R getWaylineAlert(@NotNull(message = "主键不能为空") + @GetMapping("/alert/{alertId}") + public R getBusinessAlert(@NotNull(message = "主键不能为空") @PathVariable String alertId) { - return R.ok(waylineAlertService.getWaylineAlert(alertId)); + return R.ok(businessAlertService.getBusinessAlert(alertId)); } /** @@ -60,9 +61,9 @@ public class WaylineAlertController extends BaseController { */ @Log(title = "预警任务", businessType = BusinessType.INSERT) @RepeatSubmit() - @PostMapping("/add") - public R addWaylineAlert(@Validated(AddGroup.class) @RequestBody WaylineAlertBo param) { - return toAjax(waylineAlertService.addWaylineAlert(param)); + @PostMapping("/alert/add") + public R addBusinessAlert(@Validated(AddGroup.class) @RequestBody BusinessAlertBo param) { + return toAjax(businessAlertService.addBusinessAlert(param)); } /** @@ -70,9 +71,9 @@ public class WaylineAlertController extends BaseController { */ @Log(title = "预警任务", businessType = BusinessType.UPDATE) @RepeatSubmit() - @PostMapping("/update") - public R updateWaylineAlert(@Validated(EditGroup.class) @RequestBody WaylineAlertBo bo) { - return toAjax(waylineAlertService.updateWaylineAlert(bo)); + @PostMapping("/alert/edit") + public R editBusinessAlert(@Validated(EditGroup.class) @RequestBody BusinessAlertBo bo) { + return toAjax(businessAlertService.editBusinessAlert(bo)); } /** @@ -81,19 +82,19 @@ public class WaylineAlertController extends BaseController { * @param alertIdList 主键串 */ @Log(title = "预警任务", businessType = BusinessType.DELETE) - @DeleteMapping("/delete") - public R deleteWaylineAlert(@NotEmpty(message = "主键不能为空") + @DeleteMapping("/alert/delete") + public R deleteBusinessAlert(@NotEmpty(message = "主键不能为空") @RequestParam List alertIdList) { - return toAjax(waylineAlertService.deleteWaylineAlert(alertIdList, true)); + return toAjax(businessAlertService.deleteBusinessAlert(alertIdList, true)); } /** * 导出预警任务列表 */ @Log(title = "预警任务", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void exportWaylineAlert(WaylineAlertBo bo, HttpServletResponse response) { - List list = waylineAlertService.listWaylineAlert(bo); - ExcelUtil.exportExcel(list, "预警任务", WaylineAlertVo.class, response); + @PostMapping("/alert/export") + public void exportBusinessAlert(BusinessAlertBo bo, HttpServletResponse response) { + List list = businessAlertService.listBusinessAlert(bo); + ExcelUtil.exportExcel(list, "预警任务", BusinessAlertVo.class, response); } } diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessPatrolAreasController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessPatrolAreasController.java new file mode 100644 index 0000000..9ecbdce --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessPatrolAreasController.java @@ -0,0 +1,157 @@ +package org.dromara.business.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; +import org.dromara.business.domain.BusinessAlert; +import org.dromara.business.domain.BusinessPatrolAreas; +import org.dromara.business.domain.BusinessPatrolAreasPoints; +import org.dromara.business.domain.BusinessPatrolAreasUser; +import org.dromara.business.domain.bo.BusinessPatrolAreasBo; +import org.dromara.business.service.IBusinessPatrolAreasPointsService; +import org.dromara.business.service.IBusinessPatrolAreasService; +import org.dromara.business.service.IBusinessPatrolAreasUserService; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.common.web.core.BaseController; +import org.dromara.system.api.model.LoginUser; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import java.util.List; + +/** + * @Description: 巡查区域 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/patrol/patrolAreas") +public class BusinessPatrolAreasController extends BaseController { + + private final IBusinessPatrolAreasService patrolAreasService; + + private final IBusinessPatrolAreasPointsService patrolAreasPointsService; + + private final IBusinessPatrolAreasUserService patrolAreasUserService; + +// @Value("${jeecg.path.upload}") + private String upLoadPath; + + /** + * 巡查区域-分页列表查询 + * + * @param patrolAreasBo + * @param pageNo + * @param pageSize + * @return + */ + @GetMapping(value = "/list") + public R> queryPageList(BusinessPatrolAreasBo patrolAreasBo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { + Page page = new Page(pageNo, pageSize); + IPage pageList = patrolAreasService.pagePatrolAreas(page, patrolAreasBo); + return R.ok(pageList); + } + + /** + * 巡查区域-添加 + * + * @param patrolAreas + * @return + */ + @PostMapping(value = "/add") + public R add(@RequestBody BusinessPatrolAreas patrolAreas) { + boolean flag = patrolAreasService.addPatrolAreas(patrolAreas); + if(flag){ + return R.ok("添加成功!"); + } + return R.fail("新增失败"); + } + + /** + * 巡查区域-编辑 + * + * @param patrolAreas + * @return + */ + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public R edit(@RequestBody BusinessPatrolAreas patrolAreas) { + boolean flag = patrolAreasService.updatePatrolAreas(patrolAreas); + if(flag){ + return R.ok("添加成功!"); + } + return R.fail("新增失败"); + } + /** + * 巡查区域-禁用/启用 + * + * @param patrolAreas + * @return + */ + @RequestMapping(value = "/isDisable", method = {RequestMethod.PUT,RequestMethod.POST}) + public R isDisable(@RequestBody BusinessPatrolAreas patrolAreas) { + boolean flag = patrolAreasService.updateById(patrolAreas); + if(flag){ + return R.ok("修改成功!"); + } + return R.fail("操作失败"); + } + /** + * 巡查区域-删除 + * + * @param id + * @return + */ + @DeleteMapping(value = "/delete") + public R delete(String id) { + boolean flag = patrolAreasService.removeById(id); + if(flag){ + List patrolAreasUsersDels = patrolAreasUserService.listPatrolAreasUserByAreaId(id); + List patrolAreasPointsDels = patrolAreasPointsService.listPatrolAreasPointByAreaId(id); + patrolAreasUserService.removeByIds(patrolAreasUsersDels); + patrolAreasPointsService.removeByIds(patrolAreasPointsDels); + } + if(flag){ + return R.ok("删除成功!"); + } + return R.fail("删除失败!"); + } + /** + * 导出excel + * + * @param request + * @param patrolAreas + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(BusinessPatrolAreas patrolAreas, HttpServletRequest request) { + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //update-begin--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据-------------------- +// String selections = request.getParameter("selections"); +// if(!oConvertUtils.isEmpty(selections)){ +// queryWrapper.in("id",selections.split(",")); +// } + //update-end--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据---------------------- + List pageList = patrolAreasService.exportXls(patrolAreas); + + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "用户列表"); + mv.addObject(NormalExcelConstants.CLASS, BusinessPatrolAreas.class); + LoginUser user = LoginHelper.getLoginUser(); + ExportParams exportParams = new ExportParams("用户列表数据", "导出人:"+user.getNickname(), "导出信息"); + exportParams.setImageBasePath(upLoadPath); + mv.addObject(NormalExcelConstants.PARAMS, exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/WaylineAlert.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java similarity index 93% rename from dk-modules/business/src/main/java/org/dromara/business/domain/WaylineAlert.java rename to dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java index bd1e375..56e3962 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/WaylineAlert.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java @@ -5,20 +5,19 @@ import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serial; /** - * 预警任务对象 wayline_alert + * 预警任务对象 business_alert * * @author LionLi * @date 2025-02-27 */ @Data @EqualsAndHashCode(callSuper = true) -@TableName("wayline_alert") -public class WaylineAlert extends BaseEntity { +@TableName("business_alert") +public class BusinessAlert extends BaseEntity { @Serial private static final long serialVersionUID = 1L; @@ -29,6 +28,11 @@ public class WaylineAlert extends BaseEntity { @TableId(value = "id") private String id; + /** + * 流程实例Id + */ + private Long instanceId; + /** * 任务轮id */ diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreas.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreas.java new file mode 100644 index 0000000..08d583d --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreas.java @@ -0,0 +1,74 @@ +package org.dromara.business.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Description: 巡查区域 + */ +@Data +@TableName("business_patrol_areas") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class BusinessPatrolAreas extends BaseEntity { + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + + /**区域名称*/ + @Excel(name = "区域名称", width = 15) + private String name; + /**区域编号*/ + @Excel(name = "区域编号", width = 15) + private String number; + /**所属乡镇id*/ + @Excel(name = "所属乡镇id", width = 15) + private String deptId; + + /**所属乡镇id*/ + @Excel(name = "所属乡镇名称", width = 15) + @TableField(exist = false) + private String deptName; + + @Excel(name = "所属乡镇ids", width = 15) + private String deptIds; + + @Excel(name = "平台类型", width = 15) + private String platformType; + + /**分管领导所属乡镇id**/ + private String leaderDeptId; + + /**用户id**/ + private String userId; + + /**用户姓名**/ + private String userName; + + /**是否禁用:0:禁用 1:启用**/ + private Integer isDisable; + + /**巡查区域人员信息集合**/ + @TableField(exist = false) + private List patrolAreasUsers = new ArrayList<>(); + /**巡查区域平台类型集合**/ + @TableField(exist = false) + private List patrolAreasIdList = new ArrayList<>(); + /**巡查区域坐标集合**/ + @TableField(exist = false) + private List patrolAreasPoints = new ArrayList<>(); + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasPlatform.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasPlatform.java new file mode 100644 index 0000000..e1fd339 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasPlatform.java @@ -0,0 +1,54 @@ +package org.dromara.business.domain; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +/** + * Description:
+ * date: 2024/8/12$ 17:17$
+ * + * @author: yq + */ + +@Data +@TableName("business_patrol_areas_platform_info") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class BusinessPatrolAreasPlatform extends BaseEntity { + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + + @ExcelProperty(value = "patrol_areas_id") + private String patrolAreasId; + /**区域名称*/ + @ExcelProperty(value = "平台名称") + private String platformName; + + @ExcelProperty(value = "平台类型") + private String platformType; + + /**区域编号*/ + @ExcelProperty(value = "平台图片") + private String imageUrl; + + /** + * 排序 + */ + @ExcelProperty(value = "排序") + private Integer sort; + + + + + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasPoints.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasPoints.java new file mode 100644 index 0000000..e4d0d52 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasPoints.java @@ -0,0 +1,42 @@ +package org.dromara.business.domain; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.math.BigDecimal; + +/** + * @Description: 巡查区域坐标 + */ +@Data +@TableName("business_patrol_area_points") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class BusinessPatrolAreasPoints extends BaseEntity { + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + + /**areaId*/ + @ExcelProperty(value = "areaId") + private String areaId; + /**纬度*/ + @ExcelProperty(value = "纬度") + private BigDecimal lat; + /**经度*/ + @ExcelProperty(value = "经度") + private BigDecimal lng; + /**序号*/ + @ExcelProperty(value = "序号") + private Integer sortNumber; + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasUser.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasUser.java new file mode 100644 index 0000000..28b8f3c --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPatrolAreasUser.java @@ -0,0 +1,37 @@ +package org.dromara.business.domain; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +/** + * @Description: 巡查区域人员信息 + */ +@Data +@TableName("business_patrol_area_users") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class BusinessPatrolAreasUser extends BaseEntity { + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + + /**巡查区域id*/ + @ExcelProperty(value = "巡查区域id") + private String areaId; + /**巡查人员id*/ + @ExcelProperty(value = "巡查人员id") + private String userId; + /**巡查人员姓名*/ + @ExcelProperty(value = "巡查人员姓名") + private String realname; + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPlatformInfo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPlatformInfo.java new file mode 100644 index 0000000..68fe097 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPlatformInfo.java @@ -0,0 +1,54 @@ + +package org.dromara.business.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 平台信息 + */ +@Data +@TableName("business_platform_info") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class BusinessPlatformInfo extends BaseEntity { + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + + /**设备昵称**/ + private String platformName; + + /**设备类型**/ + private String platformType; + + /**平台图片**/ + private String imageUrl; + + /**app图片**/ + private String imageAppUrl; + + /**排序**/ + private Integer sort; + /**路由**/ + private String routes; + /**平台识别类型集合**/ + @TableField(exist = false) + private List platformInfoCodes = new ArrayList<>(); + @TableField(exist = false) + private Map total = new HashMap<>(); +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPlatformInfoCode.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPlatformInfoCode.java new file mode 100644 index 0000000..aeec561 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessPlatformInfoCode.java @@ -0,0 +1,32 @@ + +package org.dromara.business.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +/** + * @Description: 平台信息 + */ +@Data +@TableName("business_platform_info_code") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class BusinessPlatformInfoCode extends BaseEntity { + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + /**平台对象id**/ + private String platformInfoId; + /**识别内容**/ + private String codeName; + /**识别类型**/ + private String codeType; +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/WaylineAlertBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java similarity index 97% rename from dk-modules/business/src/main/java/org/dromara/business/domain/bo/WaylineAlertBo.java rename to dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java index f8203d5..f377e3b 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/WaylineAlertBo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java @@ -1,6 +1,6 @@ package org.dromara.business.domain.bo; -import org.dromara.business.domain.WaylineAlert; +import org.dromara.business.domain.BusinessAlert; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; @@ -18,8 +18,8 @@ import java.util.Date; */ @Data @EqualsAndHashCode(callSuper = true) -@AutoMapper(target = WaylineAlert.class, reverseConvertGenerate = false) -public class WaylineAlertBo extends BaseEntity { +@AutoMapper(target = BusinessAlert.class, reverseConvertGenerate = false) +public class BusinessAlertBo extends BaseEntity { /** * diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessPatrolAreasBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessPatrolAreasBo.java new file mode 100644 index 0000000..a07b4d7 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessPatrolAreasBo.java @@ -0,0 +1,44 @@ +package org.dromara.business.domain.bo; + + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.business.domain.BusinessAlert; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.util.ArrayList; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BusinessAlert.class, reverseConvertGenerate = false) +public class BusinessPatrolAreasBo extends BaseEntity { + + /** + * 所属乡镇id + */ + private String deptId; + + /** + * 所属乡镇名称 + */ + private String deptName; + + /** + * 预警类型 + */ + private String platformType; + + /** + * 是否禁用:0:禁用 1:启用 + */ + private Integer isDisable; + + /** + * 下级所有部门id + */ + private List deptIds = new ArrayList<>(); + + private String name; +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessPlatformInfoBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessPlatformInfoBo.java new file mode 100644 index 0000000..c88887b --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessPlatformInfoBo.java @@ -0,0 +1,11 @@ +package org.dromara.business.domain.bo; + +import lombok.Data; + +@Data +public class BusinessPlatformInfoBo { + + /**查询条件**/ + private String search; + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/WaylineAlertVo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java similarity index 96% rename from dk-modules/business/src/main/java/org/dromara/business/domain/vo/WaylineAlertVo.java rename to dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java index 632319b..56e624d 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/WaylineAlertVo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java @@ -4,7 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.dromara.business.domain.WaylineAlert; +import org.dromara.business.domain.BusinessAlert; import java.io.Serial; import java.io.Serializable; @@ -20,8 +20,8 @@ import java.util.Date; */ @Data @ExcelIgnoreUnannotated -@AutoMapper(target = WaylineAlert.class) -public class WaylineAlertVo implements Serializable { +@AutoMapper(target = BusinessAlert.class) +public class BusinessAlertVo implements Serializable { @Serial private static final long serialVersionUID = 1L; diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/WaylineAlertMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java similarity index 51% rename from dk-modules/business/src/main/java/org/dromara/business/mapper/WaylineAlertMapper.java rename to dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java index 1502119..af7a92a 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/mapper/WaylineAlertMapper.java +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java @@ -2,8 +2,8 @@ package org.dromara.business.mapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.dromara.business.domain.WaylineAlert; -import org.dromara.business.domain.vo.WaylineAlertVo; +import org.dromara.business.domain.BusinessAlert; +import org.dromara.business.domain.vo.BusinessAlertVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** @@ -12,7 +12,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; * @author LionLi * @date 2025-02-27 */ -public interface WaylineAlertMapper extends BaseMapperPlus { +public interface BusinessAlertMapper extends BaseMapperPlus { - Page pageAlert(Page page, LambdaQueryWrapper lqw); + Page pageAlert(Page page, LambdaQueryWrapper lqw); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasMapper.java new file mode 100644 index 0000000..252eb43 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasMapper.java @@ -0,0 +1,22 @@ +package org.dromara.business.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.dromara.business.domain.BusinessPatrolAreas; +import org.dromara.business.domain.bo.BusinessPatrolAreasBo; + + +import java.util.List; + +/** + * @Description: 巡查区域 + */ +public interface BusinessPatrolAreasMapper extends BaseMapper { + + IPage listPatrolAreas(Page page, @Param("condition") BusinessPatrolAreasBo patrolAreasBo, @Param("deptIds") List deptIds); + + List listPatrolAreas(@Param("condition") BusinessPatrolAreasBo patrolAreasBo, @Param("deptIds") List deptIds); +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasPlatformMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasPlatformMapper.java new file mode 100644 index 0000000..79354f5 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasPlatformMapper.java @@ -0,0 +1,10 @@ +package org.dromara.business.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.dromara.business.domain.BusinessPatrolAreasPlatform; + + +public interface BusinessPatrolAreasPlatformMapper extends BaseMapper { + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasPointsMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasPointsMapper.java new file mode 100644 index 0000000..dead5dd --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasPointsMapper.java @@ -0,0 +1,16 @@ +package org.dromara.business.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.dromara.business.domain.BusinessPatrolAreasPoints; + +import java.util.List; + +/** + * @Description: 巡查区域坐标 + */ +public interface BusinessPatrolAreasPointsMapper extends BaseMapper { + + List listPatrolAreasPointByAreaId(@Param("areaId") String areaId); +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasUserMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasUserMapper.java new file mode 100644 index 0000000..79a7206 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPatrolAreasUserMapper.java @@ -0,0 +1,16 @@ +package org.dromara.business.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.dromara.business.domain.BusinessPatrolAreasUser; + +import java.util.List; + +/** + * @Description: 巡查区域人员信息 + */ +public interface BusinessPatrolAreasUserMapper extends BaseMapper { + + List listPatrolAreasUserByAreaId(@Param("areaId") String areaId); +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPlatformInfoCodeMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPlatformInfoCodeMapper.java new file mode 100644 index 0000000..03e409d --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPlatformInfoCodeMapper.java @@ -0,0 +1,17 @@ +package org.dromara.business.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.dromara.business.domain.BusinessPlatformInfoCode; + +import java.util.List; + +/** + * + * @author sean.zhou + * @date 2021/11/10 + * @version 0.1 + */ +public interface BusinessPlatformInfoCodeMapper extends BaseMapper { + List listPlatformInfoCodeByPlatformInfoId(@Param("platformInfoId") String platformInfoId); +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPlatformInfoMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPlatformInfoMapper.java new file mode 100644 index 0000000..9c32b8a --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessPlatformInfoMapper.java @@ -0,0 +1,23 @@ +package org.dromara.business.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.dromara.business.domain.BusinessPlatformInfo; +import org.dromara.business.domain.bo.BusinessPlatformInfoBo; + +import java.util.List; + +/** + * + * @author sean.zhou + * @date 2021/11/10 + * @version 0.1 + */ +public interface BusinessPlatformInfoMapper extends BaseMapper { + IPage listPlatformInfo(Page page, @Param("condition") BusinessPlatformInfoBo platformInfoBo); + + List listPlatformInfo(@Param("condition")BusinessPlatformInfoBo platformInfoBo); + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IWaylineAlertService.java b/dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertService.java similarity index 65% rename from dk-modules/business/src/main/java/org/dromara/business/service/IWaylineAlertService.java rename to dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertService.java index 1dedc19..7f8c99a 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/IWaylineAlertService.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertService.java @@ -1,12 +1,11 @@ package org.dromara.business.service; -import org.dromara.business.domain.WaylineAlert; -import org.dromara.business.domain.vo.WaylineAlertVo; -import org.dromara.business.domain.bo.WaylineAlertBo; +import org.dromara.business.domain.BusinessAlert; +import org.dromara.business.domain.vo.BusinessAlertVo; +import org.dromara.business.domain.bo.BusinessAlertBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; -import java.util.Collection; import java.util.List; /** @@ -15,7 +14,7 @@ import java.util.List; * @author LionLi * @date 2025-02-27 */ -public interface IWaylineAlertService { +public interface BusinessAlertService { /** * 查询预警任务 @@ -23,7 +22,7 @@ public interface IWaylineAlertService { * @param id 主键 * @return 预警任务 */ - WaylineAlertVo getWaylineAlert(String id); + BusinessAlertVo getBusinessAlert(String id); /** * 分页查询预警任务列表 @@ -32,7 +31,7 @@ public interface IWaylineAlertService { * @param pageQuery 分页参数 * @return 预警任务分页列表 */ - TableDataInfo pageWaylineAlert(WaylineAlertBo bo, PageQuery pageQuery); + TableDataInfo pageBusinessAlert(BusinessAlertBo bo, PageQuery pageQuery); /** * 查询符合条件的预警任务列表 @@ -40,7 +39,7 @@ public interface IWaylineAlertService { * @param param 查询条件 * @return 预警任务列表 */ - List listWaylineAlert(WaylineAlertBo param); + List listBusinessAlert(BusinessAlertBo param); /** * 新增预警任务 @@ -48,7 +47,7 @@ public interface IWaylineAlertService { * @param param 预警任务 * @return 是否新增成功 */ - Boolean addWaylineAlert(WaylineAlertBo param); + Boolean addBusinessAlert(BusinessAlertBo param); /** @@ -57,7 +56,7 @@ public interface IWaylineAlertService { * @param alertList 预警任务 * @return 是否新增成功 */ - Boolean saveBatchAlert(List alertList); + Boolean batchAddBusinessAlert(List alertList); /** * 修改预警任务 @@ -65,7 +64,7 @@ public interface IWaylineAlertService { * @param param 预警任务 * @return 是否修改成功 */ - Boolean updateWaylineAlert(WaylineAlertBo param); + Boolean editBusinessAlert(BusinessAlertBo param); /** * 校验并批量删除预警任务信息 @@ -74,5 +73,5 @@ public interface IWaylineAlertService { * @param isValid 是否进行有效性校验 * @return 是否删除成功 */ - Boolean deleteWaylineAlert(List alertIdList, Boolean isValid); + Boolean deleteBusinessAlert(List alertIdList, Boolean isValid); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasPointsService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasPointsService.java new file mode 100644 index 0000000..8025a69 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasPointsService.java @@ -0,0 +1,13 @@ +package org.dromara.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.business.domain.BusinessPatrolAreasPoints; + +import java.util.List; + +/** + * @Description: 巡查区域坐标 + */ +public interface IBusinessPatrolAreasPointsService extends IService { + List listPatrolAreasPointByAreaId(String areaId); +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasService.java new file mode 100644 index 0000000..dfd1dc7 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasService.java @@ -0,0 +1,25 @@ +package org.dromara.business.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.ibatis.annotations.Param; +import org.dromara.business.domain.BusinessPatrolAreas; +import org.dromara.business.domain.bo.BusinessPatrolAreasBo; + +import java.util.List; + +/** + * @Description: 巡查区域 + */ +public interface IBusinessPatrolAreasService extends IService { + IPage pagePatrolAreas(Page page, @Param("condition") BusinessPatrolAreasBo patrolAreasBo); + + List listPatrolAreas(@Param("condition") BusinessPatrolAreasBo patrolAreasBo); + + boolean addPatrolAreas(BusinessPatrolAreas patrolAreas); + + boolean updatePatrolAreas(BusinessPatrolAreas patrolAreas); + + List exportXls(BusinessPatrolAreas patrolAreas); +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasUserService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasUserService.java new file mode 100644 index 0000000..25fe654 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPatrolAreasUserService.java @@ -0,0 +1,13 @@ +package org.dromara.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.business.domain.BusinessPatrolAreasUser; + +import java.util.List; + +/** + * @Description: 巡查区域人员信息 + */ +public interface IBusinessPatrolAreasUserService extends IService { + List listPatrolAreasUserByAreaId(String areaId); +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPlatformInfoService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPlatformInfoService.java new file mode 100644 index 0000000..fba41d6 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessPlatformInfoService.java @@ -0,0 +1,9 @@ +package org.dromara.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.business.domain.BusinessPlatformInfo; + +public interface IBusinessPlatformInfoService extends IService { + + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/WaylineAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java similarity index 57% rename from dk-modules/business/src/main/java/org/dromara/business/service/impl/WaylineAlertServiceImpl.java rename to dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java index 9c1c574..c87f808 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/WaylineAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java @@ -5,11 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; -import org.dromara.business.domain.WaylineAlert; -import org.dromara.business.domain.bo.WaylineAlertBo; -import org.dromara.business.domain.vo.WaylineAlertVo; -import org.dromara.business.mapper.WaylineAlertMapper; -import org.dromara.business.service.IWaylineAlertService; +import org.dromara.business.domain.BusinessAlert; +import org.dromara.business.domain.bo.BusinessAlertBo; +import org.dromara.business.domain.vo.BusinessAlertVo; +import org.dromara.business.mapper.BusinessAlertMapper; +import org.dromara.business.service.BusinessAlertService; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.mybatis.core.page.PageQuery; @@ -26,9 +26,9 @@ import java.util.List; */ @RequiredArgsConstructor @Service -public class WaylineAlertServiceImpl implements IWaylineAlertService { +public class BusinessAlertServiceImpl implements BusinessAlertService { - private final WaylineAlertMapper baseMapper; + private final BusinessAlertMapper baseMapper; /** * 查询预警任务 @@ -37,7 +37,7 @@ public class WaylineAlertServiceImpl implements IWaylineAlertService { * @return 预警任务 */ @Override - public WaylineAlertVo getWaylineAlert(String id){ + public BusinessAlertVo getBusinessAlert(String id){ return baseMapper.selectVoById(id); } @@ -49,9 +49,9 @@ public class WaylineAlertServiceImpl implements IWaylineAlertService { * @return 预警任务分页列表 */ @Override - public TableDataInfo pageWaylineAlert(WaylineAlertBo param, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(param); - Page result = baseMapper.pageAlert(pageQuery.build(), lqw); + public TableDataInfo pageBusinessAlert(BusinessAlertBo param, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(param); + Page result = baseMapper.pageAlert(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -63,8 +63,8 @@ public class WaylineAlertServiceImpl implements IWaylineAlertService { * @return 预警任务列表 */ @Override - public List listWaylineAlert(WaylineAlertBo param) { - LambdaQueryWrapper lqw = buildQueryWrapper(param); + public List listBusinessAlert(BusinessAlertBo param) { + LambdaQueryWrapper lqw = buildQueryWrapper(param); return baseMapper.selectVoList(lqw); } @@ -76,8 +76,8 @@ public class WaylineAlertServiceImpl implements IWaylineAlertService { * @return 是否新增成功 */ @Override - public Boolean addWaylineAlert(WaylineAlertBo param) { - WaylineAlert alert = MapstructUtils.convert(param, WaylineAlert.class); + public Boolean addBusinessAlert(BusinessAlertBo param) { + BusinessAlert alert = MapstructUtils.convert(param, BusinessAlert.class); validEntityBeforeSave(alert,false); return this.baseMapper.insert(alert) > 0; } @@ -88,7 +88,7 @@ public class WaylineAlertServiceImpl implements IWaylineAlertService { * @return */ @Override - public Boolean saveBatchAlert(List alertList) { + public Boolean batchAddBusinessAlert(List alertList) { return this.baseMapper.insertBatch(alertList); } @@ -99,16 +99,16 @@ public class WaylineAlertServiceImpl implements IWaylineAlertService { * @return 是否修改成功 */ @Override - public Boolean updateWaylineAlert(WaylineAlertBo param) { - WaylineAlert alert = MapstructUtils.convert(param, WaylineAlert.class); - validEntityBeforeSave(alert,true); - return baseMapper.updateById(alert) > 0; + public Boolean editBusinessAlert(BusinessAlertBo param) { + BusinessAlert businessAlert = MapstructUtils.convert(param, BusinessAlert.class); + validEntityBeforeSave(businessAlert,true); + return baseMapper.updateById(businessAlert) > 0; } /** * 保存前的数据校验 */ - private void validEntityBeforeSave(WaylineAlert alert,Boolean validId){ + private void validEntityBeforeSave(BusinessAlert alert, Boolean validId){ if (ObjectUtil.isEmpty(alert.getId())){ throw new ServiceException("预警【Id】为空!"); } @@ -122,20 +122,20 @@ public class WaylineAlertServiceImpl implements IWaylineAlertService { * @return 是否删除成功 */ @Override - public Boolean deleteWaylineAlert(List alertIdList, Boolean isValid) { + public Boolean deleteBusinessAlert(List alertIdList, Boolean isValid) { if(isValid){ if (ObjectUtil.isEmpty(alertIdList)){ - throw new ServiceException("预警Id为空!"); + throw new ServiceException("预警【Id】为空!"); } } return baseMapper.deleteByIds(alertIdList) > 0; } - private LambdaQueryWrapper buildQueryWrapper(WaylineAlertBo bo) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + private LambdaQueryWrapper buildQueryWrapper(BusinessAlertBo bo) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.orderByAsc(WaylineAlert::getCreateTime); + wrapper.orderByAsc(BusinessAlert::getCreateTime); return wrapper; } } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasPointsServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasPointsServiceImpl.java new file mode 100644 index 0000000..09f617e --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasPointsServiceImpl.java @@ -0,0 +1,23 @@ +package org.dromara.business.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.dromara.business.domain.BusinessPatrolAreasPoints; +import org.dromara.business.mapper.BusinessPatrolAreasPointsMapper; +import org.dromara.business.service.IBusinessPatrolAreasPointsService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description: 巡查区域坐标 + */ +@RequiredArgsConstructor +@Service +public class BusinessPatrolAreasPointsServiceImpl extends ServiceImpl implements IBusinessPatrolAreasPointsService { + + @Override + public List listPatrolAreasPointByAreaId(String areaId) { + return baseMapper.listPatrolAreasPointByAreaId(areaId); + } +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasServiceImpl.java new file mode 100644 index 0000000..34ed1e8 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasServiceImpl.java @@ -0,0 +1,203 @@ +package org.dromara.business.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang.StringUtils; +import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.business.domain.*; +import org.dromara.business.domain.bo.BusinessPatrolAreasBo; +import org.dromara.business.mapper.BusinessPatrolAreasMapper; +import org.dromara.business.mapper.BusinessPatrolAreasPlatformMapper; +import org.dromara.business.service.IBusinessPatrolAreasPointsService; +import org.dromara.business.service.IBusinessPatrolAreasService; +import org.dromara.business.service.IBusinessPatrolAreasUserService; +import org.dromara.business.service.IBusinessPlatformInfoService; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.system.api.RemoteDeptService; +import org.dromara.system.api.RemoteUserService; +import org.dromara.system.api.domain.vo.RemoteDeptVo; +import org.dromara.system.api.model.LoginUser; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +/** + * @Description: 巡查区域 + */ +@RequiredArgsConstructor +@Service +public class BusinessPatrolAreasServiceImpl extends ServiceImpl implements IBusinessPatrolAreasService { + + + private final IBusinessPatrolAreasPointsService patrolAreasPointsService; + + private final IBusinessPatrolAreasUserService patrolAreasUserService; + + private final IBusinessPlatformInfoService platformInfoService; + + private final BusinessPatrolAreasPlatformMapper patrolAreasPlatformInfoMapper; + + @DubboReference + private RemoteUserService remoteUserService; + @DubboReference + private RemoteDeptService remoteDeptService; + + @Override + public IPage pagePatrolAreas(Page page, BusinessPatrolAreasBo patrolAreasBo) { + LoginUser user = LoginHelper.getLoginUser(); + List deptIds = new ArrayList<>(); + String departIds = null; + if(StringUtils.isBlank(patrolAreasBo.getDeptId())){ + RemoteDeptVo remoteDeptVo = remoteDeptService.selectDeptById(user.getDeptId()); + if(ObjectUtil.isEmpty(remoteDeptVo)){ + throw new ServiceException("部门不存在"); + } + departIds = user.getDeptId() + ""; + }else { + departIds = patrolAreasBo.getDeptId(); + } +// if(oConvertUtils.isNotEmpty(user.getUserIdentity()) && user.getUserIdentity().equals( CommonConstant.USER_IDENTITY_2 )){ +// if(StringUtils.isNotBlank(departIds)){ +// deptIds.addAll(commonAPI.getMySubDepIdsStatusByDepId(departIds)); +// } +// }else { +// deptIds.add(departIds); +// } + deptIds.add(departIds); + IPage iPage = this.baseMapper.listPatrolAreas(page, patrolAreasBo, deptIds); + List records = page.getRecords(); + if(!records.isEmpty()){ + records.forEach(p->{ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("patrol_areas_id",p.getId()); + List collect = patrolAreasPlatformInfoMapper.selectList(queryWrapper).stream().map(BusinessPatrolAreasPlatform::getPlatformType).collect(Collectors.toList()); + p.setPatrolAreasIdList(collect); + }); + } + page.setRecords(records); + return iPage; + } + + @Override + public List listPatrolAreas(BusinessPatrolAreasBo patrolAreasBo) { + return this.baseMapper.listPatrolAreas(patrolAreasBo, patrolAreasBo.getDeptIds()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addPatrolAreas(BusinessPatrolAreas patrolAreas) { + patrolAreas.setUserName(remoteUserService.selectUserNameById(Long.valueOf(patrolAreas.getUserId()))); + boolean flag = this.save(patrolAreas); + List patrolAreasUsers = patrolAreas.getPatrolAreasUsers(); + patrolAreasUsers.stream().forEach(item->{ + item.setAreaId(patrolAreas.getId()); + item.setRealname(remoteUserService.selectUserNameById(Long.valueOf(patrolAreas.getUserId()))); + }); + List patrolAreasIdList = patrolAreas.getPatrolAreasIdList(); + if(!patrolAreasIdList.isEmpty()){ + patrolAreasIdList.forEach(item->{ + BusinessPlatformInfo platformInfo = platformInfoService.lambdaQuery().eq(BusinessPlatformInfo::getPlatformType,item).one(); + BusinessPatrolAreasPlatform patrolAreasPlatformInfo =new BusinessPatrolAreasPlatform(); + patrolAreasPlatformInfo.setPatrolAreasId(patrolAreas.getId()); + patrolAreasPlatformInfo.setPlatformName(platformInfo.getPlatformName()); + patrolAreasPlatformInfo.setPlatformType(platformInfo.getPlatformType()); + patrolAreasPlatformInfo.setSort(platformInfo.getSort()); + patrolAreasPlatformInfo.setImageUrl(platformInfo.getImageUrl()); + patrolAreasPlatformInfoMapper.insert(patrolAreasPlatformInfo); + }); + } + + if(CollectionUtils.isNotEmpty(patrolAreasUsers)){ + flag = patrolAreasUserService.saveBatch(patrolAreasUsers,500); + } + List patrolAreasPoints = patrolAreas.getPatrolAreasPoints(); + patrolAreasPoints.stream().forEach(item->{ + item.setAreaId(patrolAreas.getId()); + }); + if(CollectionUtils.isNotEmpty(patrolAreasPoints)) { + flag = patrolAreasPointsService.saveBatch(patrolAreasPoints, 500); + } + return flag; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updatePatrolAreas(BusinessPatrolAreas patrolAreas) { + patrolAreas.setUserName(remoteUserService.selectUserNameById(Long.valueOf(patrolAreas.getUserId()))); + boolean flag = this.updateById(patrolAreas); + List patrolAreasUsersDels = patrolAreasUserService.listPatrolAreasUserByAreaId(patrolAreas.getId()); + List patrolAreasPointsDels = patrolAreasPointsService.listPatrolAreasPointByAreaId(patrolAreas.getId()); + patrolAreasUserService.removeByIds(patrolAreasUsersDels); + patrolAreasPointsService.removeByIds(patrolAreasPointsDels); + //先删除后添加 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("patrol_areas_id",patrolAreas.getId()); + Set stringSet = patrolAreasPlatformInfoMapper.selectList(queryWrapper).stream().map(BusinessPatrolAreasPlatform::getId).collect(Collectors.toSet()); + if(!stringSet.isEmpty()){ + patrolAreasPlatformInfoMapper.deleteBatchIds(stringSet); + } + List patrolAreasIdList = patrolAreas.getPatrolAreasIdList(); + + if(!patrolAreasIdList.isEmpty()){ + patrolAreasIdList.forEach(item->{ + BusinessPlatformInfo platformInfo = platformInfoService.lambdaQuery().eq(BusinessPlatformInfo::getPlatformType,item).one(); + BusinessPatrolAreasPlatform patrolAreasPlatformInfo =new BusinessPatrolAreasPlatform(); + patrolAreasPlatformInfo.setPatrolAreasId(patrolAreas.getId()); + patrolAreasPlatformInfo.setPlatformName(platformInfo.getPlatformName()); + patrolAreasPlatformInfo.setPlatformType(platformInfo.getPlatformType()); + patrolAreasPlatformInfo.setSort(platformInfo.getSort()); + patrolAreasPlatformInfo.setImageUrl(platformInfo.getImageUrl()); + patrolAreasPlatformInfoMapper.insert(patrolAreasPlatformInfo); + }); + } + + + List patrolAreasUsers = patrolAreas.getPatrolAreasUsers(); + patrolAreasUsers.stream().forEach(item->{ + item.setAreaId(patrolAreas.getId()); + }); + if(CollectionUtils.isNotEmpty(patrolAreasUsers)){ + flag = patrolAreasUserService.saveBatch(patrolAreasUsers,500); + } + List patrolAreasPoints = patrolAreas.getPatrolAreasPoints(); + patrolAreasPoints.stream().forEach(item->{ + item.setAreaId(patrolAreas.getId()); + }); + if(CollectionUtils.isNotEmpty(patrolAreasPoints)) { + flag = patrolAreasPointsService.saveBatch(patrolAreasPoints, 500); + } + return flag; + } + + @Override + public List exportXls(BusinessPatrolAreas patrolAreas) { + LambdaQueryWrapper wrapper = buildWrapper(patrolAreas); + + return this.list(wrapper); + } + + private LambdaQueryWrapper buildWrapper(BusinessPatrolAreas patrolAreas) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + + if (ObjectUtil.isNotEmpty(patrolAreas.getName())){ + wrapper.eq(BusinessPatrolAreas::getName, patrolAreas.getName()); + } + + if (ObjectUtil.isNotEmpty(patrolAreas.getDeptId())){ + wrapper.eq(BusinessPatrolAreas::getDeptId, patrolAreas.getDeptId()); + } + + return wrapper; + } +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasUserServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasUserServiceImpl.java new file mode 100644 index 0000000..36e6b88 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPatrolAreasUserServiceImpl.java @@ -0,0 +1,23 @@ +package org.dromara.business.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.dromara.business.domain.BusinessPatrolAreasUser; +import org.dromara.business.mapper.BusinessPatrolAreasUserMapper; +import org.dromara.business.service.IBusinessPatrolAreasUserService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description: 巡查区域人员信息 + */ +@RequiredArgsConstructor +@Service +public class BusinessPatrolAreasUserServiceImpl extends ServiceImpl implements IBusinessPatrolAreasUserService { + + @Override + public List listPatrolAreasUserByAreaId(String areaId) { + return baseMapper.listPatrolAreasUserByAreaId(areaId); + } +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPlatformInfoServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPlatformInfoServiceImpl.java new file mode 100644 index 0000000..5aba5e1 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessPlatformInfoServiceImpl.java @@ -0,0 +1,17 @@ +package org.dromara.business.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.business.domain.BusinessPlatformInfo; +import org.dromara.business.mapper.BusinessPlatformInfoMapper; +import org.dromara.business.service.IBusinessPlatformInfoService; +import org.springframework.stereotype.Service; + +/** + * + **/ +@Service +public class BusinessPlatformInfoServiceImpl extends ServiceImpl implements IBusinessPlatformInfoService { + + + +} diff --git a/dk-modules/business/src/main/resources/mapper/business/WaylineAlertMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml similarity index 87% rename from dk-modules/business/src/main/resources/mapper/business/WaylineAlertMapper.xml rename to dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml index eeef8da..36badec 100644 --- a/dk-modules/business/src/main/resources/mapper/business/WaylineAlertMapper.xml +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml @@ -2,11 +2,12 @@ - + - select id, + instance_id, wheel_id, task_id, task_image_id, @@ -43,8 +44,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" handle_source, create_by, create_time - from wayline_alert - ${ew.customSqlSegment} + from business_alert + ${ew.customSqlSegment} diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasMapper.xml new file mode 100644 index 0000000..51d376f --- /dev/null +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasMapper.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasPlatformMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasPlatformMapper.xml new file mode 100644 index 0000000..a8d9948 --- /dev/null +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasPlatformMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasPointsMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasPointsMapper.xml new file mode 100644 index 0000000..7c013c1 --- /dev/null +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasPointsMapper.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasUserMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasUserMapper.xml new file mode 100644 index 0000000..3a14a4b --- /dev/null +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessPatrolAreasUserMapper.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessPlatformInfoCodeMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessPlatformInfoCodeMapper.xml new file mode 100644 index 0000000..de2160f --- /dev/null +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessPlatformInfoCodeMapper.xml @@ -0,0 +1,10 @@ + + + + + diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessPlatformInfoMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessPlatformInfoMapper.xml new file mode 100644 index 0000000..0719692 --- /dev/null +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessPlatformInfoMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + diff --git a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java index be10745..588735d 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java @@ -38,5 +38,13 @@ public class RemoteDeptServiceImpl implements RemoteDeptService { public List selectDeptsByList() { List list = sysDeptService.selectDeptsSimple(); return BeanUtil.copyToList(list, RemoteDeptVo.class); + + + } + + @Override + public RemoteDeptVo selectDeptById(Long deptId) { + SysDeptVo sysDeptVo = sysDeptService.selectDeptById(deptId); + return BeanUtil.copyProperties(sysDeptVo, RemoteDeptVo.class); } } diff --git a/dk-modules/workflow/pom.xml b/dk-modules/workflow/pom.xml index 5f13aa5..2e7733a 100644 --- a/dk-modules/workflow/pom.xml +++ b/dk-modules/workflow/pom.xml @@ -97,6 +97,11 @@ org.dromara api-workflow + + + org.dromara + api-resource + diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index c7f2d1e..db32b33 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -20,9 +20,13 @@ import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mail.utils.MailUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.common.sse.dto.SseMessageDto; +import org.dromara.common.sse.utils.SseMessageUtils; +import org.dromara.resource.api.RemoteMessageService; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.vo.RemoteUserVo; import org.dromara.warm.flow.core.dto.FlowParams; @@ -36,6 +40,7 @@ import org.dromara.warm.flow.orm.mapper.FlowInstanceMapper; import org.dromara.warm.flow.orm.mapper.FlowTaskMapper; import org.dromara.workflow.api.domain.RemoteStartProcessReturn; import org.dromara.workflow.common.ConditionalOnEnable; +import org.dromara.workflow.common.enums.MessageTypeEnum; import org.dromara.workflow.common.enums.TaskAssigneeType; import org.dromara.workflow.common.enums.TaskStatusEnum; import org.dromara.workflow.domain.bo.*; @@ -52,6 +57,8 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import static org.dromara.workflow.common.constant.FlowConstant.*; @@ -83,6 +90,9 @@ public class FlwTaskServiceImpl implements IFlwTaskService { @DubboReference private RemoteUserService remoteUserService; + @DubboReference(stub = "true") + private final RemoteMessageService remoteMessageService; + /** * 启动任务 * @@ -170,7 +180,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { Instance instance = taskService.skip(taskId, flowParams); this.setHandler(instance, flowTask, flowCopyList); // 消息通知 -// WorkflowUtils.sendMessage(definition.getFlowName(), ins.getId(), messageType, notice); + sendMessage(definition.getFlowName(), ins.getId(), messageType, notice); return true; } catch (Exception e) { log.error(e.getMessage(), e); @@ -178,6 +188,46 @@ public class FlwTaskServiceImpl implements IFlwTaskService { } } + private void sendMessage(String flowName, Long instId, List messageType, String message) { + List userList = new ArrayList<>(); + List list = this.selectByInstId(instId); + + if (StringUtils.isBlank(message)) { + message = "有新的【" + flowName + "】单据已经提交至您,请您及时处理。"; + } + for (Task task : list) { + List users = this.currentTaskAllUser(task.getId()); + if (CollUtil.isNotEmpty(users)) { + userList.addAll(users); + } + } + if (CollUtil.isNotEmpty(userList)) { + for (String code : messageType) { + MessageTypeEnum messageTypeEnum = MessageTypeEnum.getByCode(code); + if (ObjectUtil.isNotEmpty(messageTypeEnum)) { + switch (messageTypeEnum) { + case SYSTEM_MESSAGE: + SseMessageDto dto = new SseMessageDto(); + dto.setUserIds(StreamUtils.toList(userList, RemoteUserVo::getUserId).stream().distinct().collect(Collectors.toList())); + dto.setMessage(message); + dto.getUserIds().forEach(userId -> { + remoteMessageService.publishMessage(userId,dto.getMessage()); + }); + break; + case EMAIL_MESSAGE: + MailUtils.sendText(StreamUtils.join(userList, RemoteUserVo::getEmail), "单据审批提醒", message); + break; + case SMS_MESSAGE: + //todo 短信发送 + break; + default: + throw new IllegalStateException("Unexpected value: " + messageTypeEnum); + } + } + } + } + } + /** * 设置办理人 * @@ -397,7 +447,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { Instance instance = insService.getById(inst.getId()); this.setHandler(instance, task, null); // 消息通知 -// WorkflowUtils.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice); + sendMessage(definition.getFlowName(), instance.getId(), messageType, notice); return true; } catch (Exception e) { log.error(e.getMessage(), e);