REQ-2318: 分页查询待办时, 如果没有传端就查询所有端的待办

This commit is contained in:
yanglin 2024-06-24 09:45:14 +08:00
parent b2c4699447
commit 907aceb505
3 changed files with 53 additions and 5 deletions

View File

@ -25,7 +25,6 @@ import cn.axzo.msg.center.message.service.todo.pagequery.PageQuerySort;
import cn.axzo.msg.center.message.service.todo.queryanalyze.SimpleAnalyzer; import cn.axzo.msg.center.message.service.todo.queryanalyze.SimpleAnalyzer;
import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum; import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum;
import cn.axzo.msg.center.service.enums.BizCategoryEnum; import cn.axzo.msg.center.service.enums.BizCategoryEnum;
import cn.axzo.msg.center.service.enums.PendingMessageRoleCategoryEnum;
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum; import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
import cn.axzo.msg.center.service.enums.TodoType; import cn.axzo.msg.center.service.enums.TodoType;
import cn.axzo.msg.center.service.pending.request.AnalysisInfo; import cn.axzo.msg.center.service.pending.request.AnalysisInfo;
@ -229,8 +228,13 @@ public class TodoRangeQueryService {
public List<String> determineVisibleTemplateCodes(PendingMessagePageRequest request) { public List<String> determineVisibleTemplateCodes(PendingMessagePageRequest request) {
if (!request.determineGroupNodeCodes().isEmpty()) if (!request.determineGroupNodeCodes().isEmpty())
return groupTemplateService.collectTemplateCodes(request.determineGroupNodeCodes()); return groupTemplateService.collectTemplateCodes(request.determineGroupNodeCodes());
// 获取可见的模版时, 不用定位到叶子节点 List<ValueNode<NodeWrapper>> nodes;
List<ValueNode<NodeWrapper>> nodes = groupTemplateService.getTodoGroups(request.getAppTerminalType()); // 如果没有传端就查询所有端的待办, 用户待办转交
if (request.getAppTerminalType() == null)
nodes = groupTemplateService.getTodoGroups(AppTerminalTypeEnum.allTerminals());
else
// 获取可见的模版时, 不用定位到叶子节点
nodes = groupTemplateService.getTodoGroups(request.getAppTerminalType());
return groupTemplateService.collectTemplateCodes(nodes); return groupTemplateService.collectTemplateCodes(nodes);
} }

View File

@ -43,14 +43,14 @@ public enum AppTerminalTypeEnum {
private final String desc; private final String desc;
public boolean isManageTerminal() { public boolean isManageTerminal() {
return this == B_ENTERPRISE_APP || this == OMS_WEB_PC; return this == B_ENTERPRISE_APP || this == CMS_WEB_PC;
} }
/** /**
* @return 管理终端类型列表 * @return 管理终端类型列表
*/ */
public static List<AppTerminalTypeEnum> manageTerminals() { public static List<AppTerminalTypeEnum> manageTerminals() {
return Arrays.asList(B_ENTERPRISE_APP, OMS_WEB_PC); return Arrays.asList(B_ENTERPRISE_APP, CMS_WEB_PC);
} }
/** /**

View File

@ -0,0 +1,44 @@
package cn.axzo.msg.center.service.pending.client;
import cn.axzo.msg.center.MsgCenterApplication;
import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest;
import cn.axzo.msg.center.service.pending.response.AnalysisPage;
import cn.axzo.msg.center.service.pending.response.PendingMessageResponse;
import cn.azxo.framework.common.model.CommonResponse;
import com.alibaba.fastjson.JSON;
import lombok.RequiredArgsConstructor;
import org.intellij.lang.annotations.Language;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import static org.junit.jupiter.api.Assertions.*;
/**
* @author yanglin
*/
@SpringBootTest(classes = MsgCenterApplication.class)
@RequiredArgsConstructor(onConstructor_ = @Autowired)
class PendingMessageClientTest {
private final PendingMessageClient pendingMessageClient;
@Test
void foo() {
@Language("JSON") String str = "{\n" +
" \"personId\": 22375,\n" +
" \"roleCategory\": \"EXECUTOR\",\n" +
" \"msgState\": \"HAS_BEEN_SENT\",\n" +
" \"ouId\": 7314,\n" +
" \"queryTemplateTerminals\": true,\n" +
" \"a\": {\n" +
" \"collectSql\": true\n" +
" },\n" +
" \"page\": 1,\n" +
" \"pageSize\": 100\n" +
"}";
PendingMessagePageRequest request = JSON.parseObject(str, PendingMessagePageRequest.class);
CommonResponse<AnalysisPage<PendingMessageResponse>> analysisPageCommonResponse = pendingMessageClient.pageQuery(request);
System.out.println();
}
}