REQ-3201: 修复查询模版的表的问题
This commit is contained in:
parent
1696f0db9f
commit
683a26a1eb
@ -1,14 +1,13 @@
|
||||
package cn.axzo.msg.center.message.domain.dto;
|
||||
|
||||
import cn.axzo.im.center.api.feign.SendPriority;
|
||||
import cn.axzo.msg.center.domain.entity.MessageBaseTemplate;
|
||||
import cn.axzo.msg.center.domain.entity.MessageTemplateV3;
|
||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO.MessageRouteButtonDTO;
|
||||
import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO;
|
||||
import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum;
|
||||
import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.PushTerminalEnum;
|
||||
import cn.axzo.msg.center.service.enums.RouterCategoryEnum;
|
||||
import cn.axzo.msg.center.utils.JSONObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.AllArgsConstructor;
|
||||
@ -131,7 +130,7 @@ public class MessageTemplateDTO implements Serializable {
|
||||
return routeDetail.getJumpStrategy() == BizDetailJumpStrategyEnum.BUSINESS;
|
||||
}
|
||||
|
||||
public static MessageTemplateDTO from(MessageBaseTemplate baseTemplate, MessageTemplateRouterDTO msgTemplateRouter) {
|
||||
public static MessageTemplateDTO from(MessageTemplateV3 baseTemplate, MessageTemplateRouterDTO msgTemplateRouter) {
|
||||
// 业务详情展示策略
|
||||
return MessageTemplateDTO.builder()
|
||||
.id(baseTemplate.getId())
|
||||
@ -140,7 +139,6 @@ public class MessageTemplateDTO implements Serializable {
|
||||
.detailStyleCode(baseTemplate.getDetailStyleCode())
|
||||
.title(baseTemplate.getTitle())
|
||||
.content(baseTemplate.getContent())
|
||||
.msgCardContentItems(JSONObjectUtil.parseArray(baseTemplate.getCardContent(), MessageCardContentItemDTO.class))
|
||||
.msgCategory(baseTemplate.getMsgCategory())
|
||||
.icon(baseTemplate.getIcon())
|
||||
.msgTemplateRouter(msgTemplateRouter)
|
||||
|
||||
@ -6,7 +6,9 @@ import cn.axzo.msg.center.common.enums.TableIsDeleteEnum;
|
||||
import cn.axzo.msg.center.common.redis.RedisUtil;
|
||||
import cn.axzo.msg.center.common.utils.PageHelperUtil;
|
||||
import cn.axzo.msg.center.dal.MessageBaseTemplateDao;
|
||||
import cn.axzo.msg.center.dal.MessageTemplateV3Dao;
|
||||
import cn.axzo.msg.center.domain.entity.MessageBaseTemplate;
|
||||
import cn.axzo.msg.center.domain.entity.MessageTemplateV3;
|
||||
import cn.axzo.msg.center.inside.notices.config.DetailStyleInfo;
|
||||
import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig;
|
||||
import cn.axzo.msg.center.message.domain.dto.GroupTreeNodePathDTO;
|
||||
@ -22,7 +24,6 @@ import cn.axzo.msg.center.message.service.MessageTemplateRouterService;
|
||||
import cn.axzo.msg.center.message.service.group.GroupTemplateService;
|
||||
import cn.axzo.msg.center.service.dto.MessageBaseTemplateDTO;
|
||||
import cn.axzo.msg.center.service.dto.MessageButtonRouteStrategyDTO;
|
||||
import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO;
|
||||
import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.PushTerminalEnum;
|
||||
import cn.axzo.msg.center.service.enums.StatusEnum;
|
||||
@ -39,7 +40,6 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -83,6 +83,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
private final MessageTemplateRouterService messageTemplateRouterService;
|
||||
private final PendingMessageBizConfig pendingBizConfig;
|
||||
private final GroupTemplateService groupTemplateService;
|
||||
private final MessageTemplateV3Dao messageTemplateV3Dao;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -112,9 +113,9 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
if (StringUtils.isBlank(templateCode)) {
|
||||
return null;
|
||||
}
|
||||
MessageBaseTemplate baseTemplate = messageBaseTemplateDao.lambdaQuery()
|
||||
.eq(MessageBaseTemplate::getCode, templateCode)
|
||||
.eq(MessageBaseTemplate::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
MessageTemplateV3 baseTemplate = messageTemplateV3Dao.lambdaQuery()
|
||||
.eq(MessageTemplateV3::getCode, templateCode)
|
||||
.eq(MessageTemplateV3::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.one();
|
||||
if (Objects.isNull(baseTemplate)) {
|
||||
log.info("there is not any template match the templateCode:[{}]", templateCode);
|
||||
@ -149,10 +150,10 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
log.info("msgTemplateCode is blank.");
|
||||
return Optional.empty();
|
||||
}
|
||||
MessageBaseTemplate msgBaseTemplate = messageBaseTemplateDao.lambdaQuery()
|
||||
.eq(MessageBaseTemplate::getCode, msgTemplateCode)
|
||||
.eq(MessageBaseTemplate::getIsDelete, 0)
|
||||
.eq(MessageBaseTemplate::getStatus, StatusEnum.ENABLE)
|
||||
MessageTemplateV3 msgBaseTemplate = messageTemplateV3Dao.lambdaQuery()
|
||||
.eq(MessageTemplateV3::getCode, msgTemplateCode)
|
||||
.eq(MessageTemplateV3::getIsDelete, 0)
|
||||
.eq(MessageTemplateV3::getStatus, StatusEnum.ENABLE)
|
||||
.one();
|
||||
if (Objects.isNull(msgBaseTemplate)) {
|
||||
log.info("not find the [{}] template.", msgTemplateCode);
|
||||
@ -170,9 +171,9 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
log.info("msgTemplateCodes is empty.");
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<MessageBaseTemplate> msgBaseTemplates = messageBaseTemplateDao.lambdaQuery()
|
||||
.in(MessageBaseTemplate::getCode, msgTemplateCodes)
|
||||
.eq(MessageBaseTemplate::getIsDelete, 0)
|
||||
List<MessageTemplateV3> msgBaseTemplates = messageTemplateV3Dao.lambdaQuery()
|
||||
.in(MessageTemplateV3::getCode, msgTemplateCodes)
|
||||
.eq(MessageTemplateV3::getIsDelete, 0)
|
||||
.list();
|
||||
if (Objects.isNull(msgBaseTemplates)) {
|
||||
log.info("not find the [{}] templates.", msgTemplateCodes);
|
||||
@ -187,13 +188,13 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
|
||||
@Override
|
||||
public Page<MessageTemplatePageResponse> page(MessageTemplatePageRequest request) {
|
||||
IPage<MessageBaseTemplate> result = pageQueryBaseTemplate(request);
|
||||
IPage<MessageTemplateV3> result = pageQueryBaseTemplate(request);
|
||||
if (Objects.isNull(result)
|
||||
|| CollectionUtils.isEmpty(result.getRecords())) {
|
||||
return PageHelperUtil.emptyPage(request.getPage(), request.getPageSize());
|
||||
}
|
||||
List<String> templateCodes = result.getRecords().stream()
|
||||
.map(MessageBaseTemplate::getCode)
|
||||
.map(MessageTemplateV3::getCode)
|
||||
.collect(Collectors.toList());
|
||||
Map<String, List<String>> groupNodePaths = messageTemplateGroupService
|
||||
.listMessageTemplateGroupPaths(templateCodes);
|
||||
@ -207,7 +208,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
|
||||
@Override
|
||||
public Page<MessageBaseTemplateDTO> pageBaseTemplate(MessageTemplatePageRequest request) {
|
||||
IPage<MessageBaseTemplate> result = pageQueryBaseTemplate(request);
|
||||
IPage<MessageTemplateV3> result = pageQueryBaseTemplate(request);
|
||||
if (Objects.isNull(result)
|
||||
|| CollectionUtils.isEmpty(result.getRecords())) {
|
||||
return PageHelperUtil.emptyPage(request.getPage(), request.getPageSize());
|
||||
@ -226,12 +227,12 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
}
|
||||
AssertUtil.isTrue(templateCodes.size() <= MAX_NUM_ONCE_QUERY, "the collection of templateCodes is too large");
|
||||
// 查询模板基础数据
|
||||
List<MessageBaseTemplate> records = messageBaseTemplateDao.lambdaQuery()
|
||||
.in(MessageBaseTemplate::getCode, templateCodes)
|
||||
.eq(MessageBaseTemplate::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
List<MessageTemplateV3> records = messageTemplateV3Dao.lambdaQuery()
|
||||
.in(MessageTemplateV3::getCode, templateCodes)
|
||||
.eq(MessageTemplateV3::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.list();
|
||||
// 查询模板的分类结点编码path
|
||||
templateCodes = records.stream().map(MessageBaseTemplate::getCode).collect(Collectors.toList());
|
||||
templateCodes = records.stream().map(MessageTemplateV3::getCode).collect(Collectors.toList());
|
||||
Map<String, List<String>> groupNodePaths = messageTemplateGroupService
|
||||
.listMessageTemplateGroupPaths(templateCodes);
|
||||
// 将模板分类结点编码path转化为分类名称path
|
||||
@ -249,19 +250,19 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
log.info("ids is empty.");
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return messageBaseTemplateDao.lambdaQuery()
|
||||
.in(MessageBaseTemplate::getId, ids)
|
||||
.select(MessageBaseTemplate::getCode)
|
||||
return messageTemplateV3Dao.lambdaQuery()
|
||||
.in(MessageTemplateV3::getId, ids)
|
||||
.select(MessageTemplateV3::getCode)
|
||||
.list().stream()
|
||||
.map(MessageBaseTemplate::getCode)
|
||||
.map(MessageTemplateV3::getCode)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public MessageTemplateDetailResponse querySyncMessageTemplate(String templateCode) {
|
||||
MessageBaseTemplate baseTemplate = messageBaseTemplateDao.lambdaQuery()
|
||||
.eq(MessageBaseTemplate::getCode, templateCode)
|
||||
.eq(MessageBaseTemplate::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
MessageTemplateV3 baseTemplate = messageTemplateV3Dao.lambdaQuery()
|
||||
.eq(MessageTemplateV3::getCode, templateCode)
|
||||
.eq(MessageTemplateV3::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.one();
|
||||
if (Objects.isNull(baseTemplate)) {
|
||||
log.info("there is not any template match the templateCode:[{}]", templateCode);
|
||||
@ -387,7 +388,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
}
|
||||
}
|
||||
|
||||
private IPage<MessageBaseTemplate> pageQueryBaseTemplate(MessageTemplatePageRequest request) {
|
||||
private IPage<MessageTemplateV3> pageQueryBaseTemplate(MessageTemplatePageRequest request) {
|
||||
List<String> templateCodes = Lists.newArrayList();
|
||||
if (StringUtils.isNotBlank(request.getGroupNodeCode())) {
|
||||
templateCodes = groupTemplateService.collectTemplateCodes(request.getGroupNodeCode());
|
||||
@ -405,7 +406,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
// 取两者的交集
|
||||
templateCodes = Lists.newArrayList(request.getTemplateCode());
|
||||
}
|
||||
IPage<MessageBaseTemplate> pageRequest = request.toPage();
|
||||
IPage<MessageTemplateV3> pageRequest = request.toPage();
|
||||
String title = request.getTitle();
|
||||
if (title != null) {
|
||||
title = title.trim();
|
||||
@ -415,36 +416,35 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
content = content.trim();
|
||||
}
|
||||
|
||||
return messageBaseTemplateDao.lambdaQuery()
|
||||
.like(StringUtils.isNotBlank(title), MessageBaseTemplate::getTitle, title)
|
||||
.like(StringUtils.isNotBlank(content), MessageBaseTemplate::getContent, content)
|
||||
return messageTemplateV3Dao.lambdaQuery()
|
||||
.like(StringUtils.isNotBlank(title), MessageTemplateV3::getTitle, title)
|
||||
.like(StringUtils.isNotBlank(content), MessageTemplateV3::getContent, content)
|
||||
.apply(BooleanUtils.isFalse(request.pushSwitchOn), "(json_extract(push_data, '$.switchOn') is null or json_extract(push_data, '$.switchOn') = false)")
|
||||
.apply(BooleanUtils.isTrue(request.pushSwitchOn), "json_extract(push_data, '$.switchOn') = true")
|
||||
.like(StringUtils.isNotBlank(request.getTemplateName()),
|
||||
MessageBaseTemplate::getName, request.getTemplateName())
|
||||
.in(CollectionUtils.isNotEmpty(templateCodes), MessageBaseTemplate::getCode, templateCodes)
|
||||
.in(CollectionUtils.isNotEmpty(request.getCategories()), MessageBaseTemplate::getMsgCategory,
|
||||
MessageTemplateV3::getName, request.getTemplateName())
|
||||
.in(CollectionUtils.isNotEmpty(templateCodes), MessageTemplateV3::getCode, templateCodes)
|
||||
.in(CollectionUtils.isNotEmpty(request.getCategories()), MessageTemplateV3::getMsgCategory,
|
||||
request.getCategories())
|
||||
.eq(Objects.nonNull(request.getStatus()), MessageBaseTemplate::getStatus, request.getStatus())
|
||||
.orderByDesc(MessageBaseTemplate::getCreateAt)
|
||||
.eq(Objects.nonNull(request.getStatus()), MessageTemplateV3::getStatus, request.getStatus())
|
||||
.orderByDesc(MessageTemplateV3::getCreateAt)
|
||||
.page(pageRequest);
|
||||
}
|
||||
|
||||
private MessageBaseTemplateDTO convert(MessageBaseTemplate record) {
|
||||
private MessageBaseTemplateDTO convert(MessageTemplateV3 record) {
|
||||
return MessageBaseTemplateDTO.builder()
|
||||
.name(record.getName())
|
||||
.code(record.getCode())
|
||||
.msgCategory(record.getMsgCategory())
|
||||
.title(record.getTitle())
|
||||
.content(record.getContent())
|
||||
.cardContentItems(JSONObjectUtil.parseArray(record.getCardContent(), MessageCardContentItemDTO.class))
|
||||
.icon(record.getIcon())
|
||||
.pushTerminals(JSON.parseArray(record.getPushTerminal(), PushTerminalEnum.class))
|
||||
.createTimestamp(record.getCreateAt().getTime())
|
||||
.build();
|
||||
}
|
||||
|
||||
private MessageTemplatePageResponse convert(MessageBaseTemplate record, Map<String, List<String>> groupNodePaths,
|
||||
private MessageTemplatePageResponse convert(MessageTemplateV3 record, Map<String, List<String>> groupNodePaths,
|
||||
Map<String, String> codeNameMap) {
|
||||
MessageDetailStyle styleType = pendingBizConfig
|
||||
.findMessageDetailType(record.getDetailStyleCode())
|
||||
@ -478,7 +478,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
return response;
|
||||
}
|
||||
|
||||
private MessageTemplateDetailResponse convert(MessageBaseTemplate record, List<String> groupNodePaths,
|
||||
private MessageTemplateDetailResponse convert(MessageTemplateV3 record, List<String> groupNodePaths,
|
||||
MessageTemplateRouterDTO msgTemplateRouter) {
|
||||
List<String> groupNodeCodes = Lists.newArrayList();
|
||||
if (CollUtil.isNotEmpty(groupNodePaths)) {
|
||||
@ -499,7 +499,6 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
.pushTerminals(JSON.parseArray(record.getPushTerminal(), PushTerminalEnum.class))
|
||||
.msgTitle(record.getTitle())
|
||||
.msgContent(record.getContent())
|
||||
.cardContentItems(JSONObjectUtil.parseArray(record.getCardContent(), MessageCardContentItemDTO.class))
|
||||
.msgIcon(record.getIcon())
|
||||
.detailStrategy(MessageRouterUtil.fetchBizDetailShowStrategy(msgTemplateRouter).orElse(null))
|
||||
.routers(MessageRouterUtil.fetchMessageRouterButtonStrategies(msgTemplateRouter))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user