|
|
@@ -751,7 +751,22 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 执行商品发布风控检查
|
|
|
+ * @param goods 商品信息
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void performPublishRiskCheck(SecondGoods goods) {
|
|
|
+ // 检查用户是否在24小时内发布同类商品超过阈值
|
|
|
+ if (!checkUserPublishSameCategoryLimit(goods)) {
|
|
|
+ log.warn("用户 {} 在24小时内发布同类商品次数超过限制", goods.getUserId());
|
|
|
+ }
|
|
|
|
|
|
+ // 检查用户是否在24小时内发布商品超过阈值
|
|
|
+ if (!checkUserPublishLimit(goods)) {
|
|
|
+ log.warn("用户 {} 在24小时内发布商品次数超过限制", goods.getUserId());
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 执行内容审核
|
|
|
@@ -1717,62 +1732,73 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
|
|
|
// 根据审核结果更新商品状态
|
|
|
if ("none".equals(task.getRiskLevel())) {
|
|
|
- // 审核通过
|
|
|
- goods.setGoodsStatus(SecondGoodsStatusEnum.LISTED.getCode());
|
|
|
- goods.setFailedReason("");
|
|
|
- goods.setReleaseTime(new Date());
|
|
|
- updateById(goods);
|
|
|
-
|
|
|
- // 更新审核记录
|
|
|
- createGoodsAudit(goods, "", Constants.AuditStatus.PASSED);
|
|
|
-
|
|
|
- // 发送审核成功消息
|
|
|
- sendMessage(goods);
|
|
|
- // 审核成功,记录操作历史
|
|
|
- // 审核成功,记录操作历史
|
|
|
- String operationName = "";
|
|
|
- QueryWrapper<SecondGoodsRecord> queryRecordWrapper = new QueryWrapper<>();
|
|
|
- queryRecordWrapper.eq("goods_id", goods.getId());
|
|
|
- log.info("查询操作记录开始 goods_id: {}", goods.getId());
|
|
|
- List<SecondGoodsRecord> recordList = secondGoodsRecordMapper.selectList(queryRecordWrapper);
|
|
|
- log.info("查询操作记录结束 recordList: {}", recordList);
|
|
|
- if (CollectionUtil.isNotEmpty(recordList)){
|
|
|
- operationName = "重新发布";
|
|
|
- }else {
|
|
|
- operationName = "首次发布";
|
|
|
- }
|
|
|
- recordGoodsOperation(goods, operationName);
|
|
|
-
|
|
|
- // 检查用户是否在24小时内发布同类商品超过阈值
|
|
|
- if (!checkUserPublishSameCategoryLimit(goods)) {
|
|
|
- log.warn("用户 {} 在24小时内发布同类商品次数超过限制", goods.getUserId());
|
|
|
- }
|
|
|
-
|
|
|
- // 检查用户是否在24小时内发布商品超过阈值
|
|
|
- if (!checkUserPublishLimit(goods)) {
|
|
|
- log.warn("用户 {} 在24小时内发布商品次数超过限制", goods.getUserId());
|
|
|
-
|
|
|
- }
|
|
|
- } else {
|
|
|
- log.warn("视频审核未通过,任务ID: {}", task.getTaskId());
|
|
|
+ log.warn("视频审核通过,任务ID: {}", task.getTaskId());
|
|
|
SecondGoodsVo secondGoodsVo = new SecondGoodsVo();
|
|
|
BeanUtils.copyProperties(goods, secondGoodsVo);
|
|
|
+ QueryWrapper<StoreImg> imgQueryWrapper = new QueryWrapper<>();
|
|
|
+ imgQueryWrapper.eq("store_id", goods.getId());
|
|
|
+ imgQueryWrapper.eq("img_type", 18);
|
|
|
+ List<StoreImg> storeImgs = storeImgMapper.selectList(imgQueryWrapper);
|
|
|
+ List<String> imgUrls = storeImgs.stream()
|
|
|
+ .map(StoreImg::getImgUrl)
|
|
|
+ .filter(imgUrl -> StringUtils.hasText(imgUrl))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ secondGoodsVo.setImgUrl(imgUrls);
|
|
|
+
|
|
|
secondGoodsAuditService.performSecondRoundReview(goods, secondGoodsVo);
|
|
|
-// // 审核不通过
|
|
|
-// goods.setGoodsStatus(SecondGoodsStatusEnum.REVIEW_FAILED.getCode());
|
|
|
//
|
|
|
-// // 解析审核结果,生成具体的失败原因
|
|
|
-// String failedReason = parseVideoModerationFailureReason(task);
|
|
|
-// goods.setFailedReason(failedReason);
|
|
|
+// // 审核通过
|
|
|
+// goods.setGoodsStatus(SecondGoodsStatusEnum.LISTED.getCode());
|
|
|
+// goods.setFailedReason("");
|
|
|
+// goods.setReleaseTime(new Date());
|
|
|
// updateById(goods);
|
|
|
//
|
|
|
// // 更新审核记录
|
|
|
-// createGoodsAudit(goods, failedReason, Constants.AuditStatus.FAILED);
|
|
|
+// createGoodsAudit(goods, "", Constants.AuditStatus.PASSED);
|
|
|
+//
|
|
|
+// // 发送审核成功消息
|
|
|
+// sendMessage(goods);
|
|
|
+// // 审核成功,记录操作历史
|
|
|
+// // 审核成功,记录操作历史
|
|
|
+// String operationName = "";
|
|
|
+// QueryWrapper<SecondGoodsRecord> queryRecordWrapper = new QueryWrapper<>();
|
|
|
+// queryRecordWrapper.eq("goods_id", goods.getId());
|
|
|
+// log.info("查询操作记录开始 goods_id: {}", goods.getId());
|
|
|
+// List<SecondGoodsRecord> recordList = secondGoodsRecordMapper.selectList(queryRecordWrapper);
|
|
|
+// log.info("查询操作记录结束 recordList: {}", recordList);
|
|
|
+// if (CollectionUtil.isNotEmpty(recordList)){
|
|
|
+// operationName = "重新发布";
|
|
|
+// }else {
|
|
|
+// operationName = "首次发布";
|
|
|
+// }
|
|
|
+// recordGoodsOperation(goods, operationName);
|
|
|
//
|
|
|
-// // 记录操作历史
|
|
|
-// recordGoodsOperation(goods, "视频审核失败");
|
|
|
-// // 发送审核失败消息
|
|
|
-// sendFailedMsg(goods);
|
|
|
+// // 检查用户是否在24小时内发布同类商品超过阈值
|
|
|
+// if (!checkUserPublishSameCategoryLimit(goods)) {
|
|
|
+// log.warn("用户 {} 在24小时内发布同类商品次数超过限制", goods.getUserId());
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 检查用户是否在24小时内发布商品超过阈值
|
|
|
+// if (!checkUserPublishLimit(goods)) {
|
|
|
+// log.warn("用户 {} 在24小时内发布商品次数超过限制", goods.getUserId());
|
|
|
+//
|
|
|
+// }
|
|
|
+ } else {
|
|
|
+ // 审核不通过
|
|
|
+ goods.setGoodsStatus(SecondGoodsStatusEnum.REVIEW_FAILED.getCode());
|
|
|
+
|
|
|
+ // 解析审核结果,生成具体的失败原因
|
|
|
+ String failedReason = parseVideoModerationFailureReason(task);
|
|
|
+ goods.setFailedReason(failedReason);
|
|
|
+ updateById(goods);
|
|
|
+
|
|
|
+ // 更新审核记录
|
|
|
+ createGoodsAudit(goods, failedReason, Constants.AuditStatus.FAILED);
|
|
|
+
|
|
|
+ // 记录操作历史
|
|
|
+ recordGoodsOperation(goods, "视频审核失败");
|
|
|
+ // 发送审核失败消息
|
|
|
+ sendFailedMsg(goods);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
log.error("处理视频审核结果时发生异常,任务ID: {}", task.getTaskId(), e);
|