Commit a0c7692c3c2bae3f2f2d345bd58ffe49e3c2d5da
1 parent
ff7b9d9d
调整流程定义模块的代码
Showing
11 changed files
with
184 additions
and
152 deletions
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/ModelController.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/model/BpmModelController.java
| 1 | -package cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow; | |
| 1 | +package cn.iocoder.yudao.adminserver.modules.bpm.controller.model; | |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.FileResp; |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model.ModelPageReqVo; | |
| 5 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model.ModelVO; | |
| 4 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo.ModelPageReqVO; | |
| 5 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo.BpmModelCreateReqVO; | |
| 6 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.service.workflow.BpmModelService; |
| 7 | 7 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 8 | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | 9 | import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; |
| 10 | 10 | import io.swagger.annotations.Api; |
| 11 | 11 | import io.swagger.annotations.ApiOperation; |
| 12 | -import lombok.RequiredArgsConstructor; | |
| 13 | -import lombok.extern.slf4j.Slf4j; | |
| 14 | 12 | import org.activiti.engine.repository.Model; |
| 13 | +import org.springframework.validation.annotation.Validated; | |
| 15 | 14 | import org.springframework.web.bind.annotation.*; |
| 16 | 15 | |
| 16 | +import javax.annotation.Resource; | |
| 17 | 17 | import javax.servlet.http.HttpServletResponse; |
| 18 | 18 | import java.io.IOException; |
| 19 | 19 | |
| 20 | -/** | |
| 21 | - * 工作流模型 | |
| 22 | - * @author yunlongn | |
| 23 | - */ | |
| 24 | -@Slf4j | |
| 20 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 21 | + | |
| 22 | +@Api(tags = "流程定义") | |
| 25 | 23 | @RestController |
| 26 | -@RequestMapping("/workflow/models") | |
| 27 | -@Api(tags = "工作流模型") | |
| 28 | -@RequiredArgsConstructor | |
| 29 | -public class ModelController { | |
| 24 | +@RequestMapping("/bpm/model") | |
| 25 | +@Validated | |
| 26 | +public class BpmModelController { | |
| 27 | + | |
| 28 | + @Resource | |
| 29 | + private BpmModelService bpmModelService; | |
| 30 | 30 | |
| 31 | - private final BpmModelService bpmModelService; | |
| 31 | + // TODO @芋艿:权限 | |
| 32 | 32 | |
| 33 | 33 | @GetMapping ("/page") |
| 34 | 34 | @ApiOperation(value = "分页数据") |
| 35 | - public CommonResult<PageResult<Model>> pageList(ModelPageReqVo modelPageReqVo) { | |
| 36 | - return CommonResult.success(bpmModelService.pageList(modelPageReqVo)); | |
| 35 | + public CommonResult<PageResult<Model>> getModelPage(ModelPageReqVO pageVO) { | |
| 36 | + return success(bpmModelService.getModelPage(pageVO)); | |
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | @PostMapping("/create") |
| 40 | 40 | @ApiOperation(value = "新建模型") |
| 41 | - public CommonResult<String> newModel(@RequestBody ModelVO modelVO) { | |
| 42 | - return bpmModelService.newModel(modelVO); | |
| 41 | + public CommonResult<String> createModel(@RequestBody BpmModelCreateReqVO createRetVO) { | |
| 42 | + return success(bpmModelService.createModel(createRetVO)); | |
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | @PostMapping("/update") |
| 46 | 46 | @ApiOperation(value = "修改模型属性") |
| 47 | - public CommonResult<String> updateModel(@RequestBody ModelVO modelVO) { | |
| 47 | + public CommonResult<String> updateModel(@RequestBody BpmModelCreateReqVO modelVO) { | |
| 48 | 48 | return bpmModelService.updateModel(modelVO); |
| 49 | 49 | } |
| 50 | 50 | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/model/vo/BpmModelBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo; | |
| 2 | + | |
| 3 | +import io.swagger.annotations.ApiModelProperty; | |
| 4 | +import lombok.Data; | |
| 5 | + | |
| 6 | +import javax.validation.constraints.NotEmpty; | |
| 7 | + | |
| 8 | +/** | |
| 9 | +* 流程定义 Base VO,提供给添加、修改、详细的子 VO 使用 | |
| 10 | +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | |
| 11 | +*/ | |
| 12 | +@Data | |
| 13 | +public class BpmModelBaseVO { | |
| 14 | + | |
| 15 | + @ApiModelProperty(value = "流程名称", required = true, example = "芋道") | |
| 16 | + @NotEmpty(message = "流程名称不能为空") | |
| 17 | + private String name; | |
| 18 | + | |
| 19 | + @ApiModelProperty(value = "流程描述", example = "我是描述") | |
| 20 | + @NotEmpty(message = "流程描述不能为空") | |
| 21 | + private String description; | |
| 22 | + | |
| 23 | +} | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/model/vo/BpmModelCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo; | |
| 2 | + | |
| 3 | +import io.swagger.annotations.ApiModel; | |
| 4 | +import io.swagger.annotations.ApiModelProperty; | |
| 5 | +import lombok.Data; | |
| 6 | +import lombok.EqualsAndHashCode; | |
| 7 | +import lombok.ToString; | |
| 8 | + | |
| 9 | +import javax.validation.constraints.NotEmpty; | |
| 10 | + | |
| 11 | +@ApiModel("流程定义的创建 Request VO") | |
| 12 | +@Data | |
| 13 | +@EqualsAndHashCode(callSuper = true) | |
| 14 | +@ToString(callSuper = true) | |
| 15 | +public class BpmModelCreateReqVO extends BpmModelBaseVO { | |
| 16 | + | |
| 17 | + @ApiModelProperty(value = "流程标识", required = true, example = "process_yudao") | |
| 18 | + @NotEmpty(message = "流程标识不能为空") | |
| 19 | + private String key; | |
| 20 | + | |
| 21 | + @ApiModelProperty(value = "BPMN XML", required = true) | |
| 22 | + @NotEmpty(message = "BPMN XML 不能为空") | |
| 23 | + private String bpmnXml; | |
| 24 | + | |
| 25 | +// @ApiModelProperty(value = "版本号") | |
| 26 | +// private Integer revision; | |
| 27 | +} | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/model/ModelRespVo.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/model/vo/BpmModelRespVO.java
| 1 | -package cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model; | |
| 1 | +package cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 4 | 3 | import io.swagger.annotations.ApiModel; |
| 4 | +import io.swagger.annotations.ApiModelProperty; | |
| 5 | 5 | import lombok.Data; |
| 6 | 6 | import lombok.EqualsAndHashCode; |
| 7 | 7 | import lombok.ToString; |
| 8 | 8 | |
| 9 | -/** | |
| 10 | - * @author yunlong.li | |
| 11 | - */ | |
| 12 | -@ApiModel("模型出口内容 Request VO") | |
| 9 | +@ApiModel("流程定义 Response VO") | |
| 13 | 10 | @Data |
| 11 | +@EqualsAndHashCode(callSuper = true) | |
| 14 | 12 | @ToString(callSuper = true) |
| 15 | -public class ModelRespVo { | |
| 13 | +public class BpmModelRespVO extends BpmModelBaseVO { | |
| 14 | + | |
| 15 | + @ApiModelProperty(value = "编号", required = true, example = "1024") | |
| 16 | + private String id; | |
| 17 | + | |
| 16 | 18 | } | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/model/ModelPageReqVo.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/model/vo/ModelPageReqVO.java
| 1 | -package cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model; | |
| 1 | +package cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo; | |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 4 | 4 | import io.swagger.annotations.ApiModel; |
| ... | ... | @@ -7,14 +7,14 @@ import lombok.Data; |
| 7 | 7 | import lombok.EqualsAndHashCode; |
| 8 | 8 | import lombok.ToString; |
| 9 | 9 | |
| 10 | -/** | |
| 11 | - * @author yunlong.li | |
| 12 | - */ | |
| 13 | -@ApiModel("模型分页 Request VO") | |
| 10 | + | |
| 11 | +@ApiModel("流程定义分页 Request VO") | |
| 14 | 12 | @Data |
| 15 | 13 | @EqualsAndHashCode(callSuper = true) |
| 16 | 14 | @ToString(callSuper = true) |
| 17 | -public class ModelPageReqVo extends PageParam { | |
| 18 | - @ApiModelProperty("模型名字") | |
| 15 | +public class ModelPageReqVO extends PageParam { | |
| 16 | + | |
| 17 | + @ApiModelProperty(value = "名字", example = "芋道") | |
| 19 | 18 | private String name; |
| 19 | + | |
| 20 | 20 | } | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/model/ModelVO.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model; | |
| 2 | - | |
| 3 | -import io.swagger.annotations.ApiModelProperty; | |
| 4 | -import lombok.Data; | |
| 5 | - | |
| 6 | -// TODO @Li:新增和更新 ModelVO 最好分开哈。 | |
| 7 | -// TODO @Li:swagger 的 example 属性,还有参数校验要加一下哈。 | |
| 8 | -// TODO @Li:前缀要加 Bpm 。因为是单体工程,不拆分,很容易重复类名 | |
| 9 | -/** | |
| 10 | - * 新增模型 VO | |
| 11 | - * @author yunlongn | |
| 12 | - */ | |
| 13 | -@Data | |
| 14 | -public class ModelVO { | |
| 15 | - | |
| 16 | - @ApiModelProperty(value = "模型Id") | |
| 17 | - private String id; | |
| 18 | - | |
| 19 | - @ApiModelProperty(value = "模型名字", required = true) | |
| 20 | - private String name; | |
| 21 | - | |
| 22 | - @ApiModelProperty(value = "模型描述") | |
| 23 | - private String description; | |
| 24 | - | |
| 25 | - @ApiModelProperty(value = "版本号") | |
| 26 | - private Integer revision; | |
| 27 | - | |
| 28 | - @ApiModelProperty(value = "key值") | |
| 29 | - private String key; | |
| 30 | - | |
| 31 | - @ApiModelProperty(value = "bpmnXml") | |
| 32 | - private String bpmnXml; | |
| 33 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/workflow/ModelConvert.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.convert.workflow; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.TodoTaskRespVO; | |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model.ModelRespVo; | |
| 5 | -import org.activiti.api.task.model.Task; | |
| 3 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo.BpmModelRespVO; | |
| 6 | 4 | import org.activiti.engine.repository.Model; |
| 7 | -import org.activiti.engine.repository.ProcessDefinition; | |
| 8 | 5 | import org.mapstruct.Mapper; |
| 9 | 6 | import org.mapstruct.factory.Mappers; |
| 10 | 7 | |
| ... | ... | @@ -16,5 +13,5 @@ import org.mapstruct.factory.Mappers; |
| 16 | 13 | public interface ModelConvert { |
| 17 | 14 | ModelConvert INSTANCE = Mappers.getMapper(ModelConvert.class); |
| 18 | 15 | |
| 19 | - ModelRespVo convert(Model model); | |
| 16 | + BpmModelRespVO convert(Model model); | |
| 20 | 17 | } | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/workflow/BpmModelService.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.service.workflow; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.FileResp; |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model.ModelPageReqVo; | |
| 5 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model.ModelVO; | |
| 4 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo.ModelPageReqVO; | |
| 5 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo.BpmModelCreateReqVO; | |
| 6 | 6 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 7 | 7 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 8 | 8 | import org.activiti.engine.repository.Model; |
| 9 | 9 | |
| 10 | 10 | /** |
| 11 | - * 工作流模型接口 | |
| 11 | + * 流程定义接口 | |
| 12 | + * | |
| 12 | 13 | * @author yunlongn |
| 13 | 14 | */ |
| 14 | 15 | public interface BpmModelService { |
| 15 | 16 | |
| 16 | 17 | /** |
| 17 | - * 模型数据分页返回 | |
| 18 | - * @param modelPageReqVo 分页入参 | |
| 19 | - * @return 分页model | |
| 18 | + * 获得流程定义分页 | |
| 19 | + * | |
| 20 | + * @param pageVO 分页查询 | |
| 21 | + * @return 流程定义分页 | |
| 20 | 22 | */ |
| 21 | - // TODO @Li:getBpmModelPage。命名上,项目是 动词 + 完整实体; | |
| 22 | - PageResult<Model> pageList(ModelPageReqVo modelPageReqVo); | |
| 23 | + PageResult<Model> getModelPage(ModelPageReqVO pageVO); | |
| 23 | 24 | |
| 24 | 25 | // TODO @Li:不用返回 CommonResult |
| 25 | 26 | // TODO @Li:createBpmModal。 |
| 26 | 27 | /** |
| 27 | - * 新增一个模型 | |
| 28 | - * @param modelVO 模型对象 | |
| 29 | - * @return 返回成功 | |
| 28 | + * 创建流程定义 | |
| 29 | + * | |
| 30 | + * @param modelVO 创建信息 | |
| 31 | + * @return 创建的流程定义的编号 | |
| 30 | 32 | */ |
| 31 | - CommonResult<String> newModel(ModelVO modelVO); | |
| 33 | + String createModel(BpmModelCreateReqVO modelVO); | |
| 32 | 34 | |
| 33 | 35 | /** |
| 34 | 36 | * 修改模型属性,填充bpmn数据 |
| 35 | 37 | * @param modelVO 模型对象 |
| 36 | 38 | * @return 返回成功 |
| 37 | 39 | */ |
| 38 | - CommonResult<String> updateModel(ModelVO modelVO); | |
| 40 | + CommonResult<String> updateModel(BpmModelCreateReqVO modelVO); | |
| 39 | 41 | |
| 40 | 42 | /** |
| 41 | 43 | * 部署模型 使模型成为一个 process | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/workflow/impl/BpmModelServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.service.workflow.impl; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.util.StrUtil; |
| 4 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo.BpmModelCreateReqVO; | |
| 5 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.model.vo.ModelPageReqVO; | |
| 4 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.FileResp; |
| 5 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model.ModelPageReqVo; | |
| 6 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.model.ModelVO; | |
| 7 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants; |
| 8 | 8 | import cn.iocoder.yudao.adminserver.modules.bpm.service.workflow.BpmModelService; |
| 9 | 9 | import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; |
| 10 | 10 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 11 | 11 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 12 | 12 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 13 | -import lombok.RequiredArgsConstructor; | |
| 13 | +import cn.iocoder.yudao.framework.common.util.object.PageUtils; | |
| 14 | 14 | import lombok.extern.slf4j.Slf4j; |
| 15 | 15 | import org.activiti.bpmn.converter.BpmnXMLConverter; |
| 16 | 16 | import org.activiti.bpmn.model.BpmnModel; |
| ... | ... | @@ -21,7 +21,9 @@ import org.activiti.engine.repository.ModelQuery; |
| 21 | 21 | import org.apache.commons.lang3.exception.ExceptionUtils; |
| 22 | 22 | import org.springframework.stereotype.Service; |
| 23 | 23 | import org.springframework.util.ObjectUtils; |
| 24 | +import org.springframework.validation.annotation.Validated; | |
| 24 | 25 | |
| 26 | +import javax.annotation.Resource; | |
| 25 | 27 | import javax.xml.stream.XMLInputFactory; |
| 26 | 28 | import javax.xml.stream.XMLStreamReader; |
| 27 | 29 | import java.io.ByteArrayInputStream; |
| ... | ... | @@ -31,80 +33,75 @@ import java.util.List; |
| 31 | 33 | import java.util.Optional; |
| 32 | 34 | |
| 33 | 35 | /** |
| 34 | - * 工作流模型实现 | |
| 36 | + * 流程定义实现 | |
| 35 | 37 | * |
| 36 | 38 | * @author yunlongn |
| 37 | 39 | */ |
| 38 | -@Slf4j | |
| 39 | 40 | @Service |
| 40 | -@RequiredArgsConstructor | |
| 41 | +@Validated | |
| 42 | +@Slf4j | |
| 41 | 43 | public class BpmModelServiceImpl implements BpmModelService { |
| 42 | 44 | |
| 43 | - private final RepositoryService repositoryService; | |
| 45 | + @Resource | |
| 46 | + private RepositoryService repositoryService; | |
| 44 | 47 | |
| 45 | 48 | @Override |
| 46 | - public PageResult<Model> pageList(ModelPageReqVo modelPageReqVo) { | |
| 49 | + public PageResult<Model> getModelPage(ModelPageReqVO pageVO) { | |
| 47 | 50 | ModelQuery modelQuery = repositoryService.createModelQuery(); |
| 48 | - String likeName = modelPageReqVo.getName(); | |
| 49 | - if (StrUtil.isNotBlank(likeName)){ | |
| 50 | - modelQuery.modelNameLike("%"+likeName+"%"); | |
| 51 | + if (StrUtil.isNotBlank(pageVO.getName())) { | |
| 52 | + modelQuery.modelNameLike("%" + pageVO.getName() + "%"); // 模糊匹配 | |
| 51 | 53 | } |
| 54 | + // 执行查询 | |
| 52 | 55 | List<Model> models = modelQuery.orderByCreateTime().desc() |
| 53 | - .listPage((modelPageReqVo.getPageNo() - 1) * modelPageReqVo.getPageSize(), modelPageReqVo.getPageSize()); | |
| 54 | - return new PageResult<>(models, modelQuery.count()); | |
| 56 | + .listPage(PageUtils.getStart(pageVO), pageVO.getPageSize()); | |
| 57 | + long modelCount = modelQuery.count(); | |
| 58 | + return new PageResult<>(models, modelCount); | |
| 55 | 59 | } |
| 56 | 60 | |
| 57 | 61 | @Override |
| 58 | - public CommonResult<String> newModel(ModelVO modelVO) { | |
| 59 | - try { | |
| 60 | - //初始化一个空模型 | |
| 61 | - Model model = repositoryService.newModel(); | |
| 62 | - // TODO @Li:name 可以直接赋值过去哈,不用声明一个变量 | |
| 63 | - String name = Optional.ofNullable(modelVO.getName()).orElse("new-process"); | |
| 64 | - //设置一些默认信息 | |
| 65 | - model.setName(name); | |
| 66 | - model.setKey(Optional.ofNullable(modelVO.getKey()).orElse("processKey")); | |
| 67 | - model.setMetaInfo(JsonUtils.toJsonString(modelVO)); | |
| 68 | - repositoryService.saveModel(model); | |
| 69 | - if (!ObjectUtils.isEmpty(modelVO.getBpmnXml())) { | |
| 70 | - repositoryService.addModelEditorSource(model.getId(), modelVO.getBpmnXml().getBytes(StandardCharsets.UTF_8)); | |
| 71 | - } | |
| 72 | - return CommonResult.success(model.getId()); | |
| 73 | - }catch (Exception e){ | |
| 74 | - // TODO @Li:这里可以捕获,交给全局么? | |
| 75 | - // TODO @Li:异常,是不是 error 比较合适,然后堆栈使用 e 直接打印即可 | |
| 76 | - log.info("模型创建失败!modelVO = {} e = {} ", modelVO, ExceptionUtils.getStackTrace(e)); | |
| 77 | - throw ServiceExceptionUtil.exception(BpmErrorCodeConstants.BPMN_MODEL_ERROR); | |
| 78 | - } | |
| 62 | + public String createModel(BpmModelCreateReqVO createReqVO) { | |
| 63 | + // TODO 芋艿:校验 key 是否重复 | |
| 64 | + // 创建流程定义 | |
| 65 | + Model model = repositoryService.newModel(); | |
| 66 | + model.setName(createReqVO.getName()); | |
| 67 | + model.setKey(createReqVO.getKey()); | |
| 68 | + // TODO 芋艿:metaInfo,description、category、formId | |
| 69 | + model.setMetaInfo(JsonUtils.toJsonString(createReqVO)); | |
| 70 | + // 保存流程定义 | |
| 71 | + repositoryService.saveModel(model); | |
| 72 | + // 添加 BPMN XML | |
| 73 | + repositoryService.addModelEditorSource(model.getId(), StrUtil.utf8Bytes(createReqVO.getBpmnXml())); | |
| 74 | + return model.getId(); | |
| 79 | 75 | } |
| 80 | 76 | |
| 81 | 77 | @Override |
| 82 | - public CommonResult<String> updateModel(ModelVO modelVO) { | |
| 83 | - try { | |
| 84 | - Model model = repositoryService.getModel(modelVO.getId()); | |
| 85 | - if (ObjectUtils.isEmpty(model)) { | |
| 86 | - throw ServiceExceptionUtil.exception(BpmErrorCodeConstants.BPMN_MODEL_EDITOR_SOURCE_NOT_EXISTS); | |
| 87 | - } | |
| 88 | - // 只能修改名字跟描述 | |
| 89 | - ModelVO modelCreateVO = JsonUtils.parseObject(model.getMetaInfo(), ModelVO.class); | |
| 90 | - if (ObjectUtils.isEmpty(modelCreateVO)) { | |
| 91 | - modelCreateVO = new ModelVO(); | |
| 92 | - } | |
| 93 | - modelCreateVO.setName(modelVO.getName()); | |
| 94 | - modelCreateVO.setDescription(modelVO.getDescription()); | |
| 95 | - model.setMetaInfo(JsonUtils.toJsonString(modelCreateVO)); | |
| 96 | - model.setName(modelVO.getName()); | |
| 97 | - model.setKey(modelVO.getKey()); | |
| 98 | - // 更新模型 | |
| 99 | - repositoryService.saveModel(model); | |
| 100 | - | |
| 101 | - repositoryService.addModelEditorSource(model.getId(), modelVO.getBpmnXml().getBytes(StandardCharsets.UTF_8)); | |
| 102 | - | |
| 103 | - return CommonResult.success("保存成功"); | |
| 104 | - }catch (Exception e){ | |
| 105 | - log.info("模型更新失败!modelVO = {}", modelVO, e); | |
| 106 | - throw ServiceExceptionUtil.exception(BpmErrorCodeConstants.BPMN_MODEL_ERROR); | |
| 107 | - } | |
| 78 | + public CommonResult<String> updateModel(BpmModelCreateReqVO modelVO) { | |
| 79 | +// try { | |
| 80 | +// Model model = repositoryService.getModel(modelVO.getId()); | |
| 81 | +// if (ObjectUtils.isEmpty(model)) { | |
| 82 | +// throw ServiceExceptionUtil.exception(BpmErrorCodeConstants.BPMN_MODEL_EDITOR_SOURCE_NOT_EXISTS); | |
| 83 | +// } | |
| 84 | +// // 只能修改名字跟描述 | |
| 85 | +// BpmModelCreateReqVO modelCreateVO = JsonUtils.parseObject(model.getMetaInfo(), BpmModelCreateReqVO.class); | |
| 86 | +// if (ObjectUtils.isEmpty(modelCreateVO)) { | |
| 87 | +// modelCreateVO = new BpmModelCreateReqVO(); | |
| 88 | +// } | |
| 89 | +// modelCreateVO.setName(modelVO.getName()); | |
| 90 | +// modelCreateVO.setDescription(modelVO.getDescription()); | |
| 91 | +// model.setMetaInfo(JsonUtils.toJsonString(modelCreateVO)); | |
| 92 | +// model.setName(modelVO.getName()); | |
| 93 | +// model.setKey(modelVO.getKey()); | |
| 94 | +// // 更新模型 | |
| 95 | +// repositoryService.saveModel(model); | |
| 96 | +// | |
| 97 | +// repositoryService.addModelEditorSource(model.getId(), modelVO.getBpmnXml().getBytes(StandardCharsets.UTF_8)); | |
| 98 | +// | |
| 99 | +// return CommonResult.success("保存成功"); | |
| 100 | +// }catch (Exception e){ | |
| 101 | +// log.info("模型更新失败!modelVO = {}", modelVO, e); | |
| 102 | +// throw ServiceExceptionUtil.exception(BpmErrorCodeConstants.BPMN_MODEL_ERROR); | |
| 103 | +// } | |
| 104 | + return null; | |
| 108 | 105 | } |
| 109 | 106 | |
| 110 | 107 | @Override | ... | ... |
yudao-admin-ui/src/api/bpm/model.js
| 1 | 1 | import request from '@/utils/request' |
| 2 | 2 | |
| 3 | - | |
| 4 | 3 | export function page(query) { |
| 5 | 4 | return request({ |
| 6 | - url: '/workflow/models/page', | |
| 5 | + url: '/bpm/model/page', | |
| 7 | 6 | method: 'get', |
| 8 | 7 | params: query |
| 9 | 8 | }) |
| 10 | 9 | } |
| 10 | + | |
| 11 | 11 | export function exportBpmnXml(query) { |
| 12 | 12 | return request({ |
| 13 | - url: '/workflow/models/exportBpmnXml', | |
| 13 | + url: '/bpm/model/exportBpmnXml', | |
| 14 | 14 | method: 'get', |
| 15 | 15 | params: query |
| 16 | 16 | }) |
| ... | ... | @@ -18,7 +18,7 @@ export function exportBpmnXml(query) { |
| 18 | 18 | |
| 19 | 19 | export function modelUpdate(data) { |
| 20 | 20 | return request({ |
| 21 | - url: '/workflow/models/update', | |
| 21 | + url: '/bpm/model/update', | |
| 22 | 22 | method: 'POST', |
| 23 | 23 | data: data |
| 24 | 24 | }) |
| ... | ... | @@ -26,7 +26,7 @@ export function modelUpdate(data) { |
| 26 | 26 | |
| 27 | 27 | export function modelSave(data) { |
| 28 | 28 | return request({ |
| 29 | - url: '/workflow/models/create', | |
| 29 | + url: '/bpm/model/create', | |
| 30 | 30 | method: 'POST', |
| 31 | 31 | data: data |
| 32 | 32 | }) |
| ... | ... | @@ -34,14 +34,15 @@ export function modelSave(data) { |
| 34 | 34 | |
| 35 | 35 | export function modelDelete(data) { |
| 36 | 36 | return request({ |
| 37 | - url: '/workflow/models/delete?modelId='+ data.modelId, | |
| 37 | + url: '/bpm/model/delete?modelId='+ data.modelId, | |
| 38 | 38 | method: 'POST', |
| 39 | 39 | data: data |
| 40 | 40 | }) |
| 41 | 41 | } |
| 42 | + | |
| 42 | 43 | export function modelDeploy(data) { |
| 43 | 44 | return request({ |
| 44 | - url: '/workflow/models/deploy?modelId='+ data.modelId, | |
| 45 | + url: '/bpm/model/deploy?modelId='+ data.modelId, | |
| 45 | 46 | method: 'POST', |
| 46 | 47 | data: data |
| 47 | 48 | }) | ... | ... |
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/object/PageUtils.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.common.util.object; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * {@link cn.iocoder.yudao.framework.common.pojo.PageParam} 工具类 | |
| 7 | + * | |
| 8 | + * @author 芋道源码 | |
| 9 | + */ | |
| 10 | +public class PageUtils { | |
| 11 | + | |
| 12 | + public static int getStart(PageParam pageParam) { | |
| 13 | + return (pageParam.getPageNo() - 1) * pageParam.getPageSize(); | |
| 14 | + } | |
| 15 | + | |
| 16 | +} | ... | ... |