feat:(REQ-3045) 模版管理V3-buttons中加上apiUrl

This commit is contained in:
xudawei 2024-10-11 18:01:56 +08:00
parent 5c78b6a3ca
commit 84e18a4d0b
6 changed files with 120 additions and 10 deletions

View File

@ -62,7 +62,8 @@ public class MessageTemplateV3Controller implements MessageTemplateV3Client {
@Override @Override
public CommonResponse<Void> update(MessageTemplateV3UpdateRequest request) { public CommonResponse<Void> update(MessageTemplateV3UpdateRequest request) {
log.info("MessageTemplateV3Controller#update,request:{}", JSON.toJSONString(request)); log.info("MessageTemplateV3Controller#update,request:{}", JSON.toJSONString(request));
messageTemplateV3Service.updateTemplate(MessageTemplateV3SaveOrUpdateParam.from(request)); MessageTemplateV3DetailResponse detail = messageTemplateV3Service.detail(request.getTemplateCode());
messageTemplateV3Service.updateTemplate(MessageTemplateV3SaveOrUpdateParam.from(request, detail));
return CommonResponse.success(); return CommonResponse.success();
} }

View File

@ -5,10 +5,12 @@ import cn.axzo.msg.center.service.dto.MessageTemplateButtonV3DTO;
import cn.axzo.msg.center.service.dto.MessageTemplateCardJumpV3DTO; import cn.axzo.msg.center.service.dto.MessageTemplateCardJumpV3DTO;
import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
import cn.axzo.msg.center.service.enums.PushTerminalEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum;
import cn.axzo.msg.center.service.enums.StatusEnum;
import cn.axzo.msg.center.service.template.request.MessageTemplateGroupV3CreateRequest; import cn.axzo.msg.center.service.template.request.MessageTemplateGroupV3CreateRequest;
import cn.axzo.msg.center.service.template.request.MessageTemplateV3CreateRequest; import cn.axzo.msg.center.service.template.request.MessageTemplateV3CreateRequest;
import cn.axzo.msg.center.service.template.request.MessageTemplateV3DeleteRequest; import cn.axzo.msg.center.service.template.request.MessageTemplateV3DeleteRequest;
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateRequest; import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateRequest;
import cn.axzo.msg.center.service.template.response.MessageTemplateV3DetailResponse;
import cn.axzo.msg.center.utils.MessageTemplateCategoryUtil; import cn.axzo.msg.center.utils.MessageTemplateCategoryUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -17,6 +19,7 @@ import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import org.apache.commons.collections.CollectionUtils;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@ -105,15 +108,53 @@ public class MessageTemplateV3SaveOrUpdateParam implements Serializable {
private JSONObject pushData; private JSONObject pushData;
/**
* 模板状态
*/
private StatusEnum status;
/**
* 操作者的自然人id
*/
private Long createPersonId;
/**
* 操作人人姓名
*/
private String createPersonName;
/**
* 更新人id
*/
private Long updatePersonId;
/**
* 更新人姓名
*/
private String updatePersonName;
public static MessageTemplateV3SaveOrUpdateParam from(MessageTemplateV3CreateRequest request) { public static MessageTemplateV3SaveOrUpdateParam from(MessageTemplateV3CreateRequest request) {
MessageCategoryEnum category = MessageTemplateCategoryUtil MessageCategoryEnum category = MessageTemplateCategoryUtil
.checkAndReturnSubCategory(request.getCategory(), request.getSubCategory()) .checkAndReturnSubCategory(request.getCategory(), request.getSubCategory())
.orElseThrow(() -> new ServiceException("无效的参数")); .orElseThrow(() -> new ServiceException("无效的参数"));
if (CollectionUtils.isNotEmpty(request.getGroups())) {
request.getGroups().forEach(item -> {
item.setCreatePersonId(request.getOperatorId());
item.setCreatePersonName(request.getOperatorName());
});
}
if (CollectionUtils.isNotEmpty(request.getButtons())) {
request.getButtons().forEach(item -> {
item.setCreatePersonId(request.getOperatorId());
item.setCreatePersonName(request.getOperatorName());
});
}
return MessageTemplateV3SaveOrUpdateParam.builder() return MessageTemplateV3SaveOrUpdateParam.builder()
.templateName(request.getTemplateName()) .templateName(request.getTemplateName())
.detailStyleCode(request.getDetailStyleCode()) .detailStyleCode(request.getDetailStyleCode())
.operatorId(request.getOperatorId()) .operatorId(request.getOperatorId())
.operatorName(request.getOperatorName()) .operatorName(request.getOperatorName())
.createPersonId(request.getOperatorId())
.createPersonName(request.getOperatorName())
.msgCategory(category) .msgCategory(category)
.leafGroupNodes(request.getLeafGroupNodes()) .leafGroupNodes(request.getLeafGroupNodes())
.title(request.getMsgTitle()) .title(request.getMsgTitle())
@ -126,14 +167,37 @@ public class MessageTemplateV3SaveOrUpdateParam implements Serializable {
.pushTerminals(request.getPushTerminals()) .pushTerminals(request.getPushTerminals())
.cardJump(request.getCardJump()) .cardJump(request.getCardJump())
.pushData(request.getPushData()) .pushData(request.getPushData())
.status(StatusEnum.ENABLE)
.build(); .build();
} }
public static MessageTemplateV3SaveOrUpdateParam from(MessageTemplateV3UpdateRequest request) { public static MessageTemplateV3SaveOrUpdateParam from(MessageTemplateV3UpdateRequest request, MessageTemplateV3DetailResponse detail) {
if (CollectionUtils.isNotEmpty(request.getGroups())) {
request.getGroups().forEach(item -> {
item.setCreatePersonId(detail.getCreatePersonId());
item.setCreatePersonName(detail.getCreatePersonName());
item.setUpdatePersonId(request.getOperatorId());
item.setUpdatePersonName(request.getOperatorName());
});
}
if (CollectionUtils.isNotEmpty(request.getButtons())) {
request.getButtons().forEach(item -> {
item.setCreatePersonId(detail.getCreatePersonId());
item.setCreatePersonName(detail.getCreatePersonName());
item.setUpdatePersonId(request.getOperatorId());
item.setUpdatePersonName(request.getOperatorName());
});
}
return MessageTemplateV3SaveOrUpdateParam.builder() return MessageTemplateV3SaveOrUpdateParam.builder()
.templateName(request.getTemplateName()) .templateName(request.getTemplateName())
.detailStyleCode(request.getDetailStyleCode()) .detailStyleCode(request.getDetailStyleCode())
.operatorName(request.getOperatorName()) .operatorName(request.getOperatorName())
.updatePersonId(request.getOperatorId())
.updatePersonName(request.getOperatorName())
.createPersonId(detail.getCreatePersonId())
.createPersonName(detail.getCreatePersonName())
.templateCode(request.getTemplateCode()) .templateCode(request.getTemplateCode())
.leafGroupNodes(request.getLeafGroupNodes()) .leafGroupNodes(request.getLeafGroupNodes())
.title(request.getMsgTitle()) .title(request.getMsgTitle())

View File

@ -41,7 +41,7 @@ public class MessageTemplateButtonV3ServiceImpl implements MessageTemplateButton
MessageTemplateButtonV3 buttonV3 = BeanUtil.copyProperties(item, MessageTemplateButtonV3.class); MessageTemplateButtonV3 buttonV3 = BeanUtil.copyProperties(item, MessageTemplateButtonV3.class);
buttonV3.setTemplateCode(messageTemplateCode); buttonV3.setTemplateCode(messageTemplateCode);
buttonV3.setPriority(priority.getAndIncrement()); buttonV3.setPriority(priority.getAndIncrement());
buttonV3.setCode(UUIDUtil.uuidString()); buttonV3.setCode(StringUtils.isNotBlank(item.getBtnCode()) ? item.getBtnCode() : UUIDUtil.uuidString());
return buttonV3; return buttonV3;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("ButtonV3#saveTemplateButton,code:{},buttonV3s:{}",messageTemplateCode, JSON.toJSONString(buttonV3s)); log.info("ButtonV3#saveTemplateButton,code:{},buttonV3s:{}",messageTemplateCode, JSON.toJSONString(buttonV3s));

View File

@ -336,12 +336,10 @@ public class MessageTemplateV3ServiceImpl implements MessageTemplateV3Service {
template.setIcon(param.getIcon()); template.setIcon(param.getIcon());
template.setPushTerminal(JSONObjectUtil.toJSONString(param.getPushTerminals())); template.setPushTerminal(JSONObjectUtil.toJSONString(param.getPushTerminals()));
template.setMinAppVersion(param.getMinAppVersion()); template.setMinAppVersion(param.getMinAppVersion());
// template.setCreatorId(param.getOperatorId()); template.setCreatePersonId(param.getCreatePersonId());
// template.setUpdaterId(param.getOperatorId()); template.setCreatePersonName(param.getCreatePersonName());
template.setCreatePersonId(param.getOperatorId()); template.setUpdatePersonId(param.getUpdatePersonId());
template.setCreatePersonName(param.getOperatorName()); template.setUpdatePersonName(param.getUpdatePersonName());
template.setUpdatePersonId(param.getOperatorId());
template.setUpdatePersonName(param.getOperatorName());
template.setPushData(param.getPushData()); template.setPushData(param.getPushData());
if (Objects.nonNull(param) && Objects.nonNull(param.getCardJump())) { if (Objects.nonNull(param) && Objects.nonNull(param.getCardJump())) {
if (Objects.nonNull(param.getCardJump().getCardUrlOpenStrategy())) { if (Objects.nonNull(param.getCardJump().getCardUrlOpenStrategy())) {
@ -351,6 +349,7 @@ public class MessageTemplateV3ServiceImpl implements MessageTemplateV3Service {
template.setCardUrlConfig(param.getCardJump().getCardUrlConfig()); template.setCardUrlConfig(param.getCardJump().getCardUrlConfig());
} }
} }
template.setStatus(param.getStatus());
return template; return template;
} }
@ -503,6 +502,7 @@ public class MessageTemplateV3ServiceImpl implements MessageTemplateV3Service {
buttons = buttonV3List.stream().map(item -> { buttons = buttonV3List.stream().map(item -> {
MessageTemplateButtonV3DTO messageTemplateButtonV3DTO = BeanUtil.copyProperties(item, MessageTemplateButtonV3DTO.class); MessageTemplateButtonV3DTO messageTemplateButtonV3DTO = BeanUtil.copyProperties(item, MessageTemplateButtonV3DTO.class);
messageTemplateButtonV3DTO.setIdentityCode(item.getCode()); messageTemplateButtonV3DTO.setIdentityCode(item.getCode());
messageTemplateButtonV3DTO.setBtnCode(item.getCode());
return messageTemplateButtonV3DTO; return messageTemplateButtonV3DTO;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }

View File

@ -11,7 +11,6 @@ import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@ -89,6 +88,34 @@ public class MessageTemplateButtonV3DTO implements Serializable {
*/ */
private String identityCode; private String identityCode;
/**
* 后端标识
*/
private String btnCode;
/**
* API地址,仅当按钮是接口调用类型时有值
*/
private String apiUrl;
/**
* 操作者的自然人id
*/
private Long createPersonId;
/**
* 操作人人姓名
*/
private String createPersonName;
/**
* 更新人id
*/
private Long updatePersonId;
/**
* 更新人姓名
*/
private String updatePersonName;
/** /**
* <p>要改2处都要记得改 * <p>要改2处都要记得改
*/ */

View File

@ -34,4 +34,22 @@ public class MessageTemplateGroupV3CreateRequest {
*/ */
private GroupConfig groupConfig; private GroupConfig groupConfig;
/**
* 操作者的自然人id
*/
private Long createPersonId;
/**
* 操作人人姓名
*/
private String createPersonName;
/**
* 更新人id
*/
private Long updatePersonId;
/**
* 更新人姓名
*/
private String updatePersonName;
} }