From a3017752ef6cae297c0efa25685d587e6ade315c Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Thu, 6 Mar 2025 17:43:27 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=201=E3=80=81=E5=A2=9E=E5=8A=A0=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E8=AE=BF=E9=97=AE=E9=A1=B5=E9=9D=A2=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=9C=B0=E7=90=86=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3=202?= =?UTF-8?q?=E3=80=81=E7=BB=99=E6=9C=8D=E5=8A=A1=E5=A2=9E=E5=8A=A0doc?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E3=80=82=203=E3=80=81=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E9=A2=84=E8=AD=A6=E7=BB=9F=E8=AE=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/system/api/RemoteDeptService.java | 1 + .../auth/controller/CaptchaController.java | 4 + .../auth/controller/TokenController.java | 10 ++ .../controller/BusinessAlertController.java | 8 +- .../BusinessAlertStatisticsController.java | 44 ++++- .../BusinessDepartBoundaryController.java | 47 +++--- .../BusinessPatrolAreasController.java | 126 -------------- .../business/domain/bo/BusinessAlertBo.java | 5 + .../business/domain/model/StatObj.java | 86 ++++++++++ .../business/mapper/BusinessAlertMapper.java | 32 +++- .../mapper/BusinessDepartBoundaryMapper.java | 4 + .../BusinessAlertStatisticsService.java | 12 ++ .../IBusinessDepartBoundaryService.java | 4 +- .../BusinessAlertStatisticsServiceImpl.java | 78 +++++++++ .../BusinessDepartBoundaryServiceImpl.java | 22 ++- .../mapper/business/BusinessAlertMapper.xml | 158 ++++++++++++++++++ .../business/BusinessDepartBoundaryMapper.xml | 33 ++++ .../controller/SysEmailController.java | 4 + .../controller/SysOssConfigController.java | 9 + .../resource/controller/SysOssController.java | 8 + .../resource/controller/SysSmsController.java | 4 + .../controller/monitor/CacheController.java | 4 + .../monitor/SysLogininforController.java | 8 + .../monitor/SysOperlogController.java | 7 + .../monitor/SysUserOnlineController.java | 11 +- .../system/dubbo/RemoteDeptServiceImpl.java | 7 + .../system/service/ISysDeptService.java | 6 + .../service/impl/SysDeptServiceImpl.java | 9 + .../controller/FlwCategoryController.java | 20 +-- .../controller/FlwDefinitionController.java | 24 ++- .../controller/FlwInstanceController.java | 15 +- .../controller/FlwTaskController.java | 27 ++- 32 files changed, 650 insertions(+), 187 deletions(-) delete mode 100644 dk-modules/business/src/main/java/org/dromara/business/controller/BusinessPatrolAreasController.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/domain/model/StatObj.java 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 0f40d6e..bc2f96a 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 @@ -26,4 +26,5 @@ public interface RemoteDeptService { List> getNamePathList(); + List selectListByParentId(String deptId); } diff --git a/dk-auth/src/main/java/org/dromara/auth/controller/CaptchaController.java b/dk-auth/src/main/java/org/dromara/auth/controller/CaptchaController.java index 8293127..255d5d2 100644 --- a/dk-auth/src/main/java/org/dromara/auth/controller/CaptchaController.java +++ b/dk-auth/src/main/java/org/dromara/auth/controller/CaptchaController.java @@ -3,6 +3,8 @@ package org.dromara.auth.controller; import cn.hutool.captcha.AbstractCaptcha; import cn.hutool.captcha.generator.CodeGenerator; import cn.hutool.core.util.IdUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.auth.domain.vo.CaptchaVo; @@ -31,6 +33,7 @@ import java.time.Duration; * * @author Lion Li */ +@Tag(name = "验证码相关操作") @Slf4j @Validated @RequiredArgsConstructor @@ -42,6 +45,7 @@ public class CaptchaController { /** * 生成验证码 */ + @Operation(summary = "生成验证码",description = "生成验证码") @RateLimiter(time = 60, count = 10, limitType = LimitType.IP) @GetMapping("/code") public R getCode() { diff --git a/dk-auth/src/main/java/org/dromara/auth/controller/TokenController.java b/dk-auth/src/main/java/org/dromara/auth/controller/TokenController.java index 5ce3c0d..d82fdc1 100644 --- a/dk-auth/src/main/java/org/dromara/auth/controller/TokenController.java +++ b/dk-auth/src/main/java/org/dromara/auth/controller/TokenController.java @@ -4,6 +4,8 @@ import cn.dev33.satoken.exception.NotLoginException; import cn.hutool.core.codec.Base64; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -52,6 +54,7 @@ import java.util.concurrent.TimeUnit; * * @author Lion Li */ +@Tag(name = "token相关服务") @Slf4j @RequiredArgsConstructor @RestController @@ -78,6 +81,7 @@ public class TokenController { * @param body 登录信息 * @return 结果 */ + @Operation(summary = "登录",description = "登录") @ApiEncrypt @PostMapping("/login") public R login(@RequestBody String body) { @@ -113,6 +117,7 @@ public class TokenController { * @param source 登录来源 * @return 结果 */ + @Operation(summary = "第三方登录请求",description = "第三方登录请求") @GetMapping("/binding/{source}") public R authBinding(@PathVariable("source") String source, @RequestParam String tenantId, @RequestParam String domain) { @@ -135,6 +140,7 @@ public class TokenController { * @param loginBody 请求体 * @return 结果 */ + @Operation(summary = "第三方登录回调业务处理",description = "第三方登录回调业务处理") @PostMapping("/social/callback") public R socialCallback(@RequestBody SocialLoginBody loginBody) { // 获取第三方登录信息 @@ -156,6 +162,7 @@ public class TokenController { * * @param socialId socialId */ + @Operation(summary = "取消授权",description = "取消授权") @DeleteMapping(value = "/unlock/{socialId}") public R unlockSocial(@PathVariable Long socialId) { Boolean rows = remoteSocialService.deleteWithValidById(socialId); @@ -165,6 +172,7 @@ public class TokenController { /** * 登出方法 */ + @Operation(summary = "登出方法",description = "登出方法") @PostMapping("logout") public R logout() { sysLoginService.logout(); @@ -174,6 +182,7 @@ public class TokenController { /** * 用户注册 */ + @Operation(summary = "用户注册",description = "用户注册") @ApiEncrypt @PostMapping("register") public R register(@RequestBody RegisterBody registerBody) { @@ -190,6 +199,7 @@ public class TokenController { * * @return 租户列表 */ + @Operation(summary = "登录页面租户下拉框",description = "登录页面租户下拉框") @GetMapping("/tenant/list") public R tenantList(HttpServletRequest request) throws Exception { // 返回对象 diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java index d02691f..dbe7159 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java @@ -1,5 +1,7 @@ package org.dromara.business.controller; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.dromara.business.domain.BusinessAlert; import org.dromara.business.domain.bo.BusinessAlertBo; @@ -11,7 +13,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** - * 预警任务 + * 预警服务 * * @author LionLi * @date 2025-02-27 @@ -20,6 +22,7 @@ import org.springframework.web.bind.annotation.*; @RequiredArgsConstructor @RestController @RequestMapping +@Tag(name = "预警服务") public class BusinessAlertController extends BaseController { @@ -28,6 +31,7 @@ public class BusinessAlertController extends BaseController { /** * 查询全部预警 */ + @Operation(summary ="查询全部预警",description = "查询全部预警") @GetMapping("/alert/page/all") public TableDataInfo pageBusinessAlert(BusinessAlertBo bo, PageQuery pageQuery) { return businessAlertService.pageBusinessAlert(bo, pageQuery); @@ -36,6 +40,7 @@ public class BusinessAlertController extends BaseController { /** * 查询审批的预警 */ + @Operation(summary ="查询待办的预警",description = "查询待办的预警") @GetMapping("/alert/page/todo") public TableDataInfo pageBusinessAlertTodo(BusinessAlertBo bo, PageQuery pageQuery) { return businessAlertService.pageBusinessAlertTodo(bo, pageQuery); @@ -47,6 +52,7 @@ public class BusinessAlertController extends BaseController { * @param pageQuery * @return */ + @Operation(summary ="查询审批完成的预警",description = "查询审批完成的预警") @GetMapping("/alert/page/finish") public TableDataInfo pageBusinessAlertFinish(BusinessAlertBo bo, PageQuery pageQuery) { return businessAlertService.pageBusinessAlertFinish(bo, pageQuery); 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 e1fd0d0..cc29d2e 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 @@ -1,21 +1,63 @@ package org.dromara.business.controller; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; +import org.dromara.business.domain.bo.BusinessAlertBo; +import org.dromara.business.domain.model.StatObj; import org.dromara.business.service.BusinessAlertStatisticsService; +import org.dromara.common.core.domain.R; +import org.dromara.common.web.core.BaseController; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * 预警统计相关服务 */ +@Tag(name = "预警统计相关服务") @RequiredArgsConstructor @RestController @RequestMapping("/alert/statistics") -public class BusinessAlertStatisticsController { +public class BusinessAlertStatisticsController extends BaseController { private final BusinessAlertStatisticsService statisticsService; + //饼图显示每个月根据部门 + @Operation(summary="根据月份显示预警个数", description="根据月份显示预警个数") + @GetMapping(value = "/month/count") + public R> countMonthAlert(BusinessAlertBo businessAlertBo) { + return R.ok(statisticsService.countMonthAlert(businessAlertBo)); + } + + //饼图部门分类预警个数占比 + @Operation(summary="根据部门显示预警个数", description="根据部门显示预警个数") + @GetMapping(value = "/depart/count") + public R> countDepartAlert(BusinessAlertBo businessAlertBo) { + return R.ok(statisticsService.countDepartAlert(businessAlertBo)); + } + + //折线图处理状态各个月展示个数部门 + @Operation(summary="根据月份,状态统计显示预警个数", description="根据月份,状态统计显示预警个数") + @GetMapping(value = "/month/status/count") + public R> countMonthAlertStatus(BusinessAlertBo businessAlertBo) { + return R.ok(statisticsService.countMonthAlertStatus(businessAlertBo)); + } + + //折线图处理状态预警个数分布部门 + @Operation(summary="根据部门,状态统计显示预警个数", description="根据部门,状态统计显示预警个数") + @GetMapping(value = "/depart/status/count") + public R> countDepartAlertStatus(BusinessAlertBo businessAlertBo) { + return R.ok(statisticsService.countDepartAlertStatus(businessAlertBo)); + } + + //预警对比统计 + //1、处理状态柱状图,x轴为选中的部门 + //2、预警类型柱状图,x轴为选中的部门 + } 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 5151095..4c65faa 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 @@ -1,6 +1,8 @@ package org.dromara.business.controller; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.business.domain.BusinessDepartBoundary; @@ -9,28 +11,13 @@ import org.dromara.common.core.domain.R; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.web.core.BaseController; -import org.geotools.geometry.jts.JTS; -import org.locationtech.jts.geom.Polygon; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.geotools.data.DataStore; -import org.geotools.data.DataStoreFinder; -import org.geotools.data.simple.SimpleFeatureCollection; -import org.geotools.data.simple.SimpleFeatureIterator; -import org.locationtech.jts.geom.Geometry; -import org.locationtech.jts.geom.GeometryFactory; -import org.locationtech.jts.geom.MultiPolygon; - /** * 部门区域 */ +@Tag(name = "部门区域") @RestController @RequestMapping("/depart/boundary") @Slf4j @@ -39,28 +26,40 @@ public class BusinessDepartBoundaryController extends BaseController { private final IBusinessDepartBoundaryService departBoundaryService; + + /** + * 查询部门的地理位置 + * @param departBoundary + * @return + */ + @Operation(summary ="查询部门的地理位置",description = "查询部门的地理位置") + @GetMapping(value = "/listJson") + public R listJson(BusinessDepartBoundary departBoundary) { + String listJson = departBoundaryService.listJson(departBoundary); + return R.ok("查询成功!",listJson); +} + + /** * 分页查询部门区域列表 * @return */ + @Operation(summary ="查询部门区域列表",description = "查询部门区域列表") @RequestMapping(value = "/page", method = RequestMethod.GET) public TableDataInfo queryPageList(BusinessDepartBoundary departBoundary, PageQuery pageQuery) { return departBoundaryService.listSysDepartBoundary(pageQuery, departBoundary); } - @RequestMapping(value = "/add", method = RequestMethod.POST) - public R addDepartBoundary(@RequestBody BusinessDepartBoundary departBoundary) { - return toAjax(departBoundaryService.addDepartBoundary(departBoundary)); - } - /** * 解析shp文件 * @return */ + @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(value = "deptId" ,required = false)String deptId) { + return toAjax(departBoundaryService.uploadShpFile(file,deptId)); } /** @@ -69,6 +68,7 @@ public class BusinessDepartBoundaryController extends BaseController { * @param * @return */ + @Operation(summary ="编辑部门区域",description = "编辑部门区域") @RequestMapping(value = "/update", method = RequestMethod.POST) public R updateDepartBoundary(@RequestBody BusinessDepartBoundary departBoundary) { return toAjax(departBoundaryService.updateDepartBoundary(departBoundary)); @@ -81,6 +81,7 @@ public class BusinessDepartBoundaryController extends BaseController { * @param id * @return */ + @Operation(summary ="删除部门区域",description = "删除部门区域") @RequestMapping(value = "/delete", method = RequestMethod.DELETE) 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/BusinessPatrolAreasController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessPatrolAreasController.java deleted file mode 100644 index 1e7107b..0000000 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessPatrolAreasController.java +++ /dev/null @@ -1,126 +0,0 @@ -package org.dromara.business.controller; - -import cn.hutool.core.util.ObjectUtil; -import lombok.RequiredArgsConstructor; -import org.dromara.business.domain.BusinessPatrolAreas; -import org.dromara.business.domain.bo.BusinessPatrolAreasBo; -import org.dromara.business.service.IBusinessPatrolAreasService; -import org.dromara.common.core.domain.R; -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.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.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.ModelAndView; - -import javax.servlet.http.HttpServletRequest; -import java.util.Arrays; -import java.util.List; - -/** - * @Description: 巡查区域 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/patrol/patrolAreas") -public class BusinessPatrolAreasController extends BaseController { - - private final IBusinessPatrolAreasService patrolAreasService; - - - - /** - * 巡查区域-分页列表查询 - * - * @param patrolAreasBo - * @param pageQuery - * @return - */ - @GetMapping(value = "/page") - public TableDataInfo pagePatrolAreas(BusinessPatrolAreasBo patrolAreasBo, - PageQuery pageQuery) { - return patrolAreasService.pagePatrolAreas(pageQuery, patrolAreasBo); - } - - /** - * 巡查区域-添加 - * - * @param file - * @return - */ - @PostMapping("/upload") - public R upload(@RequestParam("file") MultipartFile file) { - try { - patrolAreasService.addPatrolAreas(file); - return R.ok("上传成功!"); - } catch (Exception e) { - return R.fail("上传失败!"); - } - } - - /** - * 巡查区域-编辑 - * - * @param patrolAreas - * @return - */ - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public R edit(@RequestBody BusinessPatrolAreas patrolAreas) { - return patrolAreasService.updatePatrolAreas(patrolAreas)?R.ok("添加成功!"):R.fail("添加失败"); - } - /** - * 巡查区域-禁用/启用 - * - * @param patrolAreas - * @return - */ - @RequestMapping(value = "/isDisable", method = {RequestMethod.PUT,RequestMethod.POST}) - public R isDisable(@RequestBody BusinessPatrolAreas patrolAreas) { - return patrolAreasService.updateById(patrolAreas)?R.ok("修改成功!"):R.fail("修改失败"); - } - /** - * 巡查区域-删除 - * - * @param id - * @return - */ - @DeleteMapping(value = "/delete") - public R delete(String id) { - return patrolAreasService.removeById(id)?R.ok("删除成功!"):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()); - - String selections = request.getParameter("selections"); - if (ObjectUtil.isNotEmpty(selections)) { - List areasIdList = Arrays.asList(selections.split(",")); - patrolAreas.setAreasIdList(areasIdList); - } - - 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(), "导出信息"); - 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/bo/BusinessAlertBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java index 1331be7..417d3b6 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 @@ -1,5 +1,6 @@ package org.dromara.business.domain.bo; +import com.baomidou.mybatisplus.annotation.TableField; import org.dromara.business.domain.BusinessAlert; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; @@ -9,6 +10,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import java.util.Date; +import java.util.List; /** * 预警任务业务对象 business_alert @@ -185,4 +187,7 @@ public class BusinessAlertBo extends BaseEntity { private Long handleSource; + List deptIdList; + + } diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/model/StatObj.java b/dk-modules/business/src/main/java/org/dromara/business/domain/model/StatObj.java new file mode 100644 index 0000000..b2aacc1 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/model/StatObj.java @@ -0,0 +1,86 @@ +package org.dromara.business.domain.model; + +import cn.hutool.json.JSONObject; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * 统计信息返回类 + */ +@Data +public class StatObj implements Serializable { + + /** + * 统计字段 + */ + private String statKey; + /** + * 统计值 + */ + private Object statVal; + + private List statValues; + /** + * 子集信息 + */ + List nextStatList; + + /** + * 补充字段 + */ + private JSONObject extra; + + /** + * 跳转链接 + */ + private String url; + + + public StatObj(){ + + } + + public StatObj(String statKey, Object statVal){ + this.statKey = statKey; + this.statVal = statVal; + } + + public StatObj(String statKey, Long statVal, String extraKey, Object extraValue){ + this.statKey = statKey; + this.statVal = statVal; + this.extra = new JSONObject().put(extraKey,extraValue); + } + + public StatObj(String statKey, BigDecimal percentage){ + this.statKey = statKey; + this.statVal = percentage; + } + + public StatObj(String statKey, Long statVal, String url){ + this.statKey = statKey; + this.statVal = statVal; + this.url = url; + } + + public StatObj(String statKey, List nextStatList){ + this.statKey = statKey; + this.nextStatList = nextStatList; + } + + public StatObj(String statKey, List nextStatList,String extraKey, Object extraValue){ + this.statKey = statKey; + this.nextStatList = nextStatList; + this.extra = new JSONObject().put(extraKey,extraValue); + } + + public void addExtra(String key,Object value){ + if(this.extra == null){ + this.extra = new JSONObject(); + } + this.extra.set(key,value); + } + +} 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 3481dd5..326a43a 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 @@ -3,11 +3,18 @@ package org.dromara.business.mapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.dromara.business.domain.BusinessAlert; +import org.dromara.business.domain.bo.BusinessAlertBo; import org.dromara.business.domain.vo.BusinessAlertVo; +import org.dromara.common.mybatis.annotation.DataColumn; +import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.page.TableDataInfo; +import java.util.List; +import java.util.Map; + /** * 预警任务Mapper接口 * @@ -16,10 +23,29 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; */ public interface BusinessAlertMapper extends BaseMapperPlus { - Page pageBusinessAlert(Page build, QueryWrapper wrapper); + Page pageBusinessAlert(Page page, QueryWrapper ew); + + Page pageAlertFinish(Page page, QueryWrapper ew); + + Page pageAlertTodo(Page page, QueryWrapper ew); + + @DataPermission( + @DataColumn(key = "deptName", value = "ba.dept_id") + ) + List> listMonthAlert(@Param("param") BusinessAlertBo businessAlertBo); - Page pageAlertFinish(Page page, QueryWrapper wrapper); + @DataPermission( + @DataColumn(key = "deptName", value = "ba.dept_id") + ) + List> listDepartAlert(@Param("param") BusinessAlertBo businessAlertBo); - Page pageAlertTodo(Page build, QueryWrapper wrapper); + @DataPermission( + @DataColumn(key = "deptName", value = "ba.dept_id") + ) + List> listMonthAlertStatus(@Param("param")BusinessAlertBo businessAlertBo); + @DataPermission( + @DataColumn(key = "deptName", value = "ba.dept_id") + ) + List> listDepartAlertStatus(@Param("param") BusinessAlertBo businessAlertBo); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java index f8f4a72..75926dd 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.dromara.business.domain.BusinessDepartBoundary; +import org.dromara.common.mybatis.annotation.DataColumn; +import org.dromara.common.mybatis.annotation.DataPermission; import java.util.List; @@ -23,4 +25,6 @@ public interface BusinessDepartBoundaryMapper extends BaseMapper boundaryList); + String listJson(@Param("param") BusinessDepartBoundary departBoundary); + } 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 446a2d5..9f9d07e 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 @@ -1,5 +1,17 @@ package org.dromara.business.service; +import org.dromara.business.domain.bo.BusinessAlertBo; +import org.dromara.business.domain.model.StatObj; + +import java.util.List; + public interface BusinessAlertStatisticsService { + List countMonthAlert(BusinessAlertBo businessAlertBo); + + List countDepartAlert(BusinessAlertBo businessAlertBo); + + List countMonthAlertStatus(BusinessAlertBo businessAlertBo); + + List countDepartAlertStatus(BusinessAlertBo businessAlertBo); } 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 3d5079a..22c2679 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,11 +18,13 @@ public interface IBusinessDepartBoundaryService extends IService queryByDeptId(String deptId); - boolean uploadShpFile(MultipartFile file); + boolean uploadShpFile(MultipartFile file,String deptId); boolean deleteDepartBoundary(String id); boolean updateDepartBoundary(BusinessDepartBoundary departBoundary); boolean addDepartBoundary(BusinessDepartBoundary departBoundary); + + String listJson(BusinessDepartBoundary departBoundary); } 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 32657ef..186dca2 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 @@ -1,9 +1,24 @@ package org.dromara.business.service.impl; +import cn.hutool.core.util.ObjectUtil; import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.business.domain.bo.BusinessAlertBo; +import org.dromara.business.domain.model.StatObj; +import org.dromara.business.mapper.BusinessAlertMapper; import org.dromara.business.service.BusinessAlertStatisticsService; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.system.api.RemoteDeptService; +import org.dromara.system.api.domain.vo.RemoteDeptVo; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + /** * *预警统计Service业务层处理 @@ -12,9 +27,72 @@ import org.springframework.stereotype.Service; @Service public class BusinessAlertStatisticsServiceImpl implements BusinessAlertStatisticsService { + private final BusinessAlertMapper baseMapper; + + @DubboReference + RemoteDeptService remoteDeptService; + + /** + * 按照月份分类预警数量(包含权限) + * @param businessAlertBo + * @return + */ + @Override + public List countMonthAlert(BusinessAlertBo businessAlertBo) { + if (ObjectUtil.isEmpty(businessAlertBo.getDeptId())){ + throw new ServiceException("部门【id】为空"); + } + + List remoteDeptVoList = remoteDeptService.selectListByParentId(businessAlertBo.getDeptId()); + List departIdList = remoteDeptVoList.stream().map(RemoteDeptVo::getDeptId).toList(); + businessAlertBo.setDeptIdList(departIdList); + + List> mapList = baseMapper.listMonthAlert(businessAlertBo); + + return mapList.stream().map(data -> new StatObj(data.get("dateMonth") + "", data.get("total"))).collect(Collectors.toList()); + + } + + + @Override + public ListcountDepartAlert(BusinessAlertBo businessAlertBo) { + 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()); + } + + @Override + public List countMonthAlertStatus(BusinessAlertBo businessAlertBo) { + List> mapList = baseMapper.listMonthAlertStatus(businessAlertBo); + + return mapList.stream() + .map(map -> new StatObj( + Objects.toString(map.get("dateMonth")), + List.of( + new StatObj("total", map.get("total")), + new StatObj("todoCount", map.get("todoCount")), + new StatObj("finishCount", map.get("finishCount")) + ) + )) + .collect(Collectors.toList()); + } + @Override + public List countDepartAlertStatus(BusinessAlertBo businessAlertBo) { + List> mapList = baseMapper.listDepartAlertStatus(businessAlertBo); + return mapList.stream() + .map(map -> new StatObj( + Objects.toString(map.get("deptName")), + List.of( + new StatObj("total", map.get("total")), + new StatObj("todoCount", map.get("todoCount")), + new StatObj("finishCount", map.get("finishCount")) + ),"deptId",map.get("deptId") + )) + .collect(Collectors.toList()); + } } 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 dc6f17e..34a9542 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 @@ -2,6 +2,7 @@ package org.dromara.business.service.impl; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; @@ -18,7 +19,9 @@ import org.dromara.business.utils.ShpAnalysisUtil; import org.dromara.common.core.exception.ServiceException; 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.system.api.RemoteDeptService; +import org.dromara.system.api.model.LoginUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.datasource.DataSourceUtils; import org.springframework.stereotype.Service; @@ -51,6 +54,8 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl listSysDepartBoundary(PageQuery pageQuery, BusinessDepartBoundary departBoundary) { Page page = baseMapper.listSysDepartBoundary(pageQuery.build(),departBoundary); @@ -71,7 +76,7 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl geospatialVectorsList = new ArrayList<>(); try { //1、首先调用解析工具拿到解析的字段集合 @@ -135,14 +140,14 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl boundaryList = buildBusinessDepartBoundary(geospatialVectorsList); + List boundaryList = buildBusinessDepartBoundary(geospatialVectorsList,deptId); // 分批处理 int startIndex = 0; // 从第 0 条开始 int batchSize = 2000; // 每批处理 2000 条 boolean flag = BatchProcessorUtil.processBatches(boundaryList, batchSize, startIndex, batch -> { //批量新增部门区域数据 - this.baseMapper.saveBatchBoundary(batch); +// this.baseMapper.saveBatchBoundary(batch); }); if (flag) { @@ -170,6 +175,15 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl buildBusinessDepartBoundary(List geospatialVectorsList) { + private List buildBusinessDepartBoundary(List geospatialVectorsList,String deptId) { List resultList = new ArrayList<>(); List> namePathList = remoteDeptService.getNamePathList(); 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 95b94f0..1d99790 100644 --- a/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml @@ -44,4 +44,162 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${ew.getCustomSqlSegment} + + + + + + + + diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml index 1d2d374..4a17ca7 100644 --- a/dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml @@ -111,4 +111,37 @@ + + diff --git a/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysEmailController.java b/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysEmailController.java index 19da5ba..d5ae8b2 100644 --- a/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysEmailController.java +++ b/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysEmailController.java @@ -2,6 +2,8 @@ package org.dromara.resource.controller; import cn.hutool.core.util.RandomUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.Constants; @@ -30,6 +32,7 @@ import java.time.Duration; @RequiredArgsConstructor @RestController @RequestMapping("/email") +@Tag(name = "邮件功能") public class SysEmailController extends BaseController { private final MailProperties mailProperties; @@ -39,6 +42,7 @@ public class SysEmailController extends BaseController { * * @param email 邮箱 */ + @Operation(summary = "邮箱验证码",description = "邮箱验证码") @RateLimiter(key = "#email", time = 60, count = 1) @GetMapping("/code") public R emailCode(@NotBlank(message = "{user.email.not.blank}") String email) { diff --git a/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysOssConfigController.java b/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysOssConfigController.java index 506cdb7..d8803a4 100644 --- a/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysOssConfigController.java +++ b/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysOssConfigController.java @@ -1,6 +1,8 @@ package org.dromara.resource.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import org.dromara.common.core.domain.R; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; @@ -28,6 +30,7 @@ import java.util.Arrays; * @author 孤舟烟雨 * @date 2021-08-13 */ +@Tag(name = "对象存储配置") @Validated @RequiredArgsConstructor @RestController @@ -41,6 +44,7 @@ public class SysOssConfigController extends BaseController { */ @SaCheckPermission("system:ossConfig:list") @GetMapping("/list") + @Operation(summary = "查询对象存储配置列表",description = "查询对象存储配置列表") public TableDataInfo list(@Validated(QueryGroup.class) SysOssConfigBo bo, PageQuery pageQuery) { return iSysOssConfigService.queryPageList(bo, pageQuery); } @@ -52,6 +56,7 @@ public class SysOssConfigController extends BaseController { */ @SaCheckPermission("system:ossConfig:list") @GetMapping("/{ossConfigId}") + @Operation(summary = "获取对象存储配置详细信息",description = "获取对象存储配置详细信息") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable("ossConfigId") Long ossConfigId) { return R.ok(iSysOssConfigService.queryById(ossConfigId)); } @@ -62,6 +67,7 @@ public class SysOssConfigController extends BaseController { @SaCheckPermission("system:ossConfig:add") @Log(title = "对象存储配置", businessType = BusinessType.INSERT) @PostMapping() + @Operation(summary = "新增对象存储配置",description = "新增对象存储配置") public R add(@Validated(AddGroup.class) @RequestBody SysOssConfigBo bo) { return toAjax(iSysOssConfigService.insertByBo(bo)); } @@ -72,6 +78,7 @@ public class SysOssConfigController extends BaseController { @SaCheckPermission("system:ossConfig:edit") @Log(title = "对象存储配置", businessType = BusinessType.UPDATE) @PutMapping() + @Operation(summary = "对象存储配置",description = "对象存储配置") public R edit(@Validated(EditGroup.class) @RequestBody SysOssConfigBo bo) { return toAjax(iSysOssConfigService.updateByBo(bo)); } @@ -84,6 +91,7 @@ public class SysOssConfigController extends BaseController { @SaCheckPermission("system:ossConfig:remove") @Log(title = "对象存储配置", businessType = BusinessType.DELETE) @DeleteMapping("/{ossConfigIds}") + @Operation(summary = "删除对象存储配置",description = "删除对象存储配置") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ossConfigIds) { return toAjax(iSysOssConfigService.deleteWithValidByIds(Arrays.asList(ossConfigIds), true)); } @@ -94,6 +102,7 @@ public class SysOssConfigController extends BaseController { @SaCheckPermission("system:ossConfig:edit") @Log(title = "对象存储状态修改", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") + @Operation(summary = "对象存储状态修改",description = "对象存储状态修改") public R changeStatus(@RequestBody SysOssConfigBo bo) { return toAjax(iSysOssConfigService.updateOssConfigStatus(bo)); } diff --git a/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysOssController.java b/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysOssController.java index 4efe0ab..f0291ab 100644 --- a/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysOssController.java +++ b/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysOssController.java @@ -3,6 +3,8 @@ package org.dromara.resource.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.util.ObjectUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.core.validate.QueryGroup; @@ -35,6 +37,7 @@ import java.util.List; @RequiredArgsConstructor @RestController @RequestMapping("/oss") +@Tag(name = "文件上传") public class SysOssController extends BaseController { private final ISysOssService iSysOssService; @@ -44,6 +47,7 @@ public class SysOssController extends BaseController { */ @SaCheckPermission("system:oss:list") @GetMapping("/list") + @Operation(summary = "查询OSS对象存储列表",description = "查询OSS对象存储列表") public TableDataInfo list(@Validated(QueryGroup.class) SysOssBo bo, PageQuery pageQuery) { return iSysOssService.queryPageList(bo, pageQuery); } @@ -55,6 +59,7 @@ public class SysOssController extends BaseController { */ @SaCheckPermission("system:oss:list") @GetMapping("/listByIds/{ossIds}") + @Operation(summary = "查询OSS对象基于id串",description = "查询OSS对象基于id串") public R> listByIds(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ossIds) { List list = iSysOssService.listByIds(Arrays.asList(ossIds)); return R.ok(list); @@ -68,6 +73,7 @@ public class SysOssController extends BaseController { @SaCheckPermission("system:oss:upload") @Log(title = "OSS对象存储", businessType = BusinessType.INSERT) @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + @Operation(summary = "上传OSS对象存储",description = "上传OSS对象存储") public R upload(@RequestPart("file") MultipartFile file) { if (ObjectUtil.isNull(file)) { return R.fail("上传文件不能为空"); @@ -87,6 +93,7 @@ public class SysOssController extends BaseController { */ @SaCheckPermission("system:oss:download") @GetMapping("/download/{ossId}") + @Operation(summary = "下载OSS对象存储",description = "下载OSS对象存储") public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException { iSysOssService.download(ossId, response); } @@ -99,6 +106,7 @@ public class SysOssController extends BaseController { @SaCheckPermission("system:oss:remove") @Log(title = "OSS对象存储", businessType = BusinessType.DELETE) @DeleteMapping("/{ossIds}") + @Operation(summary = "删除OSS对象存储",description = "删除OSS对象存储") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ossIds) { return toAjax(iSysOssService.deleteWithValidByIds(Arrays.asList(ossIds), true)); } diff --git a/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysSmsController.java b/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysSmsController.java index f5ae8f4..6d8f490 100644 --- a/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysSmsController.java +++ b/dk-modules/resource/src/main/java/org/dromara/resource/controller/SysSmsController.java @@ -2,6 +2,8 @@ package org.dromara.resource.controller; import cn.hutool.core.util.RandomUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.constraints.NotBlank; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -32,6 +34,7 @@ import java.util.LinkedHashMap; @RequiredArgsConstructor @RestController @RequestMapping("/sms") +@Tag(name = "短信功能") public class SysSmsController extends BaseController { /** @@ -41,6 +44,7 @@ public class SysSmsController extends BaseController { */ @RateLimiter(key = "#phonenumber", time = 60, count = 1) @GetMapping("/code") + @Operation(summary = "短信验证码",description = "短信验证码") public R smsCaptcha(@NotBlank(message = "{user.phonenumber.not.blank}") String phonenumber) { String key = GlobalConstants.CAPTCHA_CODE_KEY + phonenumber; String code = RandomUtil.randomNumbers(4); diff --git a/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/CacheController.java b/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/CacheController.java index 51ca79d..354fe84 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/CacheController.java +++ b/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/CacheController.java @@ -1,6 +1,8 @@ package org.dromara.system.controller.monitor; import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.StringUtils; @@ -21,6 +23,7 @@ import java.util.*; @RequiredArgsConstructor @RestController @RequestMapping("/cache") +@Tag(name = "缓存监控") public class CacheController { private final RedissonConnectionFactory connectionFactory; @@ -30,6 +33,7 @@ public class CacheController { */ @SaCheckPermission("monitor:cache:list") @GetMapping() + @Operation(summary = "获取缓存监控列表",description = "获取缓存监控列表") public R getInfo() throws Exception { RedisConnection connection = connectionFactory.getConnection(); Properties commandStats = connection.commands().info("commandstats"); diff --git a/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysLogininforController.java b/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysLogininforController.java index 2e88bb7..3d3754c 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysLogininforController.java +++ b/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysLogininforController.java @@ -1,6 +1,8 @@ package org.dromara.system.controller.monitor; import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.CacheConstants; @@ -25,6 +27,7 @@ import java.util.List; * * @author Lion Li */ +@Tag(name = "系统访问记录") @Validated @RequiredArgsConstructor @RestController @@ -36,6 +39,7 @@ public class SysLogininforController extends BaseController { /** * 获取系统访问记录列表 */ + @Operation(summary = "获取系统访问记录列表",description = "获取系统访问记录列表") @SaCheckPermission("monitor:logininfor:list") @GetMapping("/list") public TableDataInfo list(SysLogininforBo logininfor, PageQuery pageQuery) { @@ -45,6 +49,7 @@ public class SysLogininforController extends BaseController { /** * 导出系统访问记录列表 */ + @Operation(summary = "登录日志",description = "登录日志") @Log(title = "登录日志", businessType = BusinessType.EXPORT) @SaCheckPermission("monitor:logininfor:export") @PostMapping("/export") @@ -57,6 +62,7 @@ public class SysLogininforController extends BaseController { * 批量删除登录日志 * @param infoIds 日志ids */ + @Operation(summary = "登录日志",description = "登录日志") @SaCheckPermission("monitor:logininfor:remove") @Log(title = "登录日志", businessType = BusinessType.DELETE) @DeleteMapping("/{infoIds}") @@ -67,6 +73,7 @@ public class SysLogininforController extends BaseController { /** * 清理系统访问记录 */ + @Operation(summary = "清理系统访问记录",description = "清理系统访问记录") @SaCheckPermission("monitor:logininfor:remove") @Log(title = "登录日志", businessType = BusinessType.CLEAN) @DeleteMapping("/clean") @@ -75,6 +82,7 @@ public class SysLogininforController extends BaseController { return R.ok(); } + @Operation(summary = "账户解锁",description = "账户解锁") @SaCheckPermission("monitor:logininfor:unlock") @Log(title = "账户解锁", businessType = BusinessType.OTHER) @GetMapping("/unlock/{userName}") diff --git a/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysOperlogController.java b/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysOperlogController.java index 5af1a01..25d1963 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysOperlogController.java +++ b/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysOperlogController.java @@ -1,6 +1,8 @@ package org.dromara.system.controller.monitor; import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.web.core.BaseController; @@ -23,6 +25,7 @@ import java.util.List; * * @author Lion Li */ +@Tag(name = "操作日志记录") @Validated @RequiredArgsConstructor @RestController @@ -34,6 +37,7 @@ public class SysOperlogController extends BaseController { /** * 获取操作日志记录列表 */ + @Operation(summary = "获取操作日志记录列表",description = "获取操作日志记录列表") @SaCheckPermission("monitor:operlog:list") @GetMapping("/list") public TableDataInfo list(SysOperLogBo operLog, PageQuery pageQuery) { @@ -43,6 +47,7 @@ public class SysOperlogController extends BaseController { /** * 导出操作日志记录列表 */ + @Operation(summary = "导出操作日志记录列表",description = "导出操作日志记录列表") @Log(title = "操作日志", businessType = BusinessType.EXPORT) @SaCheckPermission("monitor:operlog:export") @PostMapping("/export") @@ -55,6 +60,7 @@ public class SysOperlogController extends BaseController { * 批量删除操作日志记录 * @param operIds 日志ids */ + @Operation(summary = "批量删除操作日志记录",description = "批量删除操作日志记录") @Log(title = "操作日志", businessType = BusinessType.DELETE) @SaCheckPermission("monitor:operlog:remove") @DeleteMapping("/{operIds}") @@ -65,6 +71,7 @@ public class SysOperlogController extends BaseController { /** * 清理操作日志记录 */ + @Operation(summary = "清理操作日志记录",description = "清理操作日志记录") @SaCheckPermission("monitor:operlog:remove") @Log(title = "操作日志", businessType = BusinessType.CLEAN) @DeleteMapping("/clean") diff --git a/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysUserOnlineController.java b/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysUserOnlineController.java index dfef1f5..f3362cb 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysUserOnlineController.java +++ b/dk-modules/system/src/main/java/org/dromara/system/controller/monitor/SysUserOnlineController.java @@ -4,6 +4,8 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.bean.BeanUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.CacheConstants; import org.dromara.common.core.domain.R; @@ -27,6 +29,7 @@ import java.util.stream.Collectors; * * @author Lion Li */ +@Tag(name = "在线用户监控") @RequiredArgsConstructor @RestController @RequestMapping("/online") @@ -38,6 +41,7 @@ public class SysUserOnlineController extends BaseController { * @param ipaddr IP地址 * @param userName 用户名 */ + @Operation(summary = "获取在线用户监控列表",description = "获取在线用户监控列表") @SaCheckPermission("monitor:online:list") @GetMapping("/list") public TableDataInfo list(String ipaddr, String userName) { @@ -77,8 +81,9 @@ public class SysUserOnlineController extends BaseController { * * @param tokenId token值 */ + @Operation(summary = "强退用户",description = "强退用户") @SaCheckPermission("monitor:online:forceLogout") - @Log(title = "在线用户", businessType = BusinessType.FORCE) + @Log(title = "强退用户", businessType = BusinessType.FORCE) @DeleteMapping("/{tokenId}") public R forceLogout(@PathVariable String tokenId) { try { @@ -91,6 +96,7 @@ public class SysUserOnlineController extends BaseController { /** * 获取当前用户登录在线设备 */ + @Operation(summary = "获取当前用户登录在线设备",description = "获取当前用户登录在线设备") @GetMapping() public TableDataInfo getInfo() { // 获取指定账号 id 的 token 集合 @@ -111,7 +117,8 @@ public class SysUserOnlineController extends BaseController { * * @param tokenId token值 */ - @Log(title = "在线设备", businessType = BusinessType.FORCE) + @Operation(summary = "强退当前在线设备",description = "强退当前在线设备") + @Log(title = "强退当前在线设备", businessType = BusinessType.FORCE) @PostMapping("/{tokenId}") public R remove(@PathVariable("tokenId") String tokenId) { try { 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 3655c0a..02794ba 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 @@ -53,4 +53,11 @@ public class RemoteDeptServiceImpl implements RemoteDeptService { public List> getNamePathList() { return sysDeptService.getNamePathList(); } + + @Override + public List selectListByParentId(String deptId) { + List deptVoList = sysDeptService.selectListByParentId(deptId); + + return BeanUtil.copyToList(deptVoList, RemoteDeptVo.class); + } } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java b/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java index f99cffc..cd5b88d 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java @@ -146,4 +146,10 @@ public interface ISysDeptService { */ List> getNamePathList(); + /** + * 根据父级找子级 + * @param deptId + * @return + */ + List selectListByParentId(String deptId); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java index 1119432..74815e0 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.system.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.tree.Tree; @@ -19,6 +20,7 @@ import org.dromara.common.core.utils.TreeBuildUtils; import org.dromara.common.mybatis.helper.DataBaseHelper; import org.dromara.common.redis.utils.CacheUtils; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.system.api.domain.vo.RemoteDeptVo; import org.dromara.system.domain.SysDept; import org.dromara.system.domain.SysRole; import org.dromara.system.domain.SysUser; @@ -361,4 +363,11 @@ public class SysDeptServiceImpl implements ISysDeptService { return baseMapper.getNamePathList(); } + @Override + public List selectListByParentId(String deptId) { + List resultList = baseMapper.selectListByParentId(Long.parseLong(deptId)); + + return BeanUtil.copyToList(resultList, SysDeptVo.class); + } + } diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwCategoryController.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwCategoryController.java index 8332f3b..cae0e5b 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwCategoryController.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwCategoryController.java @@ -2,6 +2,8 @@ package org.dromara.workflow.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.lang.tree.Tree; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; @@ -27,6 +29,7 @@ import java.util.List; * * @author may */ +@Tag(name = "流程分类") @ConditionalOnEnable @Validated @RequiredArgsConstructor @@ -39,7 +42,7 @@ public class FlwCategoryController extends BaseController { /** * 查询流程分类列表 */ - @SaCheckPermission("workflow:category:list") + @Operation(summary = "查询流程分类列表",description ="查询流程分类列表") @GetMapping("/list") public R> list(FlowCategoryBo bo) { List list = flwCategoryService.queryList(bo); @@ -49,8 +52,7 @@ public class FlwCategoryController extends BaseController { /** * 导出流程分类列表 */ - @SaCheckPermission("workflow:category:export") - @Log(title = "流程分类", businessType = BusinessType.EXPORT) + @Operation(summary = "导出流程分类列表",description ="导出流程分类列表") @PostMapping("/export") public void export(FlowCategoryBo bo, HttpServletResponse response) { List list = flwCategoryService.queryList(bo); @@ -62,7 +64,7 @@ public class FlwCategoryController extends BaseController { * * @param categoryId 主键 */ - @SaCheckPermission("workflow:category:query") + @Operation(summary = "获取流程分类详细信息",description ="获取流程分类详细信息") @GetMapping("/{categoryId}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long categoryId) { flwCategoryService.checkCategoryDataScope(categoryId); @@ -72,8 +74,7 @@ public class FlwCategoryController extends BaseController { /** * 新增流程分类 */ - @SaCheckPermission("workflow:category:add") - @Log(title = "流程分类", businessType = BusinessType.INSERT) + @Operation(summary = "新增流程分类",description ="新增流程分类") @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody FlowCategoryBo category) { @@ -86,8 +87,7 @@ public class FlwCategoryController extends BaseController { /** * 修改流程分类 */ - @SaCheckPermission("workflow:category:edit") - @Log(title = "流程分类", businessType = BusinessType.UPDATE) + @Operation(summary = "修改流程分类",description ="修改流程分类") @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody FlowCategoryBo category) { @@ -106,8 +106,7 @@ public class FlwCategoryController extends BaseController { * * @param categoryId 主键 */ - @SaCheckPermission("workflow:category:remove") - @Log(title = "流程分类", businessType = BusinessType.DELETE) + @Operation(summary = "删除流程分类",description ="删除流程分类") @DeleteMapping("/{categoryId}") public R remove(@PathVariable Long categoryId) { if (flwCategoryService.hasChildByCategoryId(categoryId)) { @@ -124,6 +123,7 @@ public class FlwCategoryController extends BaseController { * * @param categoryBo 流程分类 */ + @Operation(summary = "获取流程分类树列表",description ="获取流程分类树列表") @GetMapping("/categoryTree") public R>> categoryTree(FlowCategoryBo categoryBo) { return R.ok(flwCategoryService.selectCategoryTreeList(categoryBo)); diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwDefinitionController.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwDefinitionController.java index ad848bd..3db2857 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwDefinitionController.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwDefinitionController.java @@ -1,5 +1,7 @@ package org.dromara.workflow.controller; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; @@ -28,6 +30,7 @@ import java.util.List; * * @author may */ +@Tag(name = "流程定义管理") @ConditionalOnEnable @Validated @RequiredArgsConstructor @@ -44,6 +47,7 @@ public class FlwDefinitionController extends BaseController { * @param flowDefinition 参数 * @param pageQuery 分页 */ + @Operation(summary = "查询流程定义列表",description = "查询流程定义列表") @GetMapping("/list") public TableDataInfo list(FlowDefinition flowDefinition, PageQuery pageQuery) { return flwDefinitionService.queryList(flowDefinition, pageQuery); @@ -55,6 +59,7 @@ public class FlwDefinitionController extends BaseController { * @param flowDefinition 参数 * @param pageQuery 分页 */ + @Operation(summary = "查询未发布的流程定义列表",description = "查询未发布的流程定义列表") @GetMapping("/unPublishList") public TableDataInfo unPublishList(FlowDefinition flowDefinition, PageQuery pageQuery) { return flwDefinitionService.unPublishList(flowDefinition, pageQuery); @@ -65,6 +70,7 @@ public class FlwDefinitionController extends BaseController { * * @param id 流程定义id */ + @Operation(summary = "获取流程定义详细信息",description = "获取流程定义详细信息") @GetMapping(value = "/{id}") public R getInfo(@PathVariable Long id) { return R.ok(defService.getById(id)); @@ -75,7 +81,7 @@ public class FlwDefinitionController extends BaseController { * * @param flowDefinition 参数 */ - @Log(title = "流程定义", businessType = BusinessType.INSERT) + @Operation(summary = "新增流程定义",description = "新增流程定义") @PostMapping @RepeatSubmit() @Transactional(rollbackFor = Exception.class) @@ -88,7 +94,7 @@ public class FlwDefinitionController extends BaseController { * * @param flowDefinition 参数 */ - @Log(title = "流程定义", businessType = BusinessType.UPDATE) + @Operation(summary = "修改流程定义",description = "修改流程定义") @PutMapping @RepeatSubmit() @Transactional(rollbackFor = Exception.class) @@ -101,7 +107,7 @@ public class FlwDefinitionController extends BaseController { * * @param id 流程定义id */ - @Log(title = "流程定义", businessType = BusinessType.INSERT) + @Operation(summary = "发布流程定义",description = "发布流程定义") @PutMapping("/publish/{id}") @RepeatSubmit() public R publish(@PathVariable Long id) { @@ -113,7 +119,7 @@ public class FlwDefinitionController extends BaseController { * * @param id 流程定义id */ - @Log(title = "流程定义", businessType = BusinessType.INSERT) + @Operation(summary = "取消发布流程定义",description = "取消发布流程定义") @PutMapping("/unPublish/{id}") @RepeatSubmit() @Transactional(rollbackFor = Exception.class) @@ -124,7 +130,7 @@ public class FlwDefinitionController extends BaseController { /** * 删除流程定义 */ - @Log(title = "流程定义", businessType = BusinessType.DELETE) + @Operation(summary = "删除流程定义",description = "删除流程定义") @DeleteMapping("/{ids}") public R remove(@PathVariable List ids) { return toAjax(flwDefinitionService.removeDef(ids)); @@ -135,7 +141,7 @@ public class FlwDefinitionController extends BaseController { * * @param id 流程定义id */ - @Log(title = "流程定义", businessType = BusinessType.INSERT) + @Operation(summary = "复制流程定义",description = "复制流程定义") @PostMapping("/copy/{id}") @RepeatSubmit() @Transactional(rollbackFor = Exception.class) @@ -149,7 +155,7 @@ public class FlwDefinitionController extends BaseController { * @param file 文件 * @param category 分类 */ - @Log(title = "流程定义", businessType = BusinessType.IMPORT) + @Operation(summary = "导入流程定义",description = "导入流程定义") @PostMapping("/importDef") public R importDef(MultipartFile file, String category) { return R.ok(flwDefinitionService.importJson(file, category)); @@ -162,7 +168,7 @@ public class FlwDefinitionController extends BaseController { * @param response 响应 * @throws IOException 异常 */ - @Log(title = "流程定义", businessType = BusinessType.EXPORT) + @Operation(summary = "导出流程定义",description = "导出流程定义") @PostMapping("/exportDef/{id}") public void exportDef(@PathVariable Long id, HttpServletResponse response) throws IOException { flwDefinitionService.exportDef(id, response); @@ -173,6 +179,7 @@ public class FlwDefinitionController extends BaseController { * * @param id 流程定义id */ + @Operation(summary = "获取流程定义JSON字符串",description = "获取流程定义JSON字符串") @GetMapping("/xmlString/{id}") public R xmlString(@PathVariable Long id) { return R.ok("操作成功", defService.exportJson(id)); @@ -184,6 +191,7 @@ public class FlwDefinitionController extends BaseController { * @param id 流程定义id * @param active 激活/挂起 */ + @Operation(summary = "激活/挂起流程定义",description = "激活/挂起流程定义") @RepeatSubmit() @PutMapping("/active/{id}") @Transactional(rollbackFor = Exception.class) diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwInstanceController.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwInstanceController.java index 4b52bda..1bffc80 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwInstanceController.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwInstanceController.java @@ -1,5 +1,7 @@ package org.dromara.workflow.controller; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -26,6 +28,7 @@ import java.util.Map; * * @author may */ +@Tag(name = "流程实例管理") @ConditionalOnEnable @Validated @RequiredArgsConstructor @@ -42,6 +45,7 @@ public class FlwInstanceController extends BaseController { * @param flowInstanceBo 流程实例 * @param pageQuery 分页 */ + @Operation(summary = "查询正在运行的流程实例列表",description = "查询正在运行的流程实例列表") @GetMapping("/pageByRunning") public TableDataInfo selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { return flwInstanceService.selectRunningInstanceList(flowInstanceBo, pageQuery); @@ -53,6 +57,7 @@ public class FlwInstanceController extends BaseController { * @param flowInstanceBo 流程实例 * @param pageQuery 分页 */ + @Operation(summary = "查询已结束的流程实例列表",description = "查询已结束的流程实例列表") @GetMapping("/pageByFinish") public TableDataInfo selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { return flwInstanceService.selectFinishInstanceList(flowInstanceBo, pageQuery); @@ -63,6 +68,7 @@ public class FlwInstanceController extends BaseController { * * @param businessId 业务id */ + @Operation(summary = "根据业务id查询流程实例详细信息",description = "根据业务id查询流程实例详细信息") @GetMapping("/getInfo/{businessId}") public R getInfo(@PathVariable Long businessId) { return R.ok(flwInstanceService.queryByBusinessId(businessId)); @@ -73,6 +79,7 @@ public class FlwInstanceController extends BaseController { * * @param businessIds 业务id */ + @Operation(summary = "按照业务id删除流程实例",description = "按照业务id删除流程实例") @DeleteMapping("/deleteByBusinessIds/{businessIds}") public R deleteByBusinessIds(@PathVariable List businessIds) { return toAjax(flwInstanceService.deleteByBusinessIds(businessIds)); @@ -83,6 +90,7 @@ public class FlwInstanceController extends BaseController { * * @param instanceIds 实例id */ + @Operation(summary = "按照实例id删除流程实例",description = "按照实例id删除流程实例") @DeleteMapping("/deleteByInstanceIds/{instanceIds}") public R deleteByInstanceIds(@PathVariable List instanceIds) { return toAjax(flwInstanceService.deleteByInstanceIds(instanceIds)); @@ -93,6 +101,7 @@ public class FlwInstanceController extends BaseController { * * @param bo 参数 */ + @Operation(summary = "撤销流程",description = "撤销流程") @RepeatSubmit() @PutMapping("/cancelProcessApply") public R cancelProcessApply(@RequestBody FlowCancelBo bo) { @@ -105,6 +114,7 @@ public class FlwInstanceController extends BaseController { * @param id 流程实例id * @param active 激活/挂起 */ + @Operation(summary = "激活/挂起流程实例",description = "激活/挂起流程实例") @RepeatSubmit() @PutMapping("/active/{id}") public R active(@PathVariable Long id, @RequestParam boolean active) { @@ -117,6 +127,7 @@ public class FlwInstanceController extends BaseController { * @param flowInstanceBo 参数 * @param pageQuery 分页 */ + @Operation(summary = "获取当前登陆人发起的流程实例",description = "获取当前登陆人发起的流程实例") @GetMapping("/pageByCurrent") public TableDataInfo selectCurrentInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { return flwInstanceService.selectCurrentInstanceList(flowInstanceBo, pageQuery); @@ -127,6 +138,7 @@ public class FlwInstanceController extends BaseController { * * @param businessId 业务id */ + @Operation(summary = "获取流程图,流程记录",description = "获取流程图,流程记录") @GetMapping("/flowImage/{businessId}") public R> flowImage(@PathVariable String businessId) { return R.ok(flwInstanceService.flowImage(businessId)); @@ -137,6 +149,7 @@ public class FlwInstanceController extends BaseController { * * @param instanceId 流程实例id */ + @Operation(summary = "获取流程变量",description = "获取流程变量") @GetMapping("/instanceVariable/{instanceId}") public R> instanceVariable(@PathVariable Long instanceId) { return R.ok(flwInstanceService.instanceVariable(instanceId)); @@ -147,7 +160,7 @@ public class FlwInstanceController extends BaseController { * * @param bo 参数 */ - @Log(title = "流程实例管理", businessType = BusinessType.INSERT) + @Operation(summary = "作废流程",description = "作废流程") @RepeatSubmit() @PostMapping("/invalid") public R invalid(@Validated @RequestBody FlowInvalidBo bo) { diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java index ffaff0b..2618ade 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java @@ -1,5 +1,8 @@ package org.dromara.workflow.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.common.core.domain.R; import org.dromara.common.core.validate.AddGroup; @@ -27,6 +30,7 @@ import java.util.List; * * @author may */ +@Tag(name = "任务管理") @ConditionalOnEnable @Validated @RequiredArgsConstructor @@ -41,7 +45,7 @@ public class FlwTaskController extends BaseController { * * @param startProcessBo 启动流程参数 */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) + @Operation(summary = "启动任务",description = "启动任务") @RepeatSubmit() @PostMapping("/startWorkFlow") public R startWorkFlow(@Validated(AddGroup.class) @RequestBody StartProcessBo startProcessBo) { @@ -54,7 +58,7 @@ public class FlwTaskController extends BaseController { * * @param completeTaskBo 办理任务参数 */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) + @Operation(summary = "办理任务",description = "办理任务") @RepeatSubmit() @PostMapping("/completeTask") public R completeTask(@Validated(AddGroup.class) @RequestBody CompleteTaskBo completeTaskBo) { @@ -67,6 +71,7 @@ public class FlwTaskController extends BaseController { * @param flowTaskBo 参数 * @param pageQuery 分页 */ + @Operation(summary = "查询当前用户的待办任务",description = "查询当前用户的待办任务") @GetMapping("/pageByTaskWait") public TableDataInfo pageByTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) { return flwTaskService.pageByTaskWait(flowTaskBo, pageQuery); @@ -78,7 +83,7 @@ public class FlwTaskController extends BaseController { * @param flowTaskBo 参数 * @param pageQuery 分页 */ - + @Operation(summary = "查询当前用户的已办任务",description = "查询当前用户的已办任务") @GetMapping("/pageByTaskFinish") public TableDataInfo pageByTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery) { return flwTaskService.pageByTaskFinish(flowTaskBo, pageQuery); @@ -90,6 +95,7 @@ public class FlwTaskController extends BaseController { * @param flowTaskBo 参数 * @param pageQuery 分页 */ + @Operation(summary = "查询待办任务",description = "查询待办任务") @GetMapping("/pageByAllTaskWait") public TableDataInfo pageByAllTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) { return flwTaskService.pageByAllTaskWait(flowTaskBo, pageQuery); @@ -101,6 +107,7 @@ public class FlwTaskController extends BaseController { * @param flowTaskBo 参数 * @param pageQuery 分页 */ + @Operation(summary = "查询已办任务",description = "查询已办任务") @GetMapping("/pageByAllTaskFinish") public TableDataInfo pageByAllTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery) { return flwTaskService.pageByAllTaskFinish(flowTaskBo, pageQuery); @@ -112,6 +119,7 @@ public class FlwTaskController extends BaseController { * @param flowTaskBo 参数 * @param pageQuery 分页 */ + @Operation(summary = "查询当前用户的抄送",description = "查询当前用户的抄送") @GetMapping("/pageByTaskCopy") public TableDataInfo pageByTaskCopy(FlowTaskBo flowTaskBo, PageQuery pageQuery) { return flwTaskService.pageByTaskCopy(flowTaskBo, pageQuery); @@ -122,6 +130,7 @@ public class FlwTaskController extends BaseController { * * @param taskId 任务id */ + @Operation(summary = "根据taskId查询任务",description = "根据taskId查询任务") @GetMapping("/getTask/{taskId}") public R getTask(@PathVariable Long taskId) { return R.ok(flwTaskService.selectById(taskId)); @@ -132,7 +141,7 @@ public class FlwTaskController extends BaseController { * * @param bo 参数 */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) + @Operation(summary = "终止任务",description = "终止任务") @RepeatSubmit() @PostMapping("/terminationTask") public R terminationTask(@RequestBody FlowTerminationBo bo) { @@ -145,7 +154,9 @@ public class FlwTaskController extends BaseController { * @param bo 参数 * @param taskOperation 操作类型,委派 delegateTask、转办 transferTask、加签 addSignature、减签 reductionSignature */ - @Log(title = "任务管理", businessType = BusinessType.UPDATE) + @Operation(summary = "任务操作",description = "任务操作",parameters = { + @Parameter(name = "taskOperation", description = "操作类型,委派 delegateTask、转办 transferTask、加签 addSignature、减签 reductionSignature") + }) @RepeatSubmit @PostMapping("/taskOperation/{taskOperation}") public R taskOperation(@Validated @RequestBody TaskOperationBo bo, @PathVariable String taskOperation) { @@ -158,7 +169,7 @@ public class FlwTaskController extends BaseController { * @param taskIdList 任务id * @param userId 办理人id */ - @Log(title = "任务管理", businessType = BusinessType.UPDATE) + @Operation(summary = "修改任务办理人",description = "修改任务办理人") @RepeatSubmit() @PutMapping("/updateAssignee/{userId}") public R updateAssignee(@RequestBody List taskIdList, @PathVariable String userId) { @@ -170,7 +181,7 @@ public class FlwTaskController extends BaseController { * * @param bo 参数 */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) + @Operation(summary = "驳回审批",description = "驳回审批") @RepeatSubmit() @PostMapping("/backProcess") public R backProcess(@Validated({AddGroup.class}) @RequestBody BackProcessBo bo) { @@ -183,6 +194,7 @@ public class FlwTaskController extends BaseController { * @param definitionId 流程定义id * @param nowNodeCode 当前节点 */ + @Operation(summary = "获取可驳回的前置节点",description = "获取可驳回的前置节点") @GetMapping("/getBackTaskNode/{definitionId}/{nowNodeCode}") public R> getBackTaskNode(@PathVariable Long definitionId, @PathVariable String nowNodeCode) { return R.ok(flwTaskService.getBackTaskNode(definitionId, nowNodeCode)); @@ -193,6 +205,7 @@ public class FlwTaskController extends BaseController { * * @param taskId 任务id */ + @Operation(summary = "获取当前任务的所有办理人",description = "获取当前任务的所有办理人") @GetMapping("/currentTaskAllUser/{taskId}") public R> currentTaskAllUser(@PathVariable Long taskId) { return R.ok(flwTaskService.currentTaskAllUser(taskId));