Commit ba4c539330bccfddcdbf46c40532afa893bf4311

Authored by YunaiV
1 parent 98ed8009

feat:【bpm 工作流】审批结束后,增加 reason 返回

yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/api/event/BpmProcessInstanceStatusEvent.java
@@ -29,6 +29,11 @@ public class BpmProcessInstanceStatusEvent extends ApplicationEvent { @@ -29,6 +29,11 @@ public class BpmProcessInstanceStatusEvent extends ApplicationEvent {
29 @NotNull(message = "流程实例的状态不能为空") 29 @NotNull(message = "流程实例的状态不能为空")
30 private Integer status; 30 private Integer status;
31 /** 31 /**
  32 + * 流程实例结束的原因
  33 + */
  34 + private String reason;
  35 +
  36 + /**
32 * 流程实例对应的业务标识 37 * 流程实例对应的业务标识
33 * 例如说,请假 38 * 例如说,请假
34 */ 39 */
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java
@@ -119,8 +119,9 @@ public interface BpmProcessInstanceConvert { @@ -119,8 +119,9 @@ public interface BpmProcessInstanceConvert {
119 @Mapping(source = "from.id", target = "to.id", ignore = true) 119 @Mapping(source = "from.id", target = "to.id", ignore = true)
120 void copyTo(BpmProcessDefinitionInfoDO from, @MappingTarget BpmProcessDefinitionRespVO to); 120 void copyTo(BpmProcessDefinitionInfoDO from, @MappingTarget BpmProcessDefinitionRespVO to);
121 121
122 - default BpmProcessInstanceStatusEvent buildProcessInstanceStatusEvent(Object source, ProcessInstance instance, Integer status) {  
123 - return new BpmProcessInstanceStatusEvent(source).setId(instance.getId()).setStatus(status) 122 + default BpmProcessInstanceStatusEvent buildProcessInstanceStatusEvent(Object source, ProcessInstance instance,
  123 + Integer status, String reason) {
  124 + return new BpmProcessInstanceStatusEvent(source).setId(instance.getId()).setStatus(status).setReason(reason)
124 .setProcessDefinitionKey(instance.getProcessDefinitionKey()).setBusinessKey(instance.getBusinessKey()); 125 .setProcessDefinitionKey(instance.getProcessDefinitionKey()).setBusinessKey(instance.getBusinessKey());
125 } 126 }
126 127
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
@@ -960,7 +960,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService @@ -960,7 +960,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
960 960
961 // 3. 发送流程实例的状态事件 961 // 3. 发送流程实例的状态事件
962 processInstanceEventPublisher.sendProcessInstanceResultEvent( 962 processInstanceEventPublisher.sendProcessInstanceResultEvent(
963 - BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, instance, status)); 963 + BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, instance, status, reason));
964 964
965 // 4. 流程后置通知 965 // 4. 流程后置通知
966 if (Objects.equals(status, BpmProcessInstanceStatusEnum.APPROVE.getStatus())) { 966 if (Objects.equals(status, BpmProcessInstanceStatusEnum.APPROVE.getStatus())) {
yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImplTest.java
@@ -236,6 +236,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest { @@ -236,6 +236,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
236 public void testCheckAccessToken_refreshToken() { 236 public void testCheckAccessToken_refreshToken() {
237 // mock 数据(访问令牌) 237 // mock 数据(访问令牌)
238 OAuth2RefreshTokenDO refreshTokenDO = randomPojo(OAuth2RefreshTokenDO.class) 238 OAuth2RefreshTokenDO refreshTokenDO = randomPojo(OAuth2RefreshTokenDO.class)
  239 + .setUserId(0L)
239 .setExpiresTime(LocalDateTime.now().plusDays(1)); 240 .setExpiresTime(LocalDateTime.now().plusDays(1));
240 oauth2RefreshTokenMapper.insert(refreshTokenDO); 241 oauth2RefreshTokenMapper.insert(refreshTokenDO);
241 // 准备参数 242 // 准备参数