From 55768e1d032aa724c667c54aee886077c0be457c Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Fri, 6 May 2022 17:32:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B5=81=E7=A8=8B=E7=B1=BB?= =?UTF-8?q?=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/ActivitiController.java | 10 ++--- .../route/ActivitiRouteController.java | 28 ++++++++++++- .../module/activiti/pojo/dtos/ModelDTO.java | 12 ++++++ .../module/activiti/pojo/vos/ActivitiVO.java | 10 +++++ .../service/activiti/IActivitiService.java | 17 ++++++++ .../activiti/impl/ActivitiServiceImpl.java | 24 ++++++++++- .../resources/templates/activiti/list.html | 34 ++++++++++++++-- .../resources/templates/activiti/save.html | 40 +++++++++++++++++++ 8 files changed, 163 insertions(+), 12 deletions(-) diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/ActivitiController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/ActivitiController.java index f442729e..3b5ce3bd 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/ActivitiController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/ActivitiController.java @@ -14,7 +14,6 @@ import ink.wgink.pojo.result.SuccessResultData; import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.util.RegexUtil; import io.swagger.annotations.*; -import org.activiti.engine.repository.Model; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -77,19 +76,20 @@ public class ActivitiController extends DefaultBaseController { @ApiOperation(value = "模型列表", notes = "模型列表接口") @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @GetMapping("list") - public List list() { - return activitiService.list(); + public List list(@RequestParam(required = false, name = "modelCategory") String modelCategory) { + return activitiService.listByCategory(modelCategory); } @ApiOperation(value = "模型分页列表", notes = "模型分页列表接口") @ApiImplicitParams({ + @ApiImplicitParam(name = "modelCategory", value = "模型类别", paramType = "query", dataType = "string"), @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "Integer", defaultValue = "1"), @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "Integer", defaultValue = "20"), }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @GetMapping("listpage") - public SuccessResultList> listPage(ListPage page) { - return activitiService.listPage(page.getPage(), page.getRows()); + public SuccessResultList> listPage(@RequestParam(required = false, name = "modelCategory") String modelCategory, ListPage page) { + return activitiService.listPageByCategory(modelCategory, page.getPage(), page.getRows()); } } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiRouteController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiRouteController.java index 64090975..4bea73b3 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiRouteController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiRouteController.java @@ -1,14 +1,22 @@ package ink.wgink.module.activiti.controller.route; import ink.wgink.interfaces.consts.ISystemConstant; -import ink.wgink.module.activiti.service.activiti.IActivitiModelService; import io.swagger.annotations.Api; +import org.activiti.engine.RepositoryService; +import org.activiti.engine.repository.Model; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + /** * @ClassName: ActivitiRouteController * @Description: activiti路由 @@ -21,15 +29,20 @@ import org.springframework.web.servlet.ModelAndView; @RequestMapping(ISystemConstant.ROUTE_PREFIX + "/activiti") public class ActivitiRouteController { + @Autowired + private RepositoryService repositoryService; + @GetMapping("list") public ModelAndView list() { ModelAndView mv = new ModelAndView("activiti/list"); + mv.addObject("modelCategories", listCategory()); return mv; } @GetMapping("save") public ModelAndView save() { ModelAndView mv = new ModelAndView("activiti/save"); + mv.addObject("modelCategories", listCategory()); return mv; } @@ -39,4 +52,17 @@ public class ActivitiRouteController { return mv; } + /** + * 模型列表 + * + * @return + */ + private List listCategory() { + Set modelCategorySet = repositoryService.createModelQuery().list().stream().map(Model::getCategory).collect(Collectors.toSet()); + modelCategorySet.removeIf(modelCategory -> StringUtils.isBlank(modelCategory)); + ArrayList modelCategories = new ArrayList<>(modelCategorySet); + Collections.sort(modelCategories); + return modelCategories; + } + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/ModelDTO.java b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/ModelDTO.java index 236545b2..ec52c100 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/ModelDTO.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/ModelDTO.java @@ -28,6 +28,8 @@ public class ModelDTO { private String createTime; @ApiModelProperty(name = "lastUpdateTime", value = "最后更新时间") private String lastUpdateTime; + @ApiModelProperty(name = "modelCategory", value = "模型类别") + private String modelCategory; public String getId() { return id == null ? "" : id.trim(); @@ -85,6 +87,14 @@ public class ModelDTO { this.lastUpdateTime = lastUpdateTime; } + public String getModelCategory() { + return modelCategory == null ? "" : modelCategory.trim(); + } + + public void setModelCategory(String modelCategory) { + this.modelCategory = modelCategory; + } + @Override public String toString() { final StringBuilder sb = new StringBuilder("{"); @@ -102,6 +112,8 @@ public class ModelDTO { .append(createTime).append('\"'); sb.append(",\"lastUpdateTime\":\"") .append(lastUpdateTime).append('\"'); + sb.append(",\"modelCategory\":\"") + .append(modelCategory).append('\"'); sb.append('}'); return sb.toString(); } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/ActivitiVO.java b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/ActivitiVO.java index f03e2f2f..e771403e 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/ActivitiVO.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/ActivitiVO.java @@ -25,6 +25,8 @@ public class ActivitiVO { private String modelKey; @ApiModelProperty(name = "modelDescription", value = "模型描述") private String modelDescription; + @ApiModelProperty(name = "modelCategory", value = "模型分类") + private String modelCategory; public String getModelName() { return modelName == null ? "" : modelName.trim().replaceAll("\\s", ""); @@ -49,4 +51,12 @@ public class ActivitiVO { public void setModelDescription(String modelDescription) { this.modelDescription = modelDescription; } + + public String getModelCategory() { + return modelCategory == null ? "" : modelCategory.trim(); + } + + public void setModelCategory(String modelCategory) { + this.modelCategory = modelCategory; + } } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiService.java index f82cbfc3..0c1c5f92 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiService.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiService.java @@ -51,6 +51,14 @@ public interface IActivitiService { */ List list(); + /** + * 模型列表 + * + * @param modelCategory + * @return + */ + List listByCategory(String modelCategory); + /** * 模型分页列表 * @@ -60,4 +68,13 @@ public interface IActivitiService { */ SuccessResultList> listPage(int page, int rows); + /** + * 模型分页列表 + * + * @param modelCategory 类别 + * @param page + * @param rows + * @return + */ + SuccessResultList> listPageByCategory(String modelCategory, int page, int rows); } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiServiceImpl.java index f5e4741a..fbe7034d 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiServiceImpl.java @@ -68,6 +68,7 @@ public class ActivitiServiceImpl extends DefaultBaseService implements IActiviti Model model = repositoryService.newModel(); model.setName(activitiVO.getModelName()); model.setKey(activitiVO.getModelKey()); + model.setCategory(activitiVO.getModelCategory()); model.setMetaInfo(createModelMetaInfo(activitiVO)); model.setVersion(1); LOG.debug("保存模型"); @@ -152,13 +153,31 @@ public class ActivitiServiceImpl extends DefaultBaseService implements IActiviti @Override public List list() { - return listModelDTO(repositoryService.createModelQuery().list()); + return listModelDTO(repositoryService.createModelQuery().orderByCreateTime().asc().list()); + } + + @Override + public List listByCategory(String modelCategory) { + if(StringUtils.isBlank(modelCategory)) { + return list(); + } + return listModelDTO(repositoryService.createModelQuery().modelCategory(modelCategory).orderByCreateTime().asc().list()); } @Override public SuccessResultList> listPage(int page, int rows) { ModelQuery modelQuery = repositoryService.createModelQuery(); - List models = modelQuery.orderByCreateTime().asc().listPage(page - 1, rows); + List models = modelQuery.orderByCreateTime().desc().listPage(page - 1, rows); + return new SuccessResultList<>(listModelDTO(models), page, modelQuery.count()); + } + + @Override + public SuccessResultList> listPageByCategory(String modelCategory, int page, int rows) { + if(StringUtils.isBlank(modelCategory)) { + return listPage(page, rows); + } + ModelQuery modelQuery = repositoryService.createModelQuery(); + List models = modelQuery.modelCategory(modelCategory).orderByCreateTime().desc().listPage(page - 1, rows); return new SuccessResultList<>(listModelDTO(models), page, modelQuery.count()); } @@ -170,6 +189,7 @@ public class ActivitiServiceImpl extends DefaultBaseService implements IActiviti ModelDTO modelDTO = new ModelDTO(); modelDTO.setId(model.getId()); modelDTO.setName(model.getName()); + modelDTO.setModelCategory(model.getCategory()); modelDTO.setKey(model.getKey()); modelDTO.setVersion(model.getVersion()); modelDTO.setDeploymentId(model.getDeploymentId()); diff --git a/module-activiti/src/main/resources/templates/activiti/list.html b/module-activiti/src/main/resources/templates/activiti/list.html index 406b555b..e7dc6dda 100644 --- a/module-activiti/src/main/resources/templates/activiti/list.html +++ b/module-activiti/src/main/resources/templates/activiti/list.html @@ -10,6 +10,9 @@ +
@@ -17,6 +20,17 @@
+
+
+ +
+ +