|
|
@@ -1,292 +0,0 @@
|
|
|
-package com.ytpm.middle.test;
|
|
|
-
|
|
|
-
|
|
|
-import cn.hutool.core.util.IdUtil;
|
|
|
-import cn.hutool.core.util.StrUtil;
|
|
|
-import com.ytpm.agent.param.AppParam;
|
|
|
-import com.ytpm.middle.dao.ApkMapper;
|
|
|
-import com.ytpm.middle.dao.RiskMapper;
|
|
|
-import com.ytpm.middle.view.MiddleUserInfo;
|
|
|
-import com.ytpm.risk.model.YtRiskConfig;
|
|
|
-import com.ytpm.risk.model.YtRiskTemplate;
|
|
|
-import com.ytpm.risk.model.YtRiskTemplateConfig;
|
|
|
-import org.junit.Test;
|
|
|
-import org.junit.runner.RunWith;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
|
|
-import org.springframework.boot.test.context.SpringBootTest;
|
|
|
-import org.springframework.test.context.junit4.SpringRunner;
|
|
|
-
|
|
|
-import javax.annotation.Resource;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-/**
|
|
|
- * @author lih
|
|
|
- * @date 2025/9/5
|
|
|
- */
|
|
|
-@SpringBootTest
|
|
|
-@RunWith(SpringRunner.class)
|
|
|
-@AutoConfigureMockMvc
|
|
|
-public class TestGenerateRiskTemplate {
|
|
|
-
|
|
|
- @Resource
|
|
|
- private ApkMapper apkMapper;
|
|
|
- @Resource
|
|
|
- private RiskMapper riskMapper;
|
|
|
-
|
|
|
- @Value("${risk.config.initEcpm}")
|
|
|
- private String initEcpm;
|
|
|
- @Value("${risk.config.initRevenue}")
|
|
|
- private String initRevenue;
|
|
|
-
|
|
|
- @Value("${risk.config.initAdCompletedCount:10}")
|
|
|
- private String initAdCompletedCount;
|
|
|
-
|
|
|
- @Value("${risk.config.initFirstCount:3}")
|
|
|
- private String initFirstCount;
|
|
|
-
|
|
|
- @Value("${risk.config.initAverageRevenue:0.05}")
|
|
|
- private String initAverageRevenue;
|
|
|
-
|
|
|
- @Value("${risk.config.initMonthCount:1}")
|
|
|
- private String initMonthCount;
|
|
|
-
|
|
|
- @Value("${risk.config.initMonthTaskLimit:20}")
|
|
|
- private String initMonthTaskLimit;
|
|
|
-
|
|
|
- @Value("${risk.config.initHourCount:24}")
|
|
|
- private String initHourCount;
|
|
|
-
|
|
|
- @Value("${risk.config.initHourTaskLimit:5}")
|
|
|
- private String initHourTaskLimit;
|
|
|
-
|
|
|
- @Value("${risk.config.visitor.initEcpmLimit:20}")
|
|
|
- private String initVisitorEcpmLimit;
|
|
|
-
|
|
|
- @Value("${risk.config.visitor.initRevenueLimit:0.5}")
|
|
|
- private String initVisitorRevenueLimit;
|
|
|
-
|
|
|
- @Test
|
|
|
- public void generateTemplate() {
|
|
|
- AppParam param = new AppParam();
|
|
|
- param.setAppId("abdedfedb7f74fe08cff514ae1d22111");
|
|
|
- param.setUserId("yt_agent_1958702951861489664");
|
|
|
- MiddleUserInfo loginUser = new MiddleUserInfo();
|
|
|
- loginUser.setUserId("00711");
|
|
|
- loginUser.setNickName("lih");
|
|
|
-
|
|
|
- addTemp742(param,loginUser);
|
|
|
- addTemp746(param,loginUser);
|
|
|
- // 游客登陆风控校验
|
|
|
- addTemp344(param, loginUser);
|
|
|
- // 平均收益风控
|
|
|
- addTemp766(param, loginUser);
|
|
|
- // 任务完成数风控
|
|
|
- addTemp767(param, loginUser);
|
|
|
- addTemp768(param, loginUser);
|
|
|
- }
|
|
|
-
|
|
|
- private void addTemp742(AppParam param, MiddleUserInfo loginUser) {
|
|
|
- String appId = param.getAppId();
|
|
|
- String agentId = param.getUserId();
|
|
|
- List<String> configIds = new ArrayList<>();
|
|
|
- String configId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- configIds.add(configId);
|
|
|
- YtRiskConfig config = new YtRiskConfig(configId,agentId,"firstAdCount","当日前4条激励视频",1,"4",2);
|
|
|
- riskMapper.insertConfigItem(config);
|
|
|
- configId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- configIds.add(configId);
|
|
|
- config = new YtRiskConfig(configId,agentId,"haveCount","有2条",1,"2",2);
|
|
|
- riskMapper.insertConfigItem(config);
|
|
|
- configId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- configIds.add(configId);
|
|
|
- config = new YtRiskConfig(configId,agentId,"ecpm","ecpm值为<"+initEcpm,1,initEcpm,4);
|
|
|
- riskMapper.insertConfigItem(config);
|
|
|
- String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- YtRiskTemplateConfig templateConfig;
|
|
|
- for (String itemId : configIds) {
|
|
|
- templateConfig = new YtRiskTemplateConfig(templateId,itemId,loginUser.getUserId(),loginUser.getNickName(),new Date());
|
|
|
- riskMapper.insertTempConfig(templateConfig);
|
|
|
- }
|
|
|
- YtRiskTemplate template = new YtRiskTemplate(templateId,"激励视频ecpm值控制",
|
|
|
- "当日前4条激励视频,有2条,ecpm值为<"+initEcpm,appId+"-742",agentId,
|
|
|
- 2,appId,new Date(),loginUser.getUserId(),null,
|
|
|
- null,1,1,1);
|
|
|
- riskMapper.insertTemplate(template);
|
|
|
- //风控模版关联应用
|
|
|
- riskMapper.relativeApp(appId,param.getAppName(),template.getTemplateId(),
|
|
|
- loginUser.getNickName(),loginUser.getUserId());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- private void addTemp746(AppParam param, MiddleUserInfo loginUser) {
|
|
|
- String appId = param.getAppId();
|
|
|
- String agentId = param.getUserId();
|
|
|
- List<String> configIds = new ArrayList<>();
|
|
|
- String configId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- configIds.add(configId);
|
|
|
- YtRiskConfig config = new YtRiskConfig(configId,agentId,"rewardCount","当日前2条获得奖励的激励视频",1,"2",2);
|
|
|
- riskMapper.insertConfigItem(config);
|
|
|
- configId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- configIds.add(configId);
|
|
|
- config = new YtRiskConfig(configId,agentId,"income","总收益为<"+initRevenue,1,initRevenue,4);
|
|
|
- riskMapper.insertConfigItem(config);
|
|
|
- String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- YtRiskTemplateConfig templateConfig;
|
|
|
- for (String itemId : configIds) {
|
|
|
- templateConfig = new YtRiskTemplateConfig(templateId,itemId,loginUser.getUserId(),loginUser.getNickName(),new Date());
|
|
|
- riskMapper.insertTempConfig(templateConfig);
|
|
|
- }
|
|
|
- YtRiskTemplate template = new YtRiskTemplate(templateId,"最低收益限制",
|
|
|
- "当日前2条获得奖励的激励视频,总收益为<"+initRevenue,appId+"-746",agentId,
|
|
|
- 2,appId,new Date(),loginUser.getUserId(),null,
|
|
|
- null,1,1,1);
|
|
|
- riskMapper.insertTemplate(template);
|
|
|
- //风控模版关联应用
|
|
|
- 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();
|
|
|
- Date currentDate = new Date();
|
|
|
- List<YtRiskConfig> configIds = new ArrayList<>();
|
|
|
- createTemp344ByAdType(param, configIds, "0", "信息流");
|
|
|
- createTemp344ByAdType(param, configIds, "2", "横幅");
|
|
|
- createTemp344ByAdType(param, configIds, "4", "开屏");
|
|
|
- String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- String content = configIds.stream().map(YtRiskConfig::getFieldDesc).collect(Collectors.joining(""));
|
|
|
- YtRiskTemplate template = new YtRiskTemplate(templateId, "游客用户收益限制", content,
|
|
|
- appId + "-344", agentId, 2, appId,
|
|
|
- currentDate, 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);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- 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);
|
|
|
- configs.add(riskConfig);
|
|
|
- riskConfig = createRiskConfig(param.getUserId(), StrUtil.format("revenueLimit_{}", adSourceType),
|
|
|
- StrUtil.format("{}累计预估收益<{};", typeName, initVisitorRevenueLimit), initHourTaskLimit, 4);
|
|
|
- configs.add(riskConfig);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- private void addTemp768(AppParam param, MiddleUserInfo loginUser) {
|
|
|
- // 每{}小时用户获得完成{}个获得奖励的激励视频
|
|
|
- String appId = param.getAppId();
|
|
|
- String agentId = param.getUserId();
|
|
|
- Date currentDate = new Date();
|
|
|
- List<String> configIds = new ArrayList<>();
|
|
|
- YtRiskConfig riskConfig;
|
|
|
- riskConfig = createRiskConfig(agentId, "hourCount",
|
|
|
- StrUtil.format("每{}小时", initHourCount), initHourCount, 2);
|
|
|
- configIds.add(riskConfig.getConfigId());
|
|
|
- riskConfig = createRiskConfig(agentId, "hourTaskLimit",
|
|
|
- StrUtil.format("用户获得{}个获得奖励的激励视频", initHourTaskLimit), initHourTaskLimit, 2);
|
|
|
- configIds.add(riskConfig.getConfigId());
|
|
|
- String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- YtRiskTemplate template = new YtRiskTemplate(templateId,"小时区间任务数完成限制",
|
|
|
- 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);
|
|
|
- }
|
|
|
- //风控模版关联应用
|
|
|
- riskMapper.relativeApp(appId, param.getAppName(), template.getTemplateId(), loginUser.getNickName(), loginUser.getUserId());
|
|
|
- }
|
|
|
-
|
|
|
- private void addTemp767(AppParam param, MiddleUserInfo loginUser) {
|
|
|
- // 风控规则 每{}月用户获得{}个获得奖励的激励视频
|
|
|
- String appId = param.getAppId();
|
|
|
- String agentId = param.getUserId();
|
|
|
- Date currentDate = new Date();
|
|
|
- List<String> configIds = new ArrayList<>();
|
|
|
- YtRiskConfig riskConfig;
|
|
|
- riskConfig = createRiskConfig(agentId, "monthCount",
|
|
|
- StrUtil.format("每{}月", initMonthCount), initMonthCount, 2);
|
|
|
- configIds.add(riskConfig.getConfigId());
|
|
|
- riskConfig = createRiskConfig(agentId, "monthTaskLimit",
|
|
|
- StrUtil.format("用户获得{}个获得奖励的激励视频", initMonthTaskLimit),initMonthTaskLimit, 2);
|
|
|
- configIds.add(riskConfig.getConfigId());
|
|
|
- String templateId = IdUtil.getSnowflakeNextIdStr();
|
|
|
- YtRiskTemplate template = new YtRiskTemplate(templateId,"月区间任务完成数限制",
|
|
|
- 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);
|
|
|
- }
|
|
|
- //风控模版关联应用
|
|
|
- riskMapper.relativeApp(appId, param.getAppName(), template.getTemplateId(), loginUser.getNickName(), loginUser.getUserId());
|
|
|
- }
|
|
|
-
|
|
|
- private void addTemp766(AppParam param, MiddleUserInfo loginUser) {
|
|
|
- // 风控规则:当用户完成广告类型 激励视频 {}个 数时,获取近期{} * {} 条收益(平均取整)平均值 ,低于预设值 {} 时,
|
|
|
- String appId = param.getAppId();
|
|
|
- String agentId = param.getUserId();
|
|
|
- Date currentDate = new Date();
|
|
|
- List<String> configIds = new ArrayList<>();
|
|
|
- YtRiskConfig riskConfig;
|
|
|
- riskConfig = createRiskConfig(agentId, "adCompletedCount",
|
|
|
- StrUtil.format("当日用户获得{}个获得奖励的激励视频,"),initAdCompletedCount, 2);
|
|
|
- configIds.add(riskConfig.getConfigId());
|
|
|
- riskConfig = createRiskConfig(agentId, "firstCount",
|
|
|
- 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("当日用户获得{}个获得奖励的激励视频,近期前{}个获得奖励的激励视频平均收益<{}",
|
|
|
- initAdCompletedCount, initFirstCount, initAverageRevenue);
|
|
|
- YtRiskTemplate template = new YtRiskTemplate(templateId,"成本收益限制", templateContent,
|
|
|
- appId + "-766", 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);
|
|
|
- }
|
|
|
- //风控模版关联应用
|
|
|
- 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;
|
|
|
- }
|
|
|
-
|
|
|
-}
|