Bläddra i källkod

Merge remote-tracking branch 'origin/master'

小杜 4 månader sedan
förälder
incheckning
d5bc6792b3
36 ändrade filer med 242 tillägg och 132 borttagningar
  1. 1 1
      yt-agent/agent-service/src/main/java/com/ytpm/controller/YtAppUserController.java
  2. 8 44
      yt-agent/agent-service/src/main/java/com/ytpm/service/impl/AgentAppServiceImpl.java
  3. 1 0
      yt-agent/agent-service/src/main/resources/mapper/AgentAppMapper.xml
  4. 15 4
      yt-agent/agent-service/src/main/resources/mapper/AppMapper.xml
  5. 1 1
      yt-app/app-feign/src/main/java/com/ytpm/feign/AppFeign.java
  6. 1 1
      yt-app/app-service/src/main/java/com/ytpm/controller/UserController.java
  7. 1 1
      yt-app/app-service/src/main/java/com/ytpm/service/impl/AdServiceImpl.java
  8. 3 0
      yt-app/app-service/src/main/resources/mapper/AdRecordMapper.xml
  9. 4 0
      yt-common/src/main/java/com/ytpm/agent/model/YtApp.java
  10. 1 0
      yt-common/src/main/java/com/ytpm/agent/model/YtPlatformBanned.java
  11. 2 0
      yt-common/src/main/java/com/ytpm/agent/model/YtPlatformDeblocking.java
  12. 4 0
      yt-common/src/main/java/com/ytpm/agent/view/AgentAppView.java
  13. 8 8
      yt-common/src/main/java/com/ytpm/app/model/DefaultRiskConfig.java
  14. 0 1
      yt-common/src/main/java/com/ytpm/app/model/YtDyzAnswerRecord.java
  15. 3 3
      yt-common/src/main/java/com/ytpm/app/model/YtDyzLoginRecord.java
  16. 8 8
      yt-common/src/main/java/com/ytpm/app/model/YtDyzUser.java
  17. 5 5
      yt-common/src/main/java/com/ytpm/app/view/YtAppUserListView.java
  18. 4 0
      yt-common/src/main/java/com/ytpm/custom/CustomField.java
  19. 3 0
      yt-common/src/main/java/com/ytpm/risk/model/YtRiskTemplate.java
  20. 2 0
      yt-common/src/main/java/com/ytpm/risk/param/RiskBannedListParam.java
  21. 4 0
      yt-common/src/main/java/com/ytpm/risk/param/RiskBannedParam.java
  22. 4 0
      yt-common/src/main/java/com/ytpm/risk/param/RiskConfigParam.java
  23. 2 0
      yt-common/src/main/java/com/ytpm/risk/param/RiskDeblockingListParam.java
  24. 4 0
      yt-common/src/main/java/com/ytpm/risk/param/RiskUserStatusParam.java
  25. 6 0
      yt-common/src/main/java/com/ytpm/risk/view/RiskConfigListView.java
  26. 4 0
      yt-common/src/main/java/com/ytpm/risk/view/RiskTemplateView.java
  27. 1 1
      yt-common/src/main/java/com/ytpm/util/RedisService.java
  28. 2 2
      yt-risk/risk-feign/src/main/java/com/ytpm/feign/RiskFeign.java
  29. 3 3
      yt-risk/risk-manage/src/main/java/com/ytpm/controller/PublicApiController.java
  30. 4 2
      yt-risk/risk-manage/src/main/java/com/ytpm/controller/RiskManageController.java
  31. 10 0
      yt-risk/risk-manage/src/main/java/com/ytpm/dao/RiskConfigMapper.java
  32. 6 1
      yt-risk/risk-manage/src/main/java/com/ytpm/service/RiskService.java
  33. 63 31
      yt-risk/risk-manage/src/main/java/com/ytpm/service/impl/RiskServiceImpl.java
  34. 44 1
      yt-risk/risk-manage/src/main/resources/mapper/RiskConfigMapper.xml
  35. 8 14
      yt-risk/risk-manage/src/main/resources/mapper/RiskManageMapper.xml
  36. 2 0
      yt-risk/risk-manage/src/main/resources/mapper/RiskUserMapper.xml

+ 1 - 1
yt-agent/agent-service/src/main/java/com/ytpm/controller/YtAppUserController.java

@@ -53,7 +53,7 @@ public class YtAppUserController {
      */
     @GetMapping("/ecpm")
     @ApiOperation(value = "查询用户ecpm数据")
-    public ResultTable<YtUserEcpmListView> ecpmList(@RequestParam("userId")String userId){
+    public ResultTable<YtUserEcpmListView> ecpmList(@RequestParam(name = "userId", required = true) String userId){
         return appUserService.ecpmList(userId);
     }
 }

+ 8 - 44
yt-agent/agent-service/src/main/java/com/ytpm/service/impl/AgentAppServiceImpl.java

@@ -2,6 +2,8 @@ package com.ytpm.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.text.CharSequenceUtil;
+import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -76,23 +78,6 @@ public class AgentAppServiceImpl implements AgentAppService {
         if(CollUtil.isEmpty(views)){
             return ResultTable.resultTableOk(new PageInfo<>(new ArrayList<>()));
         }
-        List<String> appIds = views.stream().map(AgentAppView::getAppId).collect(Collectors.toList());
-        ComprehensiveReportParam param = new ComprehensiveReportParam();
-        param.setGroup_by(Collections.singletonList("app"));
-        param.setStartdate(DateUtil.getDateNum(LocalDate.now().minusDays(7)));
-        param.setEnddate(DateUtil.getDateNum(LocalDate.now()));
-        param.setTime_zone("UTC-8");
-        param.setApp_id_list(appIds);
-        List<ComprehensiveAppReport> appReport = advertiseFeign.getAppReport(param);
-        Map<String, ComprehensiveAppReport> reportMap = new HashMap<>();
-        if(CollUtil.isNotEmpty(appReport)){
-            reportMap =  appReport.stream().collect(Collectors.toMap(
-                            s -> s.getApp().getId(), O -> O));
-        }
-        for (AgentAppView view : views) {
-            if(!reportMap.containsKey(view.getAppId()))continue;
-            BeanUtil.copyProperties(reportMap.get(view.getAppId()), view);
-        }
         return ResultTable.resultTableOk(new PageInfo<>(views));
     }
 
@@ -101,42 +86,21 @@ public class AgentAppServiceImpl implements AgentAppService {
      */
     @Override
     public Result<?> saveApp(AppParam param, String userId) {
-        //构造API对象
-        AddAppParam addAppParam = new AddAppParam(param);
-        Result<AddAppResponse> result = null;
-        //调用广告平台API 增加应用
-        try {
-            result=advertiseFeign.saveApp(addAppParam);
-        }catch (Exception e){
-            log.error("参数错误{}",e);
-        }
         //数据库操作,有appId为修改, 没有时为新增
-        changeDataAction(param,result,userId);
+        changeDataAction(param,userId);
         return Result.resultOk(RepMessage.SAVE_SUCCESS);
     }
 
     /**
      * 处理数据库数据变更操作
      */
-    private void changeDataAction(AppParam param, Result<AddAppResponse> result, String userId) {
+    private void changeDataAction(AppParam param, String userId) {
         YtApp app = new YtApp();
         BeanUtil.copyProperties(param, app);
-        if(StrUtil.isNotBlank(param.getAppId())){
-            app.setScreenOrientation(param.getScreen_orientation());
-            app.setPackageName(param.getPackage_name());
-            app.setStoreOnSale(param.getStore_on_sale());
-            app.setStoreUrl(param.getStore_url());
+        if(CharSequenceUtil.isNotBlank(param.getAppId())){
             appMapper.updateOne(app);
         }else{
-            log.debug("result{}",result);
-            AddAppResponse data = result.getData();
-            BeanUtil.copyProperties(param, app);
-            app.setScreenOrientation(param.getScreen_orientation());
-            app.setPackageName(param.getPackage_name());
-            app.setStoreOnSale(param.getStore_on_sale());
-            app.setStoreUrl(param.getStore_url());
-            app.setAppId(data.getUuid());
-            app.setAppKey(data.getApp_key());
+            app.setAppId(IdUtil.fastSimpleUUID());
             app.setUserId(userId);
             app.setEnabled(1);
             appMapper.insertOne(app);
@@ -152,7 +116,7 @@ public class AgentAppServiceImpl implements AgentAppService {
         if(Objects.isNull(ytApp)|| !userId.equals(ytApp.getUserId())){
             Result.resultErr(RepMessage.NOT_PERMIT);
         }
-        advertiseFeign.delApp(appId);
+//        advertiseFeign.delApp(appId);
         appMapper.deleteApp(appId);
         return Result.resultOk(RepMessage.DELETE_SUCCESS);
     }
@@ -167,7 +131,7 @@ public class AgentAppServiceImpl implements AgentAppService {
         if(Objects.isNull(ytApp)){
             Result.resultErr(RepMessage.OBJECT_NOT_EXIST);
         }
-        advertiseFeign.relativePlatform(param);
+//        advertiseFeign.relativePlatform(param);
         YtAppChannelRelative ytAppChannelRelative = new YtAppChannelRelative();
         ytAppChannelRelative.setRelativeId(UUID.randomUUID().toString().replace("-",""));
         ytAppChannelRelative.setAppId(param.getAppId());

+ 1 - 0
yt-agent/agent-service/src/main/resources/mapper/AgentAppMapper.xml

@@ -58,6 +58,7 @@
             ya.ccpa,
             ya.screen_orientation,
             ya.ditch_name,
+            ya.ditch_id,
             GROUP_CONCAT( acr.channel_id ) channel_id,
             GROUP_CONCAT( acr.channel_name ) channel_name,
             GROUP_CONCAT( acr.network_app_id ) network_app_id,

+ 15 - 4
yt-agent/agent-service/src/main/resources/mapper/AppMapper.xml

@@ -24,7 +24,10 @@
          screen_orientation,
          ccpa,
          store_url,
-         ditch_id
+         ditch_id,
+         ditch_name,
+         superior_id,
+         enabled
         )
         values
         (
@@ -47,7 +50,10 @@
          #{screenOrientation},
          #{ccpa},
          #{storeUrl},
-         #{ditchId}
+         #{ditchId},
+         #{ditchName},
+         #{superiorId},
+         #{enabled}
         )
     </insert>
     <update id="updateOne">
@@ -108,9 +114,14 @@
                 qr_code = #{qrCode},
             </if>
             <if test="ditchId != null">
-               ditch_id=#{ditchId}
+                ditch_id = #{ditchId},
+            </if>
+            <if test="ditchName != null">
+                ditch_name = #{ditchName},
+            </if>
+            <if test="superiorId != null">
+                superior_id = #{superiorId}
             </if>
-
         </set>
         where app_id = #{appId}
     </update>

+ 1 - 1
yt-app/app-feign/src/main/java/com/ytpm/feign/AppFeign.java

@@ -31,7 +31,7 @@ public interface AppFeign {
     @PostMapping("/user/updateUserInfo")
     Result<?> updateUserInfo(@RequestBody YtDyzUser dyzUser);
     @GetMapping("/user/adRecords")
-    ResultTable<YtDyzAdRecord> adRecords(@RequestParam("userId") String userId);
+    ResultTable<YtDyzAdRecord> adRecords(@RequestParam(name = "userId",required = true) String userId);
 
     @PostMapping("/user/queryUserByTime")
     List<YtDyzUser> queryUserByTime(@RequestBody AppUserQueryParam appUserQueryParam);

+ 1 - 1
yt-app/app-service/src/main/java/com/ytpm/controller/UserController.java

@@ -196,7 +196,7 @@ public class UserController {
      * 查询用户的广告记录
      */
     @GetMapping("/adRecords")
-    public ResultTable<YtDyzAdRecord> adRecords(@RequestParam("userId") String userId) {
+    public ResultTable<YtDyzAdRecord> adRecords(@RequestParam(name = "userId",required = true) String userId) {
         return ResultTable.resultTableOk(new PageInfo<YtDyzAdRecord>(adRecordMapper.getByUserId(userId)));
     }
 

+ 1 - 1
yt-app/app-service/src/main/java/com/ytpm/service/impl/AdServiceImpl.java

@@ -49,7 +49,7 @@ public class AdServiceImpl implements AdService {
         }
         saveRecordAndChangeUser(param, user);
         //调用风控广告校验
-        Result<?> result = riskFeign.checkAdRisk(user.getUserId(),user.getAppId());
+        Result<?> result = riskFeign.checkAdRisk(user);
         if(result.getCode()!=200){
             throw new CustomerException(result.getMessage());
         }

+ 3 - 0
yt-app/app-service/src/main/resources/mapper/AdRecordMapper.xml

@@ -45,6 +45,9 @@
             record_id, user_id, nick_name, placement_id, ad_source_id, revenue, network_form_id, network_name, network_placement_id, finish_time, begin_time,result_json,ad_source_type,ad_source_index,ecpm
         from yt_dyz_ad_record
         where user_id = #{userId}
+<!--          <if test="adSourceType != null">-->
+<!--              and ad_source_type = #{adSourceType}-->
+<!--          </if>-->
         order by finish_time desc
     </select>
     <select id="getByUserIds" resultType="com.ytpm.app.model.YtDyzAdRecord">

+ 4 - 0
yt-common/src/main/java/com/ytpm/agent/model/YtApp.java

@@ -105,6 +105,10 @@ public class YtApp {
      * 渠道类型名称
      */
     private String ditchName;
+    /**
+     * 上架应用ID
+     */
+    private String superiorId;
 
 
 }

+ 1 - 0
yt-common/src/main/java/com/ytpm/agent/model/YtPlatformBanned.java

@@ -15,6 +15,7 @@ import java.util.Date;
 public class YtPlatformBanned {
     private String bannedId;
     private String userId;
+    private String agentId;
     private String appId;
     private String channelId;
     private Date bannedTime;

+ 2 - 0
yt-common/src/main/java/com/ytpm/agent/model/YtPlatformDeblocking.java

@@ -23,6 +23,8 @@ public class YtPlatformDeblocking {
     private String appId;
     @ApiModelProperty("渠道ID")
     private String channelId;
+    @ApiModelProperty("加盟商ID")
+    private String agentId;
     @ApiModelProperty("解禁时间")
     private Date deblockingTime;
     @ApiModelProperty("解禁原因")

+ 4 - 0
yt-common/src/main/java/com/ytpm/agent/view/AgentAppView.java

@@ -79,6 +79,10 @@ public class AgentAppView {
      * 渠道类型名称
      */
     private String ditchName;
+    /**
+     * 渠道ID
+     */
+    private String ditchId;
     /**
      * 屏幕方向
      */

+ 8 - 8
yt-common/src/main/java/com/ytpm/app/model/DefaultRiskConfig.java

@@ -17,30 +17,30 @@ import java.math.BigDecimal;
 @AllArgsConstructor
 @NoArgsConstructor
 public class DefaultRiskConfig {
-    @CustomField
+    @CustomField(desc = "?天内",node = 1)
     @ApiModelProperty("?天内")
     private int days;
-    @CustomField
+    @CustomField(desc = "IP前?段",node = 1)
     @ApiModelProperty("IP前?段")
     private int ipPrefix;
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("同IP登录数量")
     private int ipSameCount;
-    @CustomField
+    @CustomField(node = 2)
     @ApiModelProperty("当日前?条激励视频")
     private int firstAdCount;
-    @CustomField
+    @CustomField(node = 2)
     @ApiModelProperty("ecpm值")
     private int ecpm;
-    @CustomField
+    @CustomField(node = 2)
     @ApiModelProperty("总收益")
     private BigDecimal income;
 
-    @CustomField(desc = "当日前?条获得奖励的激励视频")
+    @CustomField(desc = "当日前?条获得奖励的激励视频",node = 2)
     @ApiModelProperty("当日前?条获得奖励的激励视频")
     private int rewardCount;
 
-    @CustomField(desc = "有?条")
+    @CustomField(desc = "有?条", node = 2)
     @ApiModelProperty("有?条")
     private int haveCount;
 

+ 0 - 1
yt-common/src/main/java/com/ytpm/app/model/YtDyzAnswerRecord.java

@@ -16,7 +16,6 @@ public class YtDyzAnswerRecord {
     private String questionId;
     @ApiModelProperty("答案ID")
     private String itemId;
-    @CustomField
     @ApiModelProperty("答题时长")
     private Long duration;
     @ApiModelProperty("答题时间")

+ 3 - 3
yt-common/src/main/java/com/ytpm/app/model/YtDyzLoginRecord.java

@@ -21,7 +21,7 @@ public class YtDyzLoginRecord {
     @ApiModelProperty("用户ID")
     private String userId;
     /** 登录时间 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("登录时间")
     private Date loginTime;
     /** 设备品牌 */
@@ -34,11 +34,11 @@ public class YtDyzLoginRecord {
     @ApiModelProperty("登录IP")
     private String loginIp;
     /** 运营商 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("运营商")
     private String operator;
     /** IP归属地 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("IP归属地")
     private String ipAddr;
 }

+ 8 - 8
yt-common/src/main/java/com/ytpm/app/model/YtDyzUser.java

@@ -32,7 +32,7 @@ public class YtDyzUser extends PageMeta {
     @ApiModelProperty("用户头像")
     private String headImg;
     /** 注册时间 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("注册时间")
     private Date registryTime;
     /** 最新登录时间 */
@@ -42,39 +42,39 @@ public class YtDyzUser extends PageMeta {
     @ApiModelProperty("最新登录IP")
     private String lastLoginIp;
     /** 登录天数 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("登录天数")
     private Integer loginDays;
     /** 总观看视频数 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("总观看视频数")
     private Integer totalVideo;
     /** 总收益 */
     @ApiModelProperty("总收益")
     private BigDecimal totalIncome;
     /** 红包余额 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("红包余额")
     private BigDecimal redPacketBalance;
     /** 红包总金额 */
     @ApiModelProperty("红包总金额")
     private BigDecimal redPacketAmount;
     /** 积分余额 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("积分余额")
     private BigDecimal pointsBalance;
     /** 积分总额 */
     @ApiModelProperty("积分总额")
     private BigDecimal pointsTotal;
     /** 提现总额 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("提现总额")
     private BigDecimal withdrawTotal;
     /** 用户签到天数 */
     @ApiModelProperty("用户签到天数")
     private Integer signDays;
     /** 用户状态 */
-    @CustomField(value = "user_status",desc = "用户状态")
+    @CustomField(value = "user_status",desc = "用户状态",node = 1)
     @ApiModelProperty("用户状态")
     private Integer userStatus;
     /** 风控原因 */
@@ -93,7 +93,7 @@ public class YtDyzUser extends PageMeta {
     @ApiModelProperty("体力")
     private Integer power;
     /** 今日答题数 */
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("今日答题数")
     private Integer todayAnswerCount;
     /** 历史答题数 */

+ 5 - 5
yt-common/src/main/java/com/ytpm/app/view/YtAppUserListView.java

@@ -48,10 +48,10 @@ public class YtAppUserListView extends PageMeta {
     private Integer channelType;
     @ApiModelProperty("渠道来源")
     private Integer channelOrigin;
-    @CustomField(value = "user_type",desc = "用户类型")
+    @CustomField(value = "user_type",desc = "用户类型", node = 1)
     @ApiModelProperty("用户类型")
     private Integer userType;
-    @CustomField(value = "user_status",desc = "用户状态")
+    @CustomField(value = "user_status",desc = "用户状态", node = 1)
     @ApiModelProperty("用户状态")
     private Integer userStatus;
     @ApiModelProperty("今日视频播放数")
@@ -60,7 +60,7 @@ public class YtAppUserListView extends PageMeta {
     private Integer totalVideo;
     @ApiModelProperty("登录天数")
     private Integer loginDays;
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("总收益")
     private BigDecimal totalIncome;
     @ApiModelProperty("红包余额")
@@ -75,10 +75,10 @@ public class YtAppUserListView extends PageMeta {
     private BigDecimal withdrawTotal;
     @ApiModelProperty("提现笔数")
     private Integer withdrawCount;
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("IP重复数量")
     private Integer ipRepeatCount;
-    @CustomField
+    @CustomField(node = 1)
     @ApiModelProperty("设备重复数量")
     private Integer deviceRepeatCount;
     @ApiModelProperty("通信运营商")

+ 4 - 0
yt-common/src/main/java/com/ytpm/custom/CustomField.java

@@ -9,6 +9,10 @@ import java.lang.annotation.Target;
 @Target(ElementType.FIELD)
 @Retention(RetentionPolicy.RUNTIME)
 public @interface CustomField {
+    /** 注解携带值 */
     String value() default "";
+    /** 注解字段描述 */
     String desc() default "";
+    /** 业务节点 1-登录 2-广告 */
+    int node();
 }

+ 3 - 0
yt-common/src/main/java/com/ytpm/risk/model/YtRiskTemplate.java

@@ -17,10 +17,13 @@ public class YtRiskTemplate {
     private String templateContent;
     private String templateCode;
     private String channelId;
+    private Integer effectNode;
     private String appId;
     private Date createTime;
     private String createUserId;
     private Date updateTime;
     private String updateUserId;
     private Integer enabled;
+    private Integer canModify;
+    private Integer allSatisfy;
 }

+ 2 - 0
yt-common/src/main/java/com/ytpm/risk/param/RiskBannedListParam.java

@@ -20,6 +20,8 @@ public class RiskBannedListParam extends PageMeta {
     private String channelId;
     @ApiModelProperty("应用ID")
     private String appId;
+    @ApiModelProperty("加盟商ID")
+    private String agentId;
     @ApiModelProperty("渠道类型")
     private Integer channelType;
     @ApiModelProperty("渠道来源")

+ 4 - 0
yt-common/src/main/java/com/ytpm/risk/param/RiskBannedParam.java

@@ -27,4 +27,8 @@ public class RiskBannedParam {
     private Integer bannedLimit;
     @ApiModelProperty("应用ID")
     private String appId;
+    @ApiModelProperty("渠道ID")
+    private Long ditChId;
+    @ApiModelProperty("加盟商ID")
+    private String agentId;
 }

+ 4 - 0
yt-common/src/main/java/com/ytpm/risk/param/RiskConfigParam.java

@@ -34,4 +34,8 @@ public class RiskConfigParam extends BaseParam {
     private String operator;
     @ApiModelProperty(value = "操作人名称")
     private String operatorName;
+    @ApiModelProperty(value = "是否满足所有 1-全部 2-任意一条即可")
+    private Integer allSatisfy;
+    @ApiModelProperty(value = "业务节点")
+    private Integer effectNode;
 }

+ 2 - 0
yt-common/src/main/java/com/ytpm/risk/param/RiskDeblockingListParam.java

@@ -32,6 +32,8 @@ public class RiskDeblockingListParam extends PageMeta {
     private String appId;
     @ApiModelProperty("渠道ID")
     private String channelId;
+    @ApiModelProperty("加盟商ID")
+    private String agentId;
     @ApiModelProperty("渠道类型")
     private Integer channelType;
     @ApiModelProperty("渠道来源")

+ 4 - 0
yt-common/src/main/java/com/ytpm/risk/param/RiskUserStatusParam.java

@@ -13,6 +13,10 @@ import lombok.NoArgsConstructor;
 public class RiskUserStatusParam {
     @ApiModelProperty("用户ID")
     private String userId;
+    @ApiModelProperty("应用ID")
+    private String appId;
+    @ApiModelProperty("加盟商ID")
+    private String agentId;
     @ApiModelProperty("用户状态")
     private Integer userStatus;
     @ApiModelProperty("原因")

+ 6 - 0
yt-common/src/main/java/com/ytpm/risk/view/RiskConfigListView.java

@@ -42,4 +42,10 @@ public class RiskConfigListView extends PageMeta {
     private String appNames;
     @ApiModelProperty("修改者")
     private String updateNickName;
+    @ApiModelProperty("允许修改")
+    private Integer canModify;
+    @ApiModelProperty("条件范围")
+    private Integer allSatisfy;
+    @ApiModelProperty("影响节点")
+    private Integer effectNode;
 }

+ 4 - 0
yt-common/src/main/java/com/ytpm/risk/view/RiskTemplateView.java

@@ -36,6 +36,10 @@ public class RiskTemplateView {
     private String updateUserId;
     @ApiModelProperty("是否启用")
     private Integer enabled;
+    @ApiModelProperty("是否启用")
+    private Integer allSatisfy;
+    @ApiModelProperty("影响节点")
+    private Integer effectNode;
     @ApiModelProperty("配置项列表")
     private List<RiskConfigView> configList;
 }

+ 1 - 1
yt-common/src/main/java/com/ytpm/util/RedisService.java

@@ -215,7 +215,7 @@ public class RedisService {
             return this.getStr(todayKey);
         }
         this.del(yesterdayKey);
-        this.setStr(todayKey, todayKey+"01");
+        this.setStr(todayKey, todayKey+"0001");
         return this.getStr(todayKey);
     }
 

+ 2 - 2
yt-risk/risk-feign/src/main/java/com/ytpm/feign/RiskFeign.java

@@ -75,8 +75,8 @@ public interface RiskFeign {
     @GetMapping("/public/getRiskByCode")
     Result<RiskTemplateView> getRiskByCode(@RequestParam("code")String code);
 
-    @GetMapping("/public/checkAdRisk")
-    Result<?> checkAdRisk(@RequestParam("userId")String userId,@RequestParam("appId")String appId);
+    @PostMapping("/public/checkAdRisk")
+    Result<?> checkAdRisk(@RequestBody YtDyzUser ytDyzUser);
 
     @PostMapping("/riskManage/queryBanned")
     Result<Map<String, Integer>> queryBanned(@RequestBody AppUserQueryParam appUserQueryParam);

+ 3 - 3
yt-risk/risk-manage/src/main/java/com/ytpm/controller/PublicApiController.java

@@ -53,9 +53,9 @@ public class PublicApiController {
      * 校验广告的默认风控配置
      */
     @ApiOperation("校验广告的默认风控配置")
-    @GetMapping("/checkAdRisk")
-    public Result<?> checkAdRisk(@RequestParam("userId")String userId,@RequestParam("appId") String appId){
-       return riskService.checkAdRisk(userId,appId);
+    @PostMapping("/checkAdRisk")
+    public Result<?> checkAdRisk(@RequestBody YtDyzUser dyzUser){
+       return riskService.checkAdRisk(dyzUser);
     }
 
 }

+ 4 - 2
yt-risk/risk-manage/src/main/java/com/ytpm/controller/RiskManageController.java

@@ -73,6 +73,7 @@ public class RiskManageController {
     public Result<?> banned(@RequestBody RiskBannedParam param, @ApiIgnore @AuthenticationPrincipal AgentUserInfo userInfo) {
         param.setOperator(userInfo.getUserId());
         param.setOperatorName(userInfo.getNickName());
+        param.setAgentId(userInfo.getUserId());
         return riskService.banned(param);
     }
 
@@ -82,7 +83,7 @@ public class RiskManageController {
     @ApiOperation("查询风控用户记录")
     @PostMapping("/bannedList")
     public ResultTable<RiskBannedListView> bannedList(@RequestBody RiskBannedListParam param, @ApiIgnore @AuthenticationPrincipal AgentUserInfo userInfo) {
-        param.setChannelId(userInfo.getUserId());
+        param.setAgentId(userInfo.getUserId());
         return riskService.bannedList(param);
     }
 
@@ -92,7 +93,7 @@ public class RiskManageController {
     @ApiOperation("查询解封记录")
     @PostMapping("/deblockingList")
     public ResultTable<RiskDeblockingListView> deblockingList(@RequestBody RiskDeblockingListParam param, @ApiIgnore @AuthenticationPrincipal AgentUserInfo userInfo) {
-        param.setChannelId(userInfo.getUserId());
+        param.setAgentId(userInfo.getUserId());
         return riskService.deblockingList(param);
     }
 
@@ -104,6 +105,7 @@ public class RiskManageController {
     public Result<?> changeUserStatus(@RequestBody RiskUserStatusParam param, @ApiIgnore @AuthenticationPrincipal AgentUserInfo userInfo) {
         param.setOperator(userInfo.getUserId());
         param.setOperatorName(userInfo.getNickName());
+        param.setAgentId(userInfo.getUserId());
         return riskService.changeUserStatus(param);
     }
 

+ 10 - 0
yt-risk/risk-manage/src/main/java/com/ytpm/dao/RiskConfigMapper.java

@@ -69,4 +69,14 @@ public interface RiskConfigMapper {
      * 根据风控编码获取风控配置
      */
     RiskTemplateView getByCode(@Param("riskCode") String riskCode);
+
+    /**
+     * 根据应用ID获取应用所有者
+     */
+    String getApplicationOwner(@Param("appId") String appId);
+
+    /**
+     * 根据effect_node 获取不同业务节点风控规则
+     */
+    RiskTemplateView getByNode(@Param("effectNode") Integer effectNode);
 }

+ 6 - 1
yt-risk/risk-manage/src/main/java/com/ytpm/service/RiskService.java

@@ -27,6 +27,11 @@ public interface RiskService {
      * 查询配置字段选项
      */
     ResultTable<RiskConfigView> getRiskConfig(String appIds);
+
+    /**
+     * 根据业务节点获取字段配置
+     */
+    ResultTable<RiskConfigView> getFieldConfigByNode(Integer effectNode);
     /**
      * 保存风控配置
      */
@@ -94,7 +99,7 @@ public interface RiskService {
     /**
      * 校验广告的默认风控配置
      */
-    Result<?> checkAdRisk(String userId, String appId);
+    Result<?> checkAdRisk(YtDyzUser dyzUser);
 
     List<YtPlatformBanned> queryBannedRecord(Date startTime,Date endTime);
 }

+ 63 - 31
yt-risk/risk-manage/src/main/java/com/ytpm/service/impl/RiskServiceImpl.java

@@ -3,6 +3,7 @@ package com.ytpm.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.text.CharSequenceUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import com.github.pagehelper.PageHelper;
@@ -97,7 +98,25 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
         List<RiskConfigView> configList = new ArrayList<RiskConfigView>();
         try{
             for (AgentAppClassView view : viewList) {
-                addConfigItem(Class.forName(view.getFullName()).getDeclaredFields(),configList);
+                addConfigItem(Class.forName(view.getFullName()).getDeclaredFields(),configList,null);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage());
+            throw new CustomerException(e.getMessage());
+        }
+        return ResultTable.resultTableOk(new PageInfo<RiskConfigView>(configList));
+    }
+
+    /**
+     * 根据业务节点查询配置项
+     */
+    @Override
+    public ResultTable<RiskConfigView> getFieldConfigByNode(Integer effectNode) {
+        List<AgentAppClassView> viewList = configMapper.getAppClazz("");
+        List<RiskConfigView> configList = new ArrayList<RiskConfigView>();
+        try{
+            for (AgentAppClassView view : viewList) {
+                addConfigItem(Class.forName(view.getFullName()).getDeclaredFields(),configList,effectNode);
             }
         }catch (Exception e){
             log.error(e.getMessage());
@@ -109,14 +128,15 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
     /**
      * 添加配置项
      */
-    private void addConfigItem(Field[] fields, List<RiskConfigView> configList) {
+    private void addConfigItem(Field[] fields, List<RiskConfigView> configList, Integer effectNode) {
         RiskConfigView view;
         for (Field field : fields) {
             field.setAccessible(true);
+            if(Objects.nonNull(effectNode) && field.getAnnotation(CustomField.class).node() != effectNode)continue;
             if(!field.isAnnotationPresent(CustomField.class))continue;
             view = new RiskConfigView();
             view.setFieldName(field.getName());
-            if(StrUtil.isNotBlank(field.getAnnotation(CustomField.class).value())){
+            if(CharSequenceUtil.isNotBlank(field.getAnnotation(CustomField.class).value())){
                 view.setDictList(dictMapper.getByTypeCode(field.getAnnotation(CustomField.class).value()));
             }
             view.setFieldDesc(field.getAnnotation(ApiModelProperty.class).value());
@@ -143,7 +163,7 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
             BeanUtil.copyProperties(listVO, config);
             config.setChannelId(param.getChannelId());
             String format = String.format(config.getFieldDesc(), config.getConfigVal());
-            if(StrUtil.isNotBlank(format)){
+            if(CharSequenceUtil.isNotBlank(format)&&configList.indexOf(listVO)!= (configList.size() - 1)){
                 content.append(format).append(",");
             }
             configs.add(config);
@@ -196,6 +216,7 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
         param.setBannedReason(BannedTypeEnum.CHANNEL.getDesc()+"禁止登录");
         param.setOperatorName(userInfo.getNickName());
         param.setOperator(userInfo.getUserId());
+        param.setAgentId(userInfo.getUserId());
         param.setBannedType(BannedTypeEnum.CHANNEL.getCode());
         addBannedRecord(Collections.singletonList(user.getUserId()),param);
         return Result.resultOk(RepMessage.LOCK_USER_SUCCESS);
@@ -405,7 +426,12 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
     @Override
     public Result<?> checkRisk(YtDyzUser dyzUser) {
         RiskTemplateView view = configMapper.getByCode(dyzUser.getRiskCode());
-        checkDefaultRiskConfig(dyzUser, view.getConfigList());
+        //如果启用了该配置 校验默认的风控配置
+        if(1==view.getEnabled()){
+            checkDefaultRiskConfig(dyzUser, view.getConfigList());
+        }
+        //查询用户所在app是否配置其他风控规则
+
         return Result.resultOk(RepMessage.QUERY_SUCCESS);
     }
 
@@ -438,7 +464,7 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
         }
         int ipSameCount = Integer.parseInt(configMap.get("ipSameCount"));
         if(intCount > ipSameCount){//校验同IP登录次数大于预设值,锁定用户
-            riskLockUser(dyzUser.getUserId(), dyzUser.getAppId(),"313","系统判定登录IP限制","当前用户已被风控!");
+            riskLockUser(dyzUser,"313","系统判定登录IP限制","当前用户已被风控!");
         }
     }
 
@@ -462,8 +488,8 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
      * 校验广告的默认风控配置
      */
     @Override
-    public Result<?> checkAdRisk(String userId,String appId) {
-        ResultTable<YtDyzAdRecord> table = appFeign.adRecords(userId);
+    public Result<?> checkAdRisk(YtDyzUser dyzUser) {
+        ResultTable<YtDyzAdRecord> table = appFeign.adRecords(dyzUser.getUserId());
         List<YtDyzAdRecord> records = table.getData();
         if(records.isEmpty()){
             return Result.resultOk(RepMessage.QUERY_SUCCESS);
@@ -476,10 +502,10 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
         ).sorted(Comparator.comparing(YtDyzAdRecord::getFinishTime)).collect(Collectors.toList());
         //校验风控742规则
         RiskTemplateView ecpmLimit= configMapper.getByCode("742");
-        checkRisk742(ecpmLimit,userId,appId,records);
+        checkRisk742(ecpmLimit,dyzUser,records);
         //校验风控746规则
         if(!records.isEmpty() && records.size()>1){
-            checkRisk746(userId,appId,records);
+            checkRisk746(dyzUser,records);
         }
         return Result.resultOk(RepMessage.QUERY_SUCCESS);
     }
@@ -487,8 +513,9 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
     /**
      * 校验默认风控规则746
      */
-    private void checkRisk746(String userId,String appId, List<YtDyzAdRecord> records) {
+    private void checkRisk746(YtDyzUser dyzUser, List<YtDyzAdRecord> records) {
         RiskTemplateView revenue = configMapper.getByCode("746");
+        if(revenue.getEnabled()!=1)return;
         Map<String, String> revenueMap = revenue.getConfigList().stream().collect(
                 Collectors.toMap(RiskConfigView::getFieldName, RiskConfigView::getConfigVal));
         List<YtDyzAdRecord> revenues = records.stream().filter(
@@ -502,7 +529,7 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
             //获取最先的两条
             BigDecimal reduce = revenues.stream().map(YtDyzAdRecord::getRevenue).reduce(BigDecimal.ZERO, BigDecimal::add);
             if(reduce.compareTo(income)<0){
-                riskLockUser(userId,appId, "746","系统判定小于最低收益限制","用户已被风控,风控编码:746");
+                riskLockUser(dyzUser, "746","系统判定小于最低收益限制","用户已被风控,风控编码:746");
             }
         }
     }
@@ -510,7 +537,8 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
     /**
      * 校验默认风控规则742
      */
-    private void checkRisk742(RiskTemplateView ecpmLimit,String userId,String appId,List<YtDyzAdRecord> records) {
+    private void checkRisk742(RiskTemplateView ecpmLimit,YtDyzUser dyzUser,List<YtDyzAdRecord> records) {
+        if(ecpmLimit.getEnabled()!=1)return;
         Map<String, String> limitMap = ecpmLimit.getConfigList().stream().collect(
                 Collectors.toMap(RiskConfigView::getFieldName, RiskConfigView::getConfigVal));
         int adCount = 0;
@@ -527,7 +555,7 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
             //判断小于预设值的视频数超出预设次数
             int haveCount = Integer.parseInt(limitMap.get("haveCount"));
             if(exact>haveCount){
-                riskLockUser(userId, appId,"742","系统判定激励视频ecpm值过低","用户已被风控,风控编码:742");
+                riskLockUser(dyzUser,"742","系统判定激励视频ecpm值过低","用户已被风控,风控编码:742");
             }
         }
     }
@@ -535,21 +563,23 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
     /**
      * 风控锁定用户
      */
-    private void riskLockUser(String userId,String appId, String riskCode, String tempName, String errMsg) {
+    private void riskLockUser(YtDyzUser dyzUser, String riskCode, String tempName, String errMsg) {
         //增加用户风控记录
         RiskBannedParam param = new RiskBannedParam();
-        param.setUserId(userId);
-        param.setAppId(appId);
+        param.setUserId(dyzUser.getUserId());
+        param.setAppId(dyzUser.getAppId());
+        param.setDitChId(dyzUser.getDitchId());
         param.setBannedLimit(24);
         param.setOperator("系统风控");
         param.setBannedReason(tempName);
         param.setOperatorName("系统风控");
-        addBannedRecord(Collections.singletonList(userId),param);
+        param.setAgentId(configMapper.getApplicationOwner(dyzUser.getAppId()));
+        addBannedRecord(Collections.singletonList(dyzUser.getUserId()),param);
         //懒得引入mq,因而利用线程池创建延迟定时任务修改用户状态,主线程继续执行,避免循环调用产生的死锁
         ScheduledExecutorService scheduled  = Executors.newSingleThreadScheduledExecutor();
         scheduled.schedule(()->{
             YtDyzUser next = new YtDyzUser();
-            next.setUserId(userId);
+            next.setUserId(dyzUser.getUserId());
             next.setUserStatus(UserStatusEnum.LOCK.getCode());
             next.setRiskCode(riskCode);
             next.setRiskReason(tempName);
@@ -558,7 +588,7 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
         //创建一次性定时任务用于24小时后解锁用户
         scheduled.schedule(()->{
             YtDyzUser user = new YtDyzUser();
-            user.setUserId(userId);
+            user.setUserId(dyzUser.getUserId());
             user.setUserStatus(UserStatusEnum.NORMAL.getCode());
             appFeign.updateUserInfo(user);
             scheduled.shutdown();
@@ -587,8 +617,7 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
             default: //解禁
                 YtPlatformBanned banned = riskManageMapper.getLastBanned(user.getUserId());
                 if(Objects.nonNull(banned)){
-                    addDeblockingRecord(banned.getBannedId(),banned.getAppId(),user.getUserId(),param.getOperator()
-                            ,param.getReason(),param.getOperatorName());
+                    addDeblockingRecord(banned,param);
                 }
         }
         appFeign.updateUserInfo(appUser);
@@ -597,17 +626,17 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
     /**
      * 增加解禁记录
      */
-    private void addDeblockingRecord(String bannedId, String appId, String userId, String operator, String reason, String operatorName) {
+    private void addDeblockingRecord(YtPlatformBanned banned, RiskUserStatusParam param) {
         YtPlatformDeblocking deblocking = new YtPlatformDeblocking();
         deblocking.setDeblockingId(IdUtil.fastSimpleUUID());
-        deblocking.setUserId(userId);
-        deblocking.setAppId(appId);
-        deblocking.setOperator(operator);
-        deblocking.setOperatorName(operatorName);
-        deblocking.setBannedId(bannedId);
-        deblocking.setDeblockingReason(reason);
+        deblocking.setUserId(banned.getUserId());
+        deblocking.setAppId(banned.getAppId());
+        deblocking.setAgentId(param.getAgentId());
+        deblocking.setOperator(param.getOperator());
+        deblocking.setOperatorName(param.getOperatorName());
+        deblocking.setBannedId(banned.getBannedId());
+        deblocking.setDeblockingReason(param.getReason());
         deblocking.setDeblockingTime(new Date());
-        deblocking.setChannelId(operator);
         riskManageMapper.addDeblockingRecord(deblocking);
     }
 
@@ -621,7 +650,10 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
             banned.setBannedId(IdUtil.fastSimpleUUID());
             banned.setUserId(userId);
             banned.setAppId(param.getAppId());
-            banned.setChannelId(param.getOperator());
+            banned.setAgentId(param.getAgentId());
+            if(Objects.nonNull(param.getDitChId())){
+                banned.setChannelId(param.getDitChId().toString());
+            }
             banned.setBannedLimit(Objects.isNull(param.getBannedLimit())?defaultLimit:param.getBannedLimit());
             banned.setBannedReason(StrUtil.isBlank(param.getBannedReason())?defaultReason:param.getBannedReason());
             banned.setBannedType(BannedTypeEnum.CHANNEL.getCode());

+ 44 - 1
yt-risk/risk-manage/src/main/resources/mapper/RiskConfigMapper.xml

@@ -33,7 +33,9 @@
              template_name,
              template_content,
              template_code,
+             effect_node,
              channel_id,
+             all_satisfy,
              app_id,
              create_time,
              create_user_id,
@@ -45,7 +47,9 @@
                 #{templateName},
                 #{templateContent},
                 #{templateCode},
+                #{effectNode},
                 #{channelId},
+                #{allSatisfy},
                 #{appId},
                 #{createTime},
                 #{createUserId},
@@ -87,6 +91,9 @@
             <if test="channelId != null">
                 channel_id = #{channelId},
             </if>
+            <if test="effectNode != null">
+                effect_node = #{effectNode},
+            </if>
             <if test="appId != null">
                 app_id = #{appId},
             </if>
@@ -116,6 +123,9 @@
             t.template_content,
             u.nick_name as nickName,
             t.enabled,
+            t.effect_node,
+            t.all_satisfy,
+            t.can_modify,
             t.update_time,
             u_update.nick_name as updateNickName
         FROM
@@ -129,7 +139,7 @@
     </select>
     <select id="selectOneTemplate" resultType="com.ytpm.risk.model.YtRiskTemplate">
         select
-            template_id, template_name, template_content, template_code, channel_id, app_id, create_time, create_user_id, update_time, update_user_id, enabled
+            template_id, template_name, template_content, template_code,effect_node, channel_id, app_id, create_time, create_user_id, update_time, update_user_id, enabled
         from yt_risk_template
         where template_id = #{templateId}
     </select>
@@ -139,6 +149,8 @@
         <result column="template_name" property="templateName" />
         <result column="template_content" property="templateContent" />
         <result column="enabled" property="enabled" />
+        <result column="all_satisfy" property="allSatisfy" />
+        <result column="effect_node" property="effectNode" />
         <collection property="configList" ofType="com.ytpm.risk.view.RiskConfigView">
             <id column="config_id" property="configId" />
             <result column="field_name" property="fieldName" />
@@ -154,7 +166,9 @@
             rt.template_code,
             rt.template_name,
             rt.template_content,
+            rt.effect_node,
             rt.enabled,
+            rt.all_satisfy,
             rc.config_id,
             rc.field_name,
             rc.field_desc,
@@ -175,6 +189,7 @@
             rt.template_code,
             rt.template_name,
             rt.template_content,
+            rt.effect_node,
             rt.enabled,
             rc.config_id,
             rc.field_name,
@@ -207,6 +222,7 @@
             rt.template_code,
             rt.template_name,
             rt.template_content,
+            rt.effect_node,
             rt.enabled,
             rc.config_id,
             rc.field_name,
@@ -221,4 +237,31 @@
         WHERE
             rt.template_code = #{riskCode}
     </select>
+    <select id="getByNode" resultMap="RiskTemplateViewMap">
+        SELECT
+            rt.template_id,
+            rt.template_code,
+            rt.template_name,
+            rt.template_content,
+            rt.enabled,
+            rc.config_id,
+            rt.effect_node,
+            rc.field_name,
+            rc.field_desc,
+            rc.config_type,
+            rc.config_val,
+            rc.multy
+        FROM
+            yt_risk_template rt
+                LEFT JOIN yt_risk_template_config rtc ON rt.template_id = rtc.template_id
+                LEFT JOIN yt_risk_config rc ON rtc.config_id = rc.config_id
+        WHERE
+            rt.effect_node = #{effectNode}
+    </select>
+    <select id="getApplicationOwner" resultType="java.lang.String">
+        select
+            user_id
+        from yt_app
+        where app_id = #{appId}
+    </select>
 </mapper>

+ 8 - 14
yt-risk/risk-manage/src/main/resources/mapper/RiskManageMapper.xml

@@ -9,6 +9,7 @@
          user_id,
          app_id,
          channel_id,
+         agent_id,
          deblocking_time,
          deblocking_reason,
          operator,
@@ -21,6 +22,7 @@
          #{userId},
          #{appId},
          #{channelId},
+         #{agentId},
          #{deblockingTime},
          #{deblockingReason},
          #{operator},
@@ -57,6 +59,7 @@
             pd.deblocking_id,
             pd.banned_id,
             pd.user_id,
+            pd.agent_id,
             pd.channel_id,
             pd.deblocking_time,
             pd.deblocking_reason,
@@ -68,7 +71,7 @@
             yt_platform_deblocking pd
             JOIN yt_app a ON pd.app_id = a.app_id
         WHERE
-            pd.channel_id = #{channelId}
+            pd.agent_id = #{agentId}
         <if test="appId != null and appId != ''">
             and a.app_id = #{appId}
         </if>
@@ -87,30 +90,21 @@
     <select id="getBannedList" resultType="com.ytpm.risk.view.RiskBannedListView">
         SELECT
         pb.banned_id,
-#         au.platform_id,
-#         au.channel_id,
-#         au.user_id,
-#         au.nick_name,
-#         au.registry_time,
-#         au.last_login_ip,
-#         au.last_login_time,
-#         au.user_status,
         pb.banned_time,
         pb.banned_reason,
-#         au.channel_type,
-#         au.channel_origin,
         pb.banned_type,
         pb.banned_limit,
         pb.operator,
         pb.operator_name,
         pb.user_id,
+        pb.agent_id,
         a.app_id,
         a.app_name
         FROM
         yt_platform_banned pb
         JOIN yt_app a ON pb.app_id = a.app_id
         WHERE
-        pb.channel_id = #{channelId}
+        pb.agent_id = #{agentId}
         <if test="appId != null and appId != ''">
             and a.app_id = #{appId}
         </if>
@@ -127,7 +121,7 @@
     </select>
     <select id="getLastBanned" resultType="com.ytpm.agent.model.YtPlatformBanned">
         select
-            banned_id, app_id, user_id, channel_id, banned_time, banned_reason, banned_type, banned_limit, operator, operator_name
+            banned_id, app_id, user_id, channel_id,agent_id, banned_time, banned_reason, banned_type, banned_limit, operator, operator_name
         from yt_platform_banned
         where user_id = #{userId}
         order by banned_time desc
@@ -136,7 +130,7 @@
 
     <select id="queryBannedRecord" resultType="com.ytpm.agent.model.YtPlatformBanned">
         select
-        banned_id, user_id, channel_id, banned_time, banned_reason, banned_type, banned_limit, operator, operator_name
+        banned_id, user_id, channel_id,agent_id, banned_time, banned_reason, banned_type, banned_limit, operator, operator_name
         from yt_platform_banned
         <where>
             <if test="startTime != null">

+ 2 - 0
yt-risk/risk-manage/src/main/resources/mapper/RiskUserMapper.xml

@@ -7,6 +7,7 @@
          banned_id,
          user_id,
          app_id,
+         agent_id,
          channel_id,
          banned_time,
          banned_reason,
@@ -20,6 +21,7 @@
             #{bannedId},
             #{userId},
             #{appId},
+            #{agentId},
             #{channelId},
             #{bannedTime},
             #{bannedReason},