Bläddra i källkod

增加渠道应用列表接口
增加风控配置关联APP应用接口

marxjaw 5 månader sedan
förälder
incheckning
80e2f65a05

+ 33 - 0
yt-agent/agent-service/src/main/java/com/ytpm/controller/AppController.java

@@ -0,0 +1,33 @@
+package com.ytpm.controller;
+
+import com.ytpm.agent.view.AgentEnableAppView;
+import com.ytpm.agent.view.AgentUserInfo;
+import com.ytpm.general.ResultTable;
+import com.ytpm.service.AgentAppService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@Api(tags = "APP应用管理模块")
+@RestController
+@RequestMapping("/app")
+public class AppController {
+
+    @Resource
+    private AgentAppService agentAppService;
+
+    /**
+     * 查询渠道启用的应用列表
+     */
+    @ApiOperation("查询渠道启用的应用列表")
+    @GetMapping("/getEnabledList")
+    public ResultTable<AgentEnableAppView> getEnabledList(@AuthenticationPrincipal AgentUserInfo userInfo) {
+        return agentAppService.getEnabledList(userInfo.getUserId());
+    }
+
+}

+ 9 - 5
yt-agent/agent-service/src/main/java/com/ytpm/controller/RiskController.java

@@ -1,6 +1,5 @@
 package com.ytpm.controller;
 
-import com.ytpm.agent.view.AgentUserInfo;
 import com.ytpm.feign.RiskFeign;
 import com.ytpm.general.Result;
 import com.ytpm.general.ResultTable;
@@ -8,10 +7,8 @@ import com.ytpm.risk.param.*;
 import com.ytpm.risk.view.RiskBannedListView;
 import com.ytpm.risk.view.RiskConfigListView;
 import com.ytpm.risk.view.RiskDeblockingListView;
-import com.ytpm.service.YtAppUserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.security.core.annotation.AuthenticationPrincipal;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -23,8 +20,6 @@ public class RiskController {
 
     @Resource
     private RiskFeign riskFeign;
-    @Resource
-    private YtAppUserService appUserService;
 
 
     /**
@@ -80,4 +75,13 @@ public class RiskController {
     public Result<?> changeUserStatus(@RequestBody RiskUserStatusParam param){
        return riskFeign.changeUserStatus(param);
     }
+
+    /**
+     * 风控配置关联应用
+     */
+    @ApiOperation("风控配置关联应用")
+    @PostMapping("/relativeApp")
+    public Result<?> relativeApp(@RequestBody RiskRelativeAppParam param){
+        return riskFeign.relativeApp(param);
+    }
 }

+ 15 - 0
yt-agent/agent-service/src/main/java/com/ytpm/dao/AgentAppMapper.java

@@ -0,0 +1,15 @@
+package com.ytpm.dao;
+
+import com.ytpm.agent.view.AgentEnableAppView;
+import org.apache.ibatis.annotations.Param;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface AgentAppMapper {
+    /**
+     * 查询渠道启用的应用列表
+     */
+    List<AgentEnableAppView> getEnabledList(@Param("channelId") String channelId);
+}

+ 11 - 0
yt-agent/agent-service/src/main/java/com/ytpm/service/AgentAppService.java

@@ -0,0 +1,11 @@
+package com.ytpm.service;
+
+import com.ytpm.agent.view.AgentEnableAppView;
+import com.ytpm.general.ResultTable;
+
+public interface AgentAppService {
+    /**
+     * 查询渠道启用的应用列表
+     */
+    ResultTable<AgentEnableAppView> getEnabledList(String userId);
+}

+ 25 - 0
yt-agent/agent-service/src/main/java/com/ytpm/service/impl/AgentAppServiceImpl.java

@@ -0,0 +1,25 @@
+package com.ytpm.service.impl;
+
+import com.github.pagehelper.PageInfo;
+import com.ytpm.agent.view.AgentEnableAppView;
+import com.ytpm.dao.AgentAppMapper;
+import com.ytpm.general.ResultTable;
+import com.ytpm.service.AgentAppService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class AgentAppServiceImpl implements AgentAppService {
+
+    @Resource
+    private AgentAppMapper agentAppMapper;
+
+    /**
+     * 查询渠道启用的应用列表
+     */
+    @Override
+    public ResultTable<AgentEnableAppView> getEnabledList(String channelId) {
+        return ResultTable.resultTableOk(new PageInfo<>(agentAppMapper.getEnabledList(channelId)));
+    }
+}

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

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ytpm.dao.AgentAppMapper">
+
+    <select id="getEnabledList" resultType="com.ytpm.agent.view.AgentEnableAppView">
+        select
+        app_id, app_name, channel_id, app_type, parent_id, apk_url, qr_code, version_code, update_tips, enabled
+        from yt_app
+        where enabled = 1 and channel_id = #{channelId}
+    </select>
+</mapper>

+ 22 - 0
yt-common/src/main/java/com/ytpm/agent/view/AgentEnableAppView.java

@@ -0,0 +1,22 @@
+package com.ytpm.agent.view;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel("可选应用列表")
+public class AgentEnableAppView {
+    @ApiModelProperty("应用ID")
+    private String appId;
+    @ApiModelProperty("应用名称")
+    private String appName;
+    @ApiModelProperty("二维码链接")
+    private String qrCode;
+    @ApiModelProperty("是否选中")
+    private int checked;
+}

+ 2 - 1
yt-common/src/main/java/com/ytpm/general/RepMessage.java

@@ -17,8 +17,9 @@ public class RepMessage {
     public static final String LOGOUT_FAIL = "用户注销失败";
     public static final String UUID_EMPTY = "验证码生成失败! UUID:";
 
-    public static final String COLLECTION_EMPTY = "列表数据为空";
+    public static final String COLLECTION_EMPTY = "集合数据不能为空";
     public static final String LOCK_USER_SUCCESS = "用户锁定成功";
     public static final String USER_STATUS_MODIFY = "用户状态已改变";
     public static final String ALREADY_RISK_USER = "用户已被风控";
+    public static final String RELATIVE_APP_SUCCESS = "关联应用成功";
 }

+ 24 - 0
yt-common/src/main/java/com/ytpm/risk/param/RiskRelativeAppParam.java

@@ -0,0 +1,24 @@
+package com.ytpm.risk.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel("风控配置关联app入参")
+public class RiskRelativeAppParam {
+    @ApiModelProperty("选中的应用列表")
+    private List<String> appIdList;
+    @ApiModelProperty("关联的配置模版ID")
+    private String templateId;
+    @ApiModelProperty("操作人")
+    private String operator;
+    @ApiModelProperty("操作人名称")
+    private String operatorName;
+}

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

@@ -32,4 +32,7 @@ public interface RiskFeign {
 
     @PostMapping("/riskManage/changeUserStatus")
     Result<?> changeUserStatus(@RequestBody RiskUserStatusParam param);
+
+    @PostMapping("/riskManage/relativeApp")
+    Result<?> relativeApp(@RequestBody RiskRelativeAppParam param);
 }

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

@@ -3,10 +3,7 @@ package com.ytpm.controller;
 import com.ytpm.agent.view.AgentUserInfo;
 import com.ytpm.general.Result;
 import com.ytpm.general.ResultTable;
-import com.ytpm.risk.param.RiskBannedListParam;
-import com.ytpm.risk.param.RiskBannedParam;
-import com.ytpm.risk.param.RiskDeblockingListParam;
-import com.ytpm.risk.param.RiskUserStatusParam;
+import com.ytpm.risk.param.*;
 import com.ytpm.risk.view.RiskBannedListView;
 import com.ytpm.risk.view.RiskDeblockingListView;
 import com.ytpm.service.RiskService;
@@ -78,4 +75,16 @@ public class RiskManageController {
         param.setOperatorName(userInfo.getNickName());
         return riskService.changeUserStatus(param);
     }
+
+    /**
+     * 风控配置关联应用
+     */
+    @ApiOperation("风控配置关联应用")
+    @PostMapping("/relativeApp")
+    public Result<?> relativeApp(@RequestBody RiskRelativeAppParam param, @AuthenticationPrincipal AgentUserInfo userInfo){
+        param.setOperator(userInfo.getUserId());
+        param.setOperatorName(userInfo.getNickName());
+        return riskService.relativeApp(param);
+    }
+
 }

+ 11 - 0
yt-risk/risk-manage/src/main/java/com/ytpm/dao/RiskManageMapper.java

@@ -5,6 +5,7 @@ import com.ytpm.agent.model.YtPlatformBanned;
 import com.ytpm.agent.model.YtPlatformDeblocking;
 import com.ytpm.risk.param.RiskBannedListParam;
 import com.ytpm.risk.param.RiskDeblockingListParam;
+import com.ytpm.risk.param.RiskRelativeAppParam;
 import com.ytpm.risk.view.RiskBannedListView;
 import com.ytpm.risk.view.RiskDeblockingListView;
 import org.apache.ibatis.annotations.Param;
@@ -32,4 +33,14 @@ public interface RiskManageMapper {
      * 增加风控解禁记录
      */
     void addDeblockingRecord(YtPlatformDeblocking deblocking);
+
+    /**
+     * 风控配置关联应用
+     */
+    void relativeApps(RiskRelativeAppParam param);
+
+    /**
+     * 清除旧配置关联数据
+     */
+    void deleteRelatives(@Param("templateId") String templateId);
 }

+ 5 - 0
yt-risk/risk-manage/src/main/java/com/ytpm/service/RiskService.java

@@ -43,4 +43,9 @@ public interface RiskService {
      * 修改用户状态
      */
     Result<?> changeUserStatus(RiskUserStatusParam param);
+
+    /**
+     * 风控配置关联应用
+     */
+    Result<?> relativeApp(RiskRelativeAppParam param);
 }

+ 15 - 0
yt-risk/risk-manage/src/main/java/com/ytpm/service/impl/RiskServiceImpl.java

@@ -177,6 +177,21 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
         return Result.resultOk(RepMessage.USER_STATUS_MODIFY);
     }
 
+    /**
+     * 风控配置关联应用
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Result<?> relativeApp(RiskRelativeAppParam param) {
+        List<String> appIdList = param.getAppIdList();
+        if(CollUtil.isEmpty(appIdList)){
+            return Result.resultErr(RepMessage.COLLECTION_EMPTY);
+        }
+        riskManageMapper.deleteRelatives(param.getTemplateId());
+        riskManageMapper.relativeApps(param);
+        return Result.resultOk(RepMessage.RELATIVE_APP_SUCCESS);
+    }
+
     /**
      * 修改用户信息
      */

+ 21 - 0
yt-risk/risk-manage/src/main/resources/mapper/RiskManageMapper.xml

@@ -25,6 +25,27 @@
          #{operatorName}
         )
     </insert>
+    <insert id="relativeApps" parameterType="com.ytpm.risk.param.RiskRelativeAppParam">
+        insert into yt_risk_template_config
+            (
+             template_id,
+             config_id,
+             operator,
+             operator_time
+            )
+        values
+        <foreach collection="appIdList" separator="," index="index" item="item">
+            (
+             #{item.templateId},
+             #{item.configId},
+             #{item.operator},
+             #{item.operatorName}
+            )
+        </foreach>
+    </insert>
+    <delete id="deleteRelatives">
+        delete from yt_risk_template_config where template_id = #{templateId}
+    </delete>
     <select id="getDeblockingList" resultType="com.ytpm.risk.view.RiskDeblockingListView">
         SELECT
             au.platform_id,