Browse Source

对接拼团数据1

master
wangfukang 2 months ago
parent
commit
3cc7336a8d
  1. 2
      hiver-core/src/main/java/cc/hiver/core/entity/Worker.java
  2. 16
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/ie/service/impl/IeSecurityAuditServiceImpl.java

2
hiver-core/src/main/java/cc/hiver/core/entity/Worker.java

@ -72,7 +72,7 @@ public class Worker implements Serializable {
*/ */
@Column(name = "worker_status") @Column(name = "worker_status")
@ApiModelProperty("接单状态 1-可抢单 2-不可接单() 3-已禁用(手工预置状态)") @ApiModelProperty("接单状态 1-可抢单 2-不可接单() 3-已禁用(手工预置状态)")
private Integer workerStatus = 1; private Integer workerStatus;
/** /**
* 配送单量 * 配送单量

16
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/ie/service/impl/IeSecurityAuditServiceImpl.java

@ -15,7 +15,6 @@ import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.houbb.sensitive.word.api.IWordDeny; import com.github.houbb.sensitive.word.api.IWordDeny;
import com.github.houbb.sensitive.word.bs.SensitiveWordBs; import com.github.houbb.sensitive.word.bs.SensitiveWordBs;
import com.github.houbb.sensitive.word.support.deny.WordDenys;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -130,11 +129,16 @@ public class IeSecurityAuditServiceImpl implements IeSecurityAuditService {
result.setBlocked(true); result.setBlocked(true);
result.getHitWords().add("aliyun:" + aliResult.getRiskLevel()); result.getHitWords().add("aliyun:" + aliResult.getRiskLevel());
result.getHitCategories().add(CharSequenceUtil.isBlank(aliResult.getRiskLevel()) ? "aliyun" : aliResult.getRiskLevel()); result.getHitCategories().add(CharSequenceUtil.isBlank(aliResult.getRiskLevel()) ? "aliyun" : aliResult.getRiskLevel());
} else if (maxLevel == 1 && aliResult.isPass() && !isAliyunMediumOrHigh(aliResult.getRiskLevel())) {
// 本地低风险词库容易覆盖地名/常用词。阿里云明确无中高风险时,以阿里云结论为准,避免正常聊天被替换成 ***。
result.setFilteredContent(content);
result.setAuditStatus(IeConstants.AUDIT_PASS);
result.setRiskLevel(IeConstants.RISK_NONE);
} }
} }
if (CollectionUtil.isNotEmpty(result.getHitWords())) { if (CollectionUtil.isNotEmpty(result.getHitWords())) {
auditLogService.recordLog(bizType, bizId, userId, content, filtered, auditLogService.recordLog(bizType, bizId, userId, content, result.getFilteredContent(),
result.getAuditStatus(), result.getRiskLevel(), result.getAuditStatus(), result.getRiskLevel(),
String.join(",", result.getHitWords()), String.join(",", result.getHitWords()),
result.getHitCategories().stream().distinct().collect(Collectors.joining(","))); result.getHitCategories().stream().distinct().collect(Collectors.joining(",")));
@ -164,6 +168,10 @@ public class IeSecurityAuditServiceImpl implements IeSecurityAuditService {
.replace(" ", ""); .replace(" ", "");
} }
private boolean isAliyunMediumOrHigh(String riskLevel) {
return "medium".equalsIgnoreCase(riskLevel) || "high".equalsIgnoreCase(riskLevel);
}
private SensitiveWordBs getSensitiveWordBs() { private SensitiveWordBs getSensitiveWordBs() {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
if (cachedWordBs != null && now < cachedExpireAt) { if (cachedWordBs != null && now < cachedExpireAt) {
@ -188,12 +196,12 @@ public class IeSecurityAuditServiceImpl implements IeSecurityAuditService {
.filter(CharSequenceUtil::isNotBlank) .filter(CharSequenceUtil::isNotBlank)
.collect(Collectors.toList()); .collect(Collectors.toList());
return SensitiveWordBs.newInstance() return SensitiveWordBs.newInstance()
.wordDeny(WordDenys.chains(WordDenys.defaults(), new IWordDeny() { .wordDeny(new IWordDeny() {
@Override @Override
public List<String> deny() { public List<String> deny() {
return denyWords; return denyWords;
} }
})) })
.ignoreCase(true) .ignoreCase(true)
.ignoreWidth(true) .ignoreWidth(true)
.ignoreNumStyle(true) .ignoreNumStyle(true)

Loading…
Cancel
Save