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
public CommonResponse<Void> update(MessageTemplateV3UpdateRequest 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();
}

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.enums.MessageCategoryEnum;
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.MessageTemplateV3CreateRequest;
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.response.MessageTemplateV3DetailResponse;
import cn.axzo.msg.center.utils.MessageTemplateCategoryUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@ -17,6 +19,7 @@ import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.commons.collections.CollectionUtils;
import java.io.Serializable;
import java.util.List;
@ -105,15 +108,53 @@ public class MessageTemplateV3SaveOrUpdateParam implements Serializable {
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) {
MessageCategoryEnum category = MessageTemplateCategoryUtil
.checkAndReturnSubCategory(request.getCategory(), request.getSubCategory())
.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()
.templateName(request.getTemplateName())
.detailStyleCode(request.getDetailStyleCode())
.operatorId(request.getOperatorId())
.operatorName(request.getOperatorName())
.createPersonId(request.getOperatorId())
.createPersonName(request.getOperatorName())
.msgCategory(category)
.leafGroupNodes(request.getLeafGroupNodes())
.title(request.getMsgTitle())
@ -126,14 +167,37 @@ public class MessageTemplateV3SaveOrUpdateParam implements Serializable {
.pushTerminals(request.getPushTerminals())
.cardJump(request.getCardJump())
.pushData(request.getPushData())
.status(StatusEnum.ENABLE)
.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()
.templateName(request.getTemplateName())
.detailStyleCode(request.getDetailStyleCode())
.operatorName(request.getOperatorName())
.updatePersonId(request.getOperatorId())
.updatePersonName(request.getOperatorName())
.createPersonId(detail.getCreatePersonId())
.createPersonName(detail.getCreatePersonName())
.templateCode(request.getTemplateCode())
.leafGroupNodes(request.getLeafGroupNodes())
.title(request.getMsgTitle())

View File

@ -41,7 +41,7 @@ public class MessageTemplateButtonV3ServiceImpl implements MessageTemplateButton
MessageTemplateButtonV3 buttonV3 = BeanUtil.copyProperties(item, MessageTemplateButtonV3.class);
buttonV3.setTemplateCode(messageTemplateCode);
buttonV3.setPriority(priority.getAndIncrement());
buttonV3.setCode(UUIDUtil.uuidString());
buttonV3.setCode(StringUtils.isNotBlank(item.getBtnCode()) ? item.getBtnCode() : UUIDUtil.uuidString());
return buttonV3;
}).collect(Collectors.toList());
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.setPushTerminal(JSONObjectUtil.toJSONString(param.getPushTerminals()));
template.setMinAppVersion(param.getMinAppVersion());
// template.setCreatorId(param.getOperatorId());
// template.setUpdaterId(param.getOperatorId());
template.setCreatePersonId(param.getOperatorId());
template.setCreatePersonName(param.getOperatorName());
template.setUpdatePersonId(param.getOperatorId());
template.setUpdatePersonName(param.getOperatorName());
template.setCreatePersonId(param.getCreatePersonId());
template.setCreatePersonName(param.getCreatePersonName());
template.setUpdatePersonId(param.getUpdatePersonId());
template.setUpdatePersonName(param.getUpdatePersonName());
template.setPushData(param.getPushData());
if (Objects.nonNull(param) && Objects.nonNull(param.getCardJump())) {
if (Objects.nonNull(param.getCardJump().getCardUrlOpenStrategy())) {
@ -351,6 +349,7 @@ public class MessageTemplateV3ServiceImpl implements MessageTemplateV3Service {
template.setCardUrlConfig(param.getCardJump().getCardUrlConfig());
}
}
template.setStatus(param.getStatus());
return template;
}
@ -503,6 +502,7 @@ public class MessageTemplateV3ServiceImpl implements MessageTemplateV3Service {
buttons = buttonV3List.stream().map(item -> {
MessageTemplateButtonV3DTO messageTemplateButtonV3DTO = BeanUtil.copyProperties(item, MessageTemplateButtonV3DTO.class);
messageTemplateButtonV3DTO.setIdentityCode(item.getCode());
messageTemplateButtonV3DTO.setBtnCode(item.getCode());
return messageTemplateButtonV3DTO;
}).collect(Collectors.toList());
}

View File

@ -11,7 +11,6 @@ import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.List;
@ -89,6 +88,34 @@ public class MessageTemplateButtonV3DTO implements Serializable {
*/
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处都要记得改
*/

View File

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