hotfix: 更新模版时,不重新生成自定义按钮的code
This commit is contained in:
parent
940c9c6c9a
commit
b902ef6a68
@ -16,6 +16,15 @@ import cn.axzo.msg.center.service.enums.RouterCategoryEnum;
|
||||
import cn.axzo.msg.center.utils.UUIDUtil;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@ -26,14 +35,6 @@ import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @description
|
||||
@ -79,7 +80,7 @@ public class MessageTemplateRouterServiceImpl implements MessageTemplateRouterSe
|
||||
return;
|
||||
}
|
||||
saveDetailRouter(router.getRouteDetail());
|
||||
batchSaveButtonRouter(router.getRouteButtons());
|
||||
batchSaveButtonRouter(router.getRouteButtons(), isUpdate);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -220,7 +221,7 @@ public class MessageTemplateRouterServiceImpl implements MessageTemplateRouterSe
|
||||
messageRouterConfigDao.saveBatch(detailRouter.fetchMessageRouterConfigs());
|
||||
}
|
||||
|
||||
private void batchSaveButtonRouter(List<MessageRouteButtonDTO> buttonRouters) {
|
||||
private void batchSaveButtonRouter(List<MessageRouteButtonDTO> buttonRouters, boolean isUpdate) {
|
||||
if (CollectionUtils.isEmpty(buttonRouters)) {
|
||||
log.info("buttonRouters is empty.");
|
||||
return;
|
||||
@ -230,7 +231,7 @@ public class MessageTemplateRouterServiceImpl implements MessageTemplateRouterSe
|
||||
.map(e -> MessageRouteButtonWrapper.of(e.fetchMessageRouteButton(), e))
|
||||
.collect(Collectors.toList());
|
||||
// 生成自定义按钮的唯一标识和顺序
|
||||
buildButtonCodeAndPriority(routeButtonWrappers);
|
||||
buildButtonCodeAndPriority(routeButtonWrappers, isUpdate);
|
||||
// 保存模板对应的按钮路由
|
||||
List<MessageRouteButton> routeButtons = routeButtonWrappers.stream()
|
||||
.map(MessageRouteButtonWrapper::getRouteButton)
|
||||
@ -243,10 +244,10 @@ public class MessageTemplateRouterServiceImpl implements MessageTemplateRouterSe
|
||||
messageRouterConfigDao.saveBatch(routerConfigs);
|
||||
}
|
||||
|
||||
private void buildButtonCodeAndPriority(List<MessageRouteButtonWrapper> routeButtonWrappers) {
|
||||
private void buildButtonCodeAndPriority(List<MessageRouteButtonWrapper> routeButtonWrappers, boolean isUpdate) {
|
||||
for (int i = 0; i < routeButtonWrappers.size(); i++) {
|
||||
MessageRouteButton button = routeButtonWrappers.get(i).getRouteButton();
|
||||
if (RouterButtonSourceEnum.CUSTOM.equals(button.getSource())) {
|
||||
if (!isUpdate && RouterButtonSourceEnum.CUSTOM.equals(button.getSource())) {
|
||||
// 这里仅对自定义的按钮设置按钮标识
|
||||
button.setBtnCode(UUIDUtil.uuidString());
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user