You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.7 KiB
49 lines
1.7 KiB
package com.java3y.austin.action;
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.java3y.austin.domain.MessageParam;
|
|
import com.java3y.austin.domain.SendTaskModel;
|
|
import com.java3y.austin.enums.RespStatusEnum;
|
|
import com.java3y.austin.pipeline.BusinessProcess;
|
|
import com.java3y.austin.pipeline.ProcessContext;
|
|
import com.java3y.austin.vo.BasicResultVO;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
|
|
/**
|
|
* @author 3y
|
|
* @date 2021/11/22
|
|
* @description 前置参数校验
|
|
*/
|
|
@Slf4j
|
|
public class PreParamCheckAction implements BusinessProcess {
|
|
|
|
@Override
|
|
public void process(ProcessContext context) {
|
|
SendTaskModel sendTaskModel = (SendTaskModel) context.getProcessModel();
|
|
|
|
Long messageTemplateId = sendTaskModel.getMessageTemplateId();
|
|
List<MessageParam> messageParamList = sendTaskModel.getMessageParamList();
|
|
|
|
// 没有传入 消息模板Id 或者 messageParam
|
|
if (messageTemplateId == null || CollUtil.isEmpty(messageParamList)) {
|
|
context.setNeedBreak(true).setResponse(BasicResultVO.fail(RespStatusEnum.CLIENT_BAD_PARAMETERS));
|
|
return;
|
|
}
|
|
|
|
// 过滤 receiver=null 的messageParam
|
|
List<MessageParam> resultMessageParamList = messageParamList.stream()
|
|
.filter(messageParam -> !StrUtil.isBlank(messageParam.getReceiver()))
|
|
.collect(Collectors.toList());
|
|
if (CollUtil.isEmpty(resultMessageParamList)) {
|
|
context.setNeedBreak(true).setResponse(BasicResultVO.fail(RespStatusEnum.CLIENT_BAD_PARAMETERS));
|
|
return;
|
|
}
|
|
|
|
sendTaskModel.setMessageParamList(resultMessageParamList);
|
|
}
|
|
}
|