|
@@ -24,6 +24,7 @@ import shop.alien.entity.SecondVideoTask;
|
|
|
import shop.alien.entity.second.*;
|
|
import shop.alien.entity.second.*;
|
|
|
import shop.alien.entity.second.enums.RiskControlRuleTypeEnum;
|
|
import shop.alien.entity.second.enums.RiskControlRuleTypeEnum;
|
|
|
import shop.alien.entity.second.enums.SecondGoodsStatusEnum;
|
|
import shop.alien.entity.second.enums.SecondGoodsStatusEnum;
|
|
|
|
|
+import shop.alien.entity.second.enums.SecondUserCreditScoreEnum;
|
|
|
import shop.alien.entity.second.vo.*;
|
|
import shop.alien.entity.second.vo.*;
|
|
|
import shop.alien.entity.store.*;
|
|
import shop.alien.entity.store.*;
|
|
|
import shop.alien.entity.store.vo.LifeUserVo;
|
|
import shop.alien.entity.store.vo.LifeUserVo;
|
|
@@ -37,6 +38,8 @@ import shop.alien.util.common.VideoUtils;
|
|
|
import shop.alien.util.common.safe.*;
|
|
import shop.alien.util.common.safe.*;
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
@@ -166,6 +169,9 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
|
|
|
|
|
private final SecondGoodsAuditService secondGoodsAuditService;
|
|
private final SecondGoodsAuditService secondGoodsAuditService;
|
|
|
|
|
|
|
|
|
|
+ private final SecondUserCreditMapper secondUserCreditMapper;
|
|
|
|
|
+ private final SecondUserCreditRecordMapper secondUserCreditRecordMapper;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 获取商品操作记录详情(管理后台使用)
|
|
* 获取商品操作记录详情(管理后台使用)
|
|
|
* @param recordId 商品操作记录ID
|
|
* @param recordId 商品操作记录ID
|
|
@@ -700,7 +706,33 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
// 如果发布数量超过限制,记录风控数据
|
|
// 如果发布数量超过限制,记录风控数据
|
|
|
if (sameCategoryCount > publishLimit) {
|
|
if (sameCategoryCount > publishLimit) {
|
|
|
// "异常发布-同类商品发布频率"
|
|
// "异常发布-同类商品发布频率"
|
|
|
- riskControlService.recordRiskControlData(goods.getUserId(), RiskControlRuleTypeEnum.TRANSACTION_FRAUD.getRuleType(), RiskControlRuleTypeEnum.TRANSACTION_FRAUD.getDescription(), goods.getId().toString(),json);
|
|
|
|
|
|
|
+// riskControlService.recordRiskControlData(goods.getUserId(), RiskControlRuleTypeEnum.TRANSACTION_FRAUD.getRuleType(), RiskControlRuleTypeEnum.TRANSACTION_FRAUD.getDescription(), goods.getId().toString(),json);
|
|
|
|
|
+
|
|
|
|
|
+ String startDate = LocalDateTime.now().minusHours(24L).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
+ String endDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
+ List<SecondUserCreditRecord> num = secondUserCreditRecordMapper.selectList(new LambdaQueryWrapper<SecondUserCreditRecord>()
|
|
|
|
|
+ .eq(SecondUserCreditRecord::getUserId, goods.getUserId())
|
|
|
|
|
+ .eq(SecondUserCreditRecord::getPointsType, SecondUserCreditScoreEnum.TRADING_FRAUD.getCode())
|
|
|
|
|
+ .ge(SecondUserCreditRecord::getCreatedTime, startDate)
|
|
|
|
|
+ .le(SecondUserCreditRecord::getCreatedTime, endDate));
|
|
|
|
|
+ if (num.size() <= 0) {
|
|
|
|
|
+ LambdaQueryWrapper<SecondUserCredit> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
|
+ queryWrapper1.eq(SecondUserCredit::getUserId, goods.getUserId())
|
|
|
|
|
+ .orderByDesc(SecondUserCredit::getCreatedTime).last("LIMIT 1");
|
|
|
|
|
+ SecondUserCredit secondUserCredit = secondUserCreditMapper.selectOne(queryWrapper1);
|
|
|
|
|
+ int score = secondUserCredit.getUserPoints() + SecondUserCreditScoreEnum.TRADING_FRAUD.getScore();
|
|
|
|
|
+ secondUserCredit.setUserPoints(score);
|
|
|
|
|
+ secondUserCreditMapper.updateById(secondUserCredit);
|
|
|
|
|
+
|
|
|
|
|
+ SecondUserCreditRecord record = new SecondUserCreditRecord();
|
|
|
|
|
+ record.setUserId(goods.getUserId());
|
|
|
|
|
+ record.setPointsType(SecondUserCreditScoreEnum.TRADING_FRAUD.getCode());
|
|
|
|
|
+ record.setPoints(SecondUserCreditScoreEnum.TRADING_FRAUD.getScore());
|
|
|
|
|
+ record.setCurrentScoreCount(score);
|
|
|
|
|
+ record.setCreatedTime(new Date());
|
|
|
|
|
+ secondUserCreditRecordMapper.insert(record);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
return true;
|
|
return true;
|
|
@@ -745,7 +777,32 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
// 如果发布数量超过限制,记录风控数据
|
|
// 如果发布数量超过限制,记录风控数据
|
|
|
if (sameCategoryCount > sameCategoryLimit) {
|
|
if (sameCategoryCount > sameCategoryLimit) {
|
|
|
// "异常发布-同类商品发布频率"
|
|
// "异常发布-同类商品发布频率"
|
|
|
- riskControlService.recordRiskControlData(goods.getUserId(), RiskControlRuleTypeEnum.ABNORMAL_PUBLISH.getRuleType(), RiskControlRuleTypeEnum.ABNORMAL_PUBLISH.getDescription(), goods.getId().toString(),json);
|
|
|
|
|
|
|
+// riskControlService.recordRiskControlData(goods.getUserId(), RiskControlRuleTypeEnum.ABNORMAL_PUBLISH.getRuleType(), RiskControlRuleTypeEnum.ABNORMAL_PUBLISH.getDescription(), goods.getId().toString(),json);
|
|
|
|
|
+
|
|
|
|
|
+ String startDate = LocalDateTime.now().minusHours(24L).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
+ String endDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
+ List<SecondUserCreditRecord> num = secondUserCreditRecordMapper.selectList(new LambdaQueryWrapper<SecondUserCreditRecord>()
|
|
|
|
|
+ .eq(SecondUserCreditRecord::getUserId, goods.getUserId())
|
|
|
|
|
+ .eq(SecondUserCreditRecord::getPointsType, SecondUserCreditScoreEnum.ABNORMAL_RELEASE.getCode())
|
|
|
|
|
+ .ge(SecondUserCreditRecord::getCreatedTime, startDate)
|
|
|
|
|
+ .le(SecondUserCreditRecord::getCreatedTime, endDate));
|
|
|
|
|
+ if (num.size() <= 0) {
|
|
|
|
|
+ SecondUserCreditRecord record = new SecondUserCreditRecord();
|
|
|
|
|
+ record.setUserId(goods.getUserId());
|
|
|
|
|
+ record.setPointsType(SecondUserCreditScoreEnum.ABNORMAL_RELEASE.getCode());
|
|
|
|
|
+ record.setPoints(SecondUserCreditScoreEnum.ABNORMAL_RELEASE.getScore());
|
|
|
|
|
+ record.setCreatedTime(new Date());
|
|
|
|
|
+ secondUserCreditRecordMapper.insert(record);
|
|
|
|
|
+
|
|
|
|
|
+ LambdaQueryWrapper<SecondUserCredit> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
|
+ queryWrapper1.eq(SecondUserCredit::getUserId, goods.getUserId())
|
|
|
|
|
+ .orderByDesc(SecondUserCredit::getCreatedTime).last("LIMIT 1");
|
|
|
|
|
+ SecondUserCredit secondUserCredit = secondUserCreditMapper.selectOne(queryWrapper1);
|
|
|
|
|
+ secondUserCredit.setUserPoints(secondUserCredit.getUserPoints() + SecondUserCreditScoreEnum.ABNORMAL_RELEASE.getScore());
|
|
|
|
|
+ secondUserCreditMapper.updateById(secondUserCredit);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
return true;
|
|
return true;
|