Commit a0c7692c3c2bae3f2f2d345bd58ffe49e3c2d5da

Authored by YunaiV
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 +}
... ...