fix: 修正敏感词过滤逻辑,并改为枚举类型

pull/87/head
徐顺钞 4 months ago
parent f2d1fb2831
commit 36b3e9c785

@ -2,6 +2,8 @@ package com.java3y.austin.handler.action;
import com.java3y.austin.common.domain.TaskInfo; import com.java3y.austin.common.domain.TaskInfo;
import com.java3y.austin.common.dto.model.*; import com.java3y.austin.common.dto.model.*;
import com.java3y.austin.common.enums.ChannelType;
import com.java3y.austin.common.enums.EnumUtil;
import com.java3y.austin.common.pipeline.BusinessProcess; import com.java3y.austin.common.pipeline.BusinessProcess;
import com.java3y.austin.common.pipeline.ProcessContext; import com.java3y.austin.common.pipeline.ProcessContext;
import com.java3y.austin.handler.config.SensitiveWordsConfig; import com.java3y.austin.handler.config.SensitiveWordsConfig;
@ -41,69 +43,61 @@ public class SensWordsAction implements BusinessProcess<TaskInfo> {
if (ObjectUtils.isEmpty(sensDict)) { if (ObjectUtils.isEmpty(sensDict)) {
return; return;
} }
switch (context.getProcessModel().getMsgType()) { ChannelType channelType = EnumUtil.getEnumByCode(context.getProcessModel().getSendChannel(), ChannelType.class);
// IM if (Objects.isNull(channelType)) {
case 10: return;
}
switch (channelType) {
case IM:
// 无文本内容,暂不做过滤处理 // 无文本内容,暂不做过滤处理
break; break;
// PUSH case PUSH:
case 20:
PushContentModel pushContentModel = PushContentModel pushContentModel =
(PushContentModel) context.getProcessModel().getContentModel(); (PushContentModel) context.getProcessModel().getContentModel();
pushContentModel.setContent(filter(pushContentModel.getContent(), sensDict)); pushContentModel.setContent(filter(pushContentModel.getContent(), sensDict));
break; break;
// SMS case SMS:
case 30:
SmsContentModel smsContentModel = SmsContentModel smsContentModel =
(SmsContentModel) context.getProcessModel().getContentModel(); (SmsContentModel) context.getProcessModel().getContentModel();
smsContentModel.setContent(filter(smsContentModel.getContent(), sensDict)); smsContentModel.setContent(filter(smsContentModel.getContent(), sensDict));
break; break;
// EMAIL case EMAIL:
case 40:
EmailContentModel emailContentModel = EmailContentModel emailContentModel =
(EmailContentModel) context.getProcessModel().getContentModel(); (EmailContentModel) context.getProcessModel().getContentModel();
emailContentModel.setContent(filter(emailContentModel.getContent(), sensDict)); emailContentModel.setContent(filter(emailContentModel.getContent(), sensDict));
break; break;
// OFFICIAL_ACCOUNT case OFFICIAL_ACCOUNT:
case 50:
// 无文本内容,暂不做过滤处理 // 无文本内容,暂不做过滤处理
break; break;
// MINI_PROGRAM case MINI_PROGRAM:
case 60:
// 无文本内容,暂不做过滤处理 // 无文本内容,暂不做过滤处理
break; break;
// ENTERPRISE_WE_CHAT case ENTERPRISE_WE_CHAT:
case 70:
EnterpriseWeChatContentModel enterpriseWeChatContentModel = EnterpriseWeChatContentModel enterpriseWeChatContentModel =
(EnterpriseWeChatContentModel) context.getProcessModel().getContentModel(); (EnterpriseWeChatContentModel) context.getProcessModel().getContentModel();
enterpriseWeChatContentModel.setContent(filter(enterpriseWeChatContentModel.getContent(), sensDict)); enterpriseWeChatContentModel.setContent(filter(enterpriseWeChatContentModel.getContent(), sensDict));
break; break;
// DING_DING_ROBOT case DING_DING_ROBOT:
case 80:
DingDingRobotContentModel dingDingRobotContentModel = DingDingRobotContentModel dingDingRobotContentModel =
(DingDingRobotContentModel) context.getProcessModel().getContentModel(); (DingDingRobotContentModel) context.getProcessModel().getContentModel();
dingDingRobotContentModel.setContent(filter(dingDingRobotContentModel.getContent(), sensDict)); dingDingRobotContentModel.setContent(filter(dingDingRobotContentModel.getContent(), sensDict));
break; break;
// DING_DING_WORK_NOTICE case DING_DING_WORK_NOTICE:
case 90:
DingDingWorkContentModel dingDingWorkContentModel = DingDingWorkContentModel dingDingWorkContentModel =
(DingDingWorkContentModel) context.getProcessModel().getContentModel(); (DingDingWorkContentModel) context.getProcessModel().getContentModel();
dingDingWorkContentModel.setContent(filter(dingDingWorkContentModel.getContent(), sensDict)); dingDingWorkContentModel.setContent(filter(dingDingWorkContentModel.getContent(), sensDict));
break; break;
// ENTERPRISE_WE_CHAT_ROBOT case ENTERPRISE_WE_CHAT_ROBOT:
case 100:
EnterpriseWeChatRobotContentModel enterpriseWeChatRobotContentModel = EnterpriseWeChatRobotContentModel enterpriseWeChatRobotContentModel =
(EnterpriseWeChatRobotContentModel) context.getProcessModel().getContentModel(); (EnterpriseWeChatRobotContentModel) context.getProcessModel().getContentModel();
enterpriseWeChatRobotContentModel.setContent(filter(enterpriseWeChatRobotContentModel.getContent(), sensDict)); enterpriseWeChatRobotContentModel.setContent(filter(enterpriseWeChatRobotContentModel.getContent(), sensDict));
break; break;
// FEI_SHU_ROBOT case FEI_SHU_ROBOT:
case 110:
FeiShuRobotContentModel feiShuRobotContentModel = FeiShuRobotContentModel feiShuRobotContentModel =
(FeiShuRobotContentModel) context.getProcessModel().getContentModel(); (FeiShuRobotContentModel) context.getProcessModel().getContentModel();
feiShuRobotContentModel.setContent(filter(feiShuRobotContentModel.getContent(), sensDict)); feiShuRobotContentModel.setContent(filter(feiShuRobotContentModel.getContent(), sensDict));
break; break;
// ALIPAY_MINI_PROGRAM case ALIPAY_MINI_PROGRAM:
case 120:
// 无文本内容,暂不做过滤处理 // 无文本内容,暂不做过滤处理
break; break;
default: default:

Loading…
Cancel
Save