update - REQ-2324-增加恢复待办接口
This commit is contained in:
parent
fcb613d65a
commit
9a5dc1dfe5
@ -42,18 +42,19 @@ import cn.hutool.core.date.StopWatch;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* @description
|
||||
*
|
||||
* @author cold_blade
|
||||
* @date 2023/10/5
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 2023/10/5
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@ -194,6 +195,12 @@ public class PendingMessageNewController implements PendingMessageClient {
|
||||
return CommonResponse.success(todoManager.completeBySubBizCode(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Boolean> rollbackTemplateCodeSubBizCode(@RequestBody @Valid CompletePendingBySubCodeRequest param) {
|
||||
log.info("rollbackByTemplateCodeSubBizCode, request={}", JSON.toJSONString(param));
|
||||
return CommonResponse.success(todoManager.rollbackBySubBizCode(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Boolean> revokeByTemplateCodeBizCode(CompletePendingMessageRequest param) {
|
||||
log.info("revokeByTemplateCodeBizCode, request={}", JSON.toJSONString(param));
|
||||
|
||||
@ -40,6 +40,11 @@ class TodoLogger {
|
||||
logTodosUpdated(ctx, todos);
|
||||
}
|
||||
|
||||
void logTodoRollback(TodoRequestContext ctx, List<Todo> todos) {
|
||||
ctx.addLogContent("state", PendingMessageStateEnum.PROCESSING);
|
||||
logTodosUpdated(ctx, todos);
|
||||
}
|
||||
|
||||
void logTodoRevoked(TodoRequestContext ctx, List<Todo> todos) {
|
||||
ctx.addLogContent("state", PendingMessageStateEnum.RETRACT);
|
||||
logTodosUpdated(ctx, todos);
|
||||
|
||||
@ -262,6 +262,24 @@ public class TodoManager {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 恢复待办
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean rollbackBySubBizCode(CompletePendingBySubCodeRequest request) {
|
||||
TodoRequestContext ctx = TodoRequestContext.create("rollbackBySubBizCode", request);
|
||||
StateAdvanceResult advanceResult = advanceState(ctx, execAdvanceBuilder()
|
||||
.eq(Todo::getTemplateCode, request.getTemplateCode())
|
||||
.eq(Todo::getBizCode, request.getBizCode())
|
||||
.eq(Todo::getSubBizCode, request.getSubBizCode())
|
||||
.set(Todo::getState, PendingMessageStateEnum.HAS_BEEN_SENT));
|
||||
if (!advanceResult.isAdvanced()) {
|
||||
return false;
|
||||
}
|
||||
todoLogger.logTodoRollback(ctx, advanceResult.getAdvancedTodos());
|
||||
return true;
|
||||
}
|
||||
|
||||
// !! revoke
|
||||
|
||||
/**
|
||||
|
||||
@ -228,6 +228,15 @@ public interface PendingMessageClient {
|
||||
@PostMapping(value = "/pending-message/complete/by-sub-biz-code", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<Boolean> completeByTemplateCodeSubBizCode(@RequestBody @Valid CompletePendingBySubCodeRequest param);
|
||||
|
||||
/**
|
||||
* 通过模版编号和业务编号和子业务编号恢复代办
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/pending-message/rollback/by-sub-biz-code", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<Boolean> rollbackTemplateCodeSubBizCode(@RequestBody @Valid CompletePendingBySubCodeRequest param);
|
||||
|
||||
/**
|
||||
* 通过模版编号和业务编号撤销代办
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user