REQ-2097: 根据subBizCode隐藏待办

This commit is contained in:
yanglin 2024-01-30 10:03:53 +08:00
parent 1ef149a61e
commit 35d2fae3b7
4 changed files with 46 additions and 9 deletions

View File

@ -592,13 +592,18 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
@Override
public Boolean setHide(SetHideRequest req) {
PendingMessageRecord record = pendingMessageRecordMapper.selectById(req.getMsgId());
BizAssertions.assertNotNull(record, "找不到对应的待办. id={}", req.getMsgId());
BizAssertions.assertFalse(req.getMsgId() != null && StringUtils.isNotBlank(req.getSubBizCode()),
"msgId, subBizCode 参数二选一, 不能都传");
if (req.getMsgId() == null) {
BizAssertions.assertTrue(StringUtils.isNotBlank(req.getSubBizCode()), "msgId, subBizCode 参数二选一");
} else if (StringUtils.isBlank(req.getSubBizCode())) {
BizAssertions.assertNotNull(req.getMsgId(), "msgId, subBizCode 参数二选一");
}
int seconds = req.getHideSeconds() == null ? pendingDefaultHideSeconds : req.getHideSeconds();
Date expireTime = DateTime.now().plusSeconds(seconds).toDate();
return pendingMessageRecordDao.lambdaUpdate()
.eq(PendingMessageRecord::getId, req.getMsgId())
.eq(req.getMsgId() != null, PendingMessageRecord::getId, req.getMsgId())
.eq(StringUtils.isNotBlank(req.getSubBizCode()), PendingMessageRecord::getSubBizCode, req.getSubBizCode())
.eq(PendingMessageRecord::getState, PendingMessageStateEnum.HAS_BEEN_SENT)
.set(PendingMessageRecord::getHideUntil, expireTime)
.update();

View File

@ -7,8 +7,6 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import javax.annotation.Nullable;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author haiyangjin
@ -19,11 +17,15 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
public class SetHideRequest {
/**
* 需要隐藏的待办id
* 需要隐藏的待办id, msgId, subBizCode 参数二选一
*/
@NotNull
private Long msgId;
/**
* 流程类代办的流程结点编码, msgId, subBizCode 参数二选一
*/
private String subBizCode;
/**
* 需要隐藏多少秒, 如果没有传将会使用默认值
*/
@ -32,7 +34,6 @@ public class SetHideRequest {
@Override
public String toString() {
return JSON.toJSONString(this);
}
}

View File

@ -15,3 +15,27 @@ spring:
#指定激活环境
profiles:
active: ${NACOS_PROFILES_ACTIVE:dev}
---
#测试环境
spring:
config:
activate:
on-profile: test
cloud:
nacos:
config:
server-addr: ${NACOS_HOST:test-nacos.axzo.cn}:${NACOS_PORT:80}
file-extension: yaml
namespace: ${NACOS_NAMESPACE_ID:f3c0f0d2-bac4-4498-bee7-9c3636b3afdf}
---
#预发布环境
spring:
config:
activate:
on-profile: pre
cloud:
nacos:
config:
server-addr: ${NACOS_HOST:https://pre-nacos.axzo.cn}:${NACOS_PORT:443}
file-extension: yaml
namespace: ${NACOS_NAMESPACE_ID:8b4cf725-7595-4c92-b2a6-9260a51ce078}

View File

@ -30,6 +30,13 @@ class PendingMessageNewServiceTest {
@Test
@Commit
void foo() {
//SetHideRequest req = new SetHideRequest();
//req.setSubBizCode("08345cb9-669a-11ee-8d91-02550a00001f");
//pendingMessageNewService.setHide(req);
//String jsonStr = "{\"appTerminalType\":\"CMS_WEB_PC\",\"groupNodeCode\":\"\",\"identityId\":1593,\"identityType\":\"PRACTITIONER\",\"msgState\":\"HAS_BEEN_SENT\",\"ouId\":5812,\"page\":1,\"pageSize\":10,\"personId\":2849,\"roleCategory\":\"EXECUTOR\",\"terminalType\":\"WEB\"}";
//PendingMessagePageRequest request = JSON.parseObject(jsonStr, PendingMessagePageRequest.class);
//Page<PendingMessageResponse> pendingMessageResponsePage = pendingMessageNewService.pageQuery(request);
//System.out.println();
//pendingMessageNewService.complete("650d3eaa3d3a4064b34a64b7b1c8dffb");
//pendingMessageNewService.completeById(CompletePendingMessageByIdRequest.builder().id(20578L).build());
//pendingMessageNewService.completeByTemplateCodeBizCode(CompletePendingMessageRequest.builder().templateCode("75047e6339484e81bcce244d56fb2363").bizCode("DFX202311231600002").build());