|
|
@@ -84,6 +84,11 @@ public class ApkServiceImpl implements ApkService {
|
|
|
@Value("${risk.config.visitor.initRevenueLimit:0.5}")
|
|
|
private String initVisitorRevenueLimit;
|
|
|
|
|
|
+ @Value(("${risk.config.visitor.initHours:1}"))
|
|
|
+ private String initVisitorHours;
|
|
|
+ @Value(("${risk.config.visitor.initRidCount:10}"))
|
|
|
+ private String initVisitorRidCount;
|
|
|
+
|
|
|
@Autowired
|
|
|
private FeignClientInvoker feignInvoker;
|
|
|
@Autowired
|
|
|
@@ -204,7 +209,9 @@ public class ApkServiceImpl implements ApkService {
|
|
|
private void generateRiskDefaultConfig(AppParam param,MiddleUserInfo loginUser) {
|
|
|
addTemp742(param,loginUser);
|
|
|
addTemp746(param,loginUser);
|
|
|
- // 游客登陆风控校验
|
|
|
+ // 游客用户风控
|
|
|
+ addTemp323(param, loginUser);
|
|
|
+ addTemp333(param, loginUser);
|
|
|
addTemp344(param, loginUser);
|
|
|
// 平均收益风控
|
|
|
addTemp766(param, loginUser);
|
|
|
@@ -213,42 +220,107 @@ public class ApkServiceImpl implements ApkService {
|
|
|
addTemp768(param, loginUser);
|
|
|
}
|
|
|
|
|
|
- private void addTemp344(AppParam param, MiddleUserInfo loginUser) {
|
|
|
- // 风控规则 游客模式用户开屏广告累计ecpm<{}
|
|
|
- // 风控规则 游客模式用户开屏广告累计预估收益<{}
|
|
|
- // 风控规则 游客模式用户横幅累计ecpm<{}
|
|
|
- // 风控规则 游客模式用户横幅累计预估收益<{}
|
|
|
- // 风控规则 游客模式用户原生(信息流)累计ecpm<{}
|
|
|
- // 风控规则 游客模式用户原生(信息流)累计预估收益<{}
|
|
|
+ /**
|
|
|
+ * 创建输出框类型配置项
|
|
|
+ */
|
|
|
+ private YtRiskConfig createRiskConfig(String agentId, String fieldName, String filedDesc, String initVal, Integer multi){
|
|
|
+ String configId = IdUtil.getSnowflakeNextIdStr();
|
|
|
+ YtRiskConfig config = new YtRiskConfig(configId, agentId, fieldName, filedDesc, 1, initVal, multi);
|
|
|
+ riskMapper.insertConfigItem(config);
|
|
|
+ return config;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 绑定模板配置项
|
|
|
+ */
|
|
|
+ private void bindTempConfig(MiddleUserInfo loginUser, YtRiskTemplate template, List<YtRiskConfig> configs) {
|
|
|
+ YtRiskTemplateConfig templateConfig;
|
|
|
+ Date currentDate = new Date();
|
|
|
+ for (YtRiskConfig config : configs) {
|
|
|
+ templateConfig = new YtRiskTemplateConfig(template.getTemplateId(), config.getConfigId(),
|
|
|
+ loginUser.getUserId(), loginUser.getNickName(), currentDate);
|
|
|
+ riskMapper.insertTempConfig(templateConfig);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void addTemp333(AppParam param, MiddleUserInfo loginUser) {
|
|
|
+ // 风控规则 设备在{}小时内注册的渠道数>={}
|
|
|
String appId = param.getAppId();
|
|
|
String agentId = param.getUserId();
|
|
|
Date currentDate = new Date();
|
|
|
- List<YtRiskConfig> configIds = new ArrayList<>();
|
|
|
- createTemp344ByAdType(param, configIds, "0", "信息流");
|
|
|
- createTemp344ByAdType(param, configIds, "2", "横幅");
|
|
|
- createTemp344ByAdType(param, configIds, "4", "开屏");
|
|
|
+ List<YtRiskConfig> configs = new ArrayList<>();
|
|
|
+ YtRiskConfig riskConfig = createRiskConfig(param.getUserId(), "hours",
|
|
|
+ StrUtil.format("{}小时内,", initVisitorHours), initVisitorHours, 2);
|
|
|
+ configs.add(riskConfig);
|
|
|
+ riskConfig = createRiskConfig(param.getUserId(), "uidCount",
|
|
|
+ StrUtil.format("游客注册的渠道数<{}", initVisitorRidCount), initVisitorRidCount, 3);
|
|
|
+ configs.add(riskConfig);
|
|
|
+ String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
+ YtRiskTemplate template = new YtRiskTemplate(templateId, "游客注册限制",
|
|
|
+ StrUtil.format("{}小时内,游客注册的渠道数<{}", initVisitorHours, initVisitorHours),
|
|
|
+ appId + "-333", agentId, 2, appId,
|
|
|
+ currentDate, loginUser.getUserId(), null, null,
|
|
|
+ 1, 1, 1);
|
|
|
+ riskMapper.insertTemplate(template);
|
|
|
+ bindTempConfig(loginUser, template, configs);
|
|
|
+ //风控模版关联应用
|
|
|
+ riskMapper.relativeApp(appId, param.getAppName(), template.getTemplateId(), loginUser.getNickName(), loginUser.getUserId());
|
|
|
+ }
|
|
|
+
|
|
|
+ private void addTemp323(AppParam param, MiddleUserInfo loginUser) {
|
|
|
+ // 风控规则 {}小时内登录渠道数超过{}
|
|
|
+ String appId = param.getAppId();
|
|
|
+ String agentId = param.getUserId();
|
|
|
+ List<YtRiskConfig> configs = new ArrayList<>();
|
|
|
+ YtRiskConfig riskConfig = createRiskConfig(param.getUserId(), "hours",
|
|
|
+ StrUtil.format("{}小时内", initVisitorHours), initVisitorHours, 2);
|
|
|
+ configs.add(riskConfig);
|
|
|
+ riskConfig = createRiskConfig(param.getUserId(), "hours",
|
|
|
+ StrUtil.format("游客登录渠道数<{}", initVisitorHours), initVisitorHours, 3);
|
|
|
+ configs.add(riskConfig);
|
|
|
String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- String content = configIds.stream().map(YtRiskConfig::getFieldDesc).collect(Collectors.joining(""));
|
|
|
+ YtRiskTemplate template = new YtRiskTemplate(templateId, "游客登录限制",
|
|
|
+ StrUtil.format("{}小时内游客登录渠道数<{}", initVisitorHours, initVisitorHours),
|
|
|
+ appId + "-323", agentId, 2, appId,
|
|
|
+ new Date(), loginUser.getUserId(), null, null,
|
|
|
+ 1, 1, 1);
|
|
|
+ riskMapper.insertTemplate(template);
|
|
|
+ // 风控模板关联配置项
|
|
|
+ bindTempConfig(loginUser, template, configs);
|
|
|
+ //风控模版关联应用
|
|
|
+ riskMapper.relativeApp(appId, param.getAppName(), template.getTemplateId(), loginUser.getNickName(), loginUser.getUserId());
|
|
|
+ }
|
|
|
+
|
|
|
+ private void addTemp344(AppParam param, MiddleUserInfo loginUser) {
|
|
|
+ // 风控规则 游客模式用户开屏广告累计ecpm<{},累计预估收益<{}
|
|
|
+ // 风控规则 游客模式用户横幅累计ecpm<{},累计预估收益<{}
|
|
|
+ // 风控规则 游客模式用户原生(信息流)累计ecpm<{},累计预估收益<{}
|
|
|
+ String appId = param.getAppId();
|
|
|
+ String agentId = param.getUserId();
|
|
|
+ List<YtRiskConfig> configs = new ArrayList<>();
|
|
|
+ createTemp344ByAdType(param, configs, "0", "信息流");
|
|
|
+ createTemp344ByAdType(param, configs, "2", "横幅");
|
|
|
+ createTemp344ByAdType(param, configs, "4", "开屏");
|
|
|
+ String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
+ String content = configs.stream().map(YtRiskConfig::getFieldDesc).collect(Collectors.joining(""));
|
|
|
YtRiskTemplate template = new YtRiskTemplate(templateId, "游客用户收益限制", content,
|
|
|
appId + "-344", agentId, 2, appId,
|
|
|
- currentDate, loginUser.getUserId(), null, null,
|
|
|
+ new Date(), loginUser.getUserId(), null, null,
|
|
|
1, 1, 1);
|
|
|
riskMapper.insertTemplate(template);
|
|
|
- YtRiskTemplateConfig templateConfig;
|
|
|
- for (YtRiskConfig config : configIds) {
|
|
|
- templateConfig = new YtRiskTemplateConfig(templateId, config.getConfigId(),
|
|
|
- loginUser.getUserId(), loginUser.getNickName(), currentDate);
|
|
|
- riskMapper.insertTempConfig(templateConfig);
|
|
|
- }
|
|
|
+ // 风控模板关联配置项
|
|
|
+ bindTempConfig(loginUser, template, configs);
|
|
|
+ //风控模版关联应用
|
|
|
+ riskMapper.relativeApp(appId, param.getAppName(), template.getTemplateId(), loginUser.getNickName(), loginUser.getUserId());
|
|
|
}
|
|
|
|
|
|
private void createTemp344ByAdType(AppParam param, List<YtRiskConfig> configs, String adSourceType, String typeName){
|
|
|
YtRiskConfig riskConfig;
|
|
|
riskConfig = createRiskConfig(param.getUserId(), StrUtil.format("ecpmLimit_{}", adSourceType),
|
|
|
- StrUtil.format("{}累计ecpm<{},", typeName, initVisitorEcpmLimit), initHourCount, 4);
|
|
|
+ StrUtil.format("{}累计ecpm<{},", typeName, initVisitorEcpmLimit), initVisitorEcpmLimit, 4);
|
|
|
configs.add(riskConfig);
|
|
|
riskConfig = createRiskConfig(param.getUserId(), StrUtil.format("revenueLimit_{}", adSourceType),
|
|
|
- StrUtil.format("{}累计预估收益<{};", typeName, initVisitorRevenueLimit), initHourTaskLimit, 4);
|
|
|
+ StrUtil.format("预估收益<{};", initVisitorRevenueLimit), initVisitorRevenueLimit, 4);
|
|
|
configs.add(riskConfig);
|
|
|
}
|
|
|
|
|
|
@@ -258,26 +330,23 @@ public class ApkServiceImpl implements ApkService {
|
|
|
String appId = param.getAppId();
|
|
|
String agentId = param.getUserId();
|
|
|
Date currentDate = new Date();
|
|
|
- List<String> configIds = new ArrayList<>();
|
|
|
+ List<YtRiskConfig> configs = new ArrayList<>();
|
|
|
YtRiskConfig riskConfig;
|
|
|
riskConfig = createRiskConfig(agentId, "hourCount",
|
|
|
- StrUtil.format("每{}小时", initHourCount), initHourCount, 2);
|
|
|
- configIds.add(riskConfig.getConfigId());
|
|
|
+ StrUtil.format("{}小时内,", initHourCount), initHourCount, 2);
|
|
|
+ configs.add(riskConfig);
|
|
|
riskConfig = createRiskConfig(agentId, "hourTaskLimit",
|
|
|
- StrUtil.format("用户获得{}个获得奖励的激励视频", initHourTaskLimit), initHourTaskLimit, 2);
|
|
|
- configIds.add(riskConfig.getConfigId());
|
|
|
+ StrUtil.format("获得奖励的激励视频数<{}", initHourTaskLimit), initHourTaskLimit, 2);
|
|
|
+ configs.add(riskConfig);
|
|
|
String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
YtRiskTemplate template = new YtRiskTemplate(templateId,"小时区间任务数完成限制",
|
|
|
- StrUtil.format("每{}小时用户获得完成{}个获得奖励的激励视频", initHourCount, initHourTaskLimit),
|
|
|
+ StrUtil.format("{}小时内,获得奖励的激励视频数<{}", initHourCount, initHourTaskLimit),
|
|
|
appId + "-768", agentId, 2, appId,
|
|
|
currentDate, loginUser.getUserId(),null, null,
|
|
|
1,1,1);
|
|
|
riskMapper.insertTemplate(template);
|
|
|
- YtRiskTemplateConfig templateConfig;
|
|
|
- for (String itemId : configIds) {
|
|
|
- templateConfig = new YtRiskTemplateConfig(templateId, itemId, loginUser.getUserId(), loginUser.getNickName(), currentDate);
|
|
|
- riskMapper.insertTempConfig(templateConfig);
|
|
|
- }
|
|
|
+ // 风控模板关联配置项
|
|
|
+ bindTempConfig(loginUser, template, configs);
|
|
|
//风控模版关联应用
|
|
|
riskMapper.relativeApp(appId, param.getAppName(), template.getTemplateId(), loginUser.getNickName(), loginUser.getUserId());
|
|
|
}
|
|
|
@@ -287,26 +356,23 @@ public class ApkServiceImpl implements ApkService {
|
|
|
String appId = param.getAppId();
|
|
|
String agentId = param.getUserId();
|
|
|
Date currentDate = new Date();
|
|
|
- List<String> configIds = new ArrayList<>();
|
|
|
+ List<YtRiskConfig> configs = new ArrayList<>();
|
|
|
YtRiskConfig riskConfig;
|
|
|
riskConfig = createRiskConfig(agentId, "monthCount",
|
|
|
- StrUtil.format("每{}月", initMonthCount), initMonthCount, 2);
|
|
|
- configIds.add(riskConfig.getConfigId());
|
|
|
+ StrUtil.format("{}月内", initMonthCount), initMonthCount, 2);
|
|
|
+ configs.add(riskConfig);
|
|
|
riskConfig = createRiskConfig(agentId, "monthTaskLimit",
|
|
|
- StrUtil.format("用户获得{}个获得奖励的激励视频", initMonthTaskLimit),initMonthTaskLimit, 2);
|
|
|
- configIds.add(riskConfig.getConfigId());
|
|
|
+ StrUtil.format("获得奖励的激励视频数<{}", initMonthTaskLimit), initMonthTaskLimit, 2);
|
|
|
+ configs.add(riskConfig);
|
|
|
String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
YtRiskTemplate template = new YtRiskTemplate(templateId,"月区间任务完成数限制",
|
|
|
- StrUtil.format("每{}月用户获得{}个获得奖励的激励视频", initMonthCount, initMonthTaskLimit),
|
|
|
+ StrUtil.format("{}月内,获得奖励的激励视频数<{}", initMonthCount, initMonthTaskLimit),
|
|
|
appId + "-767", agentId, 2, appId,
|
|
|
currentDate, loginUser.getUserId(),null, null,
|
|
|
1,1,1);
|
|
|
riskMapper.insertTemplate(template);
|
|
|
- YtRiskTemplateConfig templateConfig;
|
|
|
- for (String itemId : configIds) {
|
|
|
- templateConfig = new YtRiskTemplateConfig(templateId, itemId, loginUser.getUserId(), loginUser.getNickName(), currentDate);
|
|
|
- riskMapper.insertTempConfig(templateConfig);
|
|
|
- }
|
|
|
+ // 风控模板关联配置项
|
|
|
+ bindTempConfig(loginUser, template, configs);
|
|
|
//风控模版关联应用
|
|
|
riskMapper.relativeApp(appId, param.getAppName(), template.getTemplateId(), loginUser.getNickName(), loginUser.getUserId());
|
|
|
}
|
|
|
@@ -322,13 +388,13 @@ public class ApkServiceImpl implements ApkService {
|
|
|
StrUtil.format("当日用户获得{}个获得奖励的激励视频,"),initAdCompletedCount, 2);
|
|
|
configIds.add(riskConfig.getConfigId());
|
|
|
riskConfig = createRiskConfig(agentId, "firstCount",
|
|
|
- StrUtil.format("近期前{}个获得奖励的激励视频", initFirstCount), initFirstCount, 2);
|
|
|
+ StrUtil.format("前{}个获得奖励的激励视频", initFirstCount), initFirstCount, 2);
|
|
|
configIds.add(riskConfig.getConfigId());
|
|
|
riskConfig = createRiskConfig(agentId, "averageRevenue",
|
|
|
StrUtil.format("平均收益<{}", initAverageRevenue), initAverageRevenue, 4);
|
|
|
configIds.add(riskConfig.getConfigId());
|
|
|
String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- String templateContent = StrUtil.format("当日用户获得{}个获得奖励的激励视频,近期前{}个获得奖励的激励视频平均收益<{}",
|
|
|
+ String templateContent = StrUtil.format("当日用户获得{}个获得奖励的激励视频,前{}个获得奖励的激励视频平均收益<{}",
|
|
|
initAdCompletedCount, initFirstCount, initAverageRevenue);
|
|
|
YtRiskTemplate template = new YtRiskTemplate(templateId,"成本收益限制", templateContent,
|
|
|
appId + "-766", agentId, 2, appId,
|
|
|
@@ -344,12 +410,6 @@ public class ApkServiceImpl implements ApkService {
|
|
|
riskMapper.relativeApp(appId, param.getAppName(), template.getTemplateId(), loginUser.getNickName(), loginUser.getUserId());
|
|
|
}
|
|
|
|
|
|
- private YtRiskConfig createRiskConfig(String agentId, String fieldName, String filedDesc, String initVal, Integer multy){
|
|
|
- String configId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- YtRiskConfig config = new YtRiskConfig(configId, agentId, fieldName, filedDesc, 1, initVal, multy);
|
|
|
- riskMapper.insertConfigItem(config);
|
|
|
- return config;
|
|
|
- }
|
|
|
|
|
|
private void addTemp746(AppParam param, MiddleUserInfo loginUser) {
|
|
|
String appId = param.getAppId();
|