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 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 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); } }