Jelajahi Sumber

用户列表修改

marxjaw 4 bulan lalu
induk
melakukan
363adfe8c4

+ 14 - 2
yt-agent/agent-service/src/main/resources/mapper/AgentAppMapper.xml

@@ -2,7 +2,16 @@
 <!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">
+    <resultMap id="enabledAppMap" type="com.ytpm.agent.view.AgentEnableAppView">
+        <id column="app_id" property="appId" />
+        <result column="app_name" property="appName" />
+        <result column="qr_code" property="qrCode" />
+        <collection property="clazzList" ofType="com.ytpm.agent.view.AgentAppClassView">
+            <result column="full_name" property="fullName" />
+            <result column="class_desc" property="classDesc" />
+        </collection>
+    </resultMap>
+    <select id="getEnabledList" resultMap="enabledAppMap">
         SELECT
             ya.app_id,
             ya.app_name,
@@ -12,10 +21,13 @@
             ya.qr_code,
             ya.version_code,
             ya.update_tips,
-            ypu.nick_name
+            ypu.nick_name,
+            ac.full_name,
+            ac.class_desc
         FROM
             yt_app ya
                 LEFT JOIN yt_platform_user ypu ON ya.user_id = ypu.user_id
+                LEFT JOIN yt_app_class ac ON ya.app_id = ac.app_id and ac.enabled = 1
         WHERE
             ya.enabled = 1
           AND ya.user_id = #{userId}

+ 16 - 0
yt-common/src/main/java/com/ytpm/agent/view/AgentAppClassView.java

@@ -0,0 +1,16 @@
+package com.ytpm.agent.view;
+
+import lombok.Data;
+
+/**
+ * 应用的类全路径配置
+ */
+@Data
+public class AgentAppClassView {
+    /** 应用ID */
+    private String appId;
+    /** 类全名 */
+    private String fullName;
+    /** 类描述 */
+    private String classDesc;
+}

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

@@ -6,6 +6,8 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.List;
+
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
@@ -19,4 +21,6 @@ public class AgentEnableAppView {
     private String qrCode;
     @ApiModelProperty("是否选中")
     private int checked;
+    @ApiModelProperty("应用关联类维度")
+    private List<AgentAppClassView> clazzList;
 }

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

@@ -1,15 +1,26 @@
 package com.ytpm.app.model;
 
+import com.ytpm.custom.CustomField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
 
 @Data
+@ApiModel("答题记录")
 public class YtDyzAnswerRecord {
+    @ApiModelProperty("记录ID")
     private String recordId;
+    @ApiModelProperty("问题ID")
     private String questionId;
+    @ApiModelProperty("答案ID")
     private String itemId;
+    @CustomField
+    @ApiModelProperty("答题时长")
     private Long duration;
+    @ApiModelProperty("答题时间")
     private Date answerTime;
+    @ApiModelProperty("用户ID")
     private String userId;
 }

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

@@ -1,5 +1,8 @@
 package com.ytpm.app.model;
 
+import com.ytpm.custom.CustomField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -9,21 +12,32 @@ import java.util.Date;
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
+@ApiModel("登录记录")
 public class YtDyzLoginRecord {
     /** 登录记录ID */
+    @ApiModelProperty("登录记录ID")
     private String recordId;
     /** 用户ID */
+    @ApiModelProperty("用户ID")
     private String userId;
     /** 登录时间 */
+    @ApiModelProperty("登录时间")
     private Date loginTime;
     /** 设备品牌 */
+    @ApiModelProperty("设备品牌")
     private String deviceBrand;
     /** 设备型号 */
+    @ApiModelProperty("设备型号")
     private String deviceModel;
     /** 登录IP */
+    @ApiModelProperty("登录IP")
     private String loginIp;
     /** 运营商 */
+    @CustomField
+    @ApiModelProperty("运营商")
     private String operator;
     /** IP归属地 */
+    @CustomField
+    @ApiModelProperty("IP归属地")
     private String ipAddr;
 }

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

@@ -1,5 +1,6 @@
 package com.ytpm.dao;
 
+import com.ytpm.agent.view.AgentAppClassView;
 import com.ytpm.risk.model.YtRiskConfig;
 import com.ytpm.risk.model.YtRiskTemplate;
 import com.ytpm.risk.param.RiskBannedListParam;
@@ -58,4 +59,9 @@ public interface RiskConfigMapper {
      */
     void addRelease(@Param("templateId") String templateId, @Param("configIds") List<String> configIds,
                     @Param("operator") String operator, @Param("operatorName") String operatorName);
+
+    /**
+     * 根据应用获取配置类
+     */
+    List<AgentAppClassView> getAppClazz(@Param("appId") String appId);
 }

+ 13 - 4
yt-risk/risk-manage/src/main/java/com/ytpm/service/impl/RiskServiceImpl.java

@@ -10,6 +10,7 @@ import com.ytpm.agent.enums.UserStatusEnum;
 import com.ytpm.agent.model.YtAppUser;
 import com.ytpm.agent.model.YtPlatformBanned;
 import com.ytpm.agent.model.YtPlatformDeblocking;
+import com.ytpm.agent.view.AgentAppClassView;
 import com.ytpm.agent.view.AgentEnableAppView;
 import com.ytpm.agent.view.AgentUserInfo;
 import com.ytpm.app.model.YtAppUserLoginRecord;
@@ -45,6 +46,7 @@ import com.ytpm.risk.view.RiskTemplateView;
 import com.ytpm.service.RiskService;
 import com.ytpm.util.ReflectUtil;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -61,6 +63,7 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
+@Slf4j(topic = "风控服务")
 @Service
 public class RiskServiceImpl extends ReflectUtil implements RiskService {
 
@@ -82,14 +85,20 @@ public class RiskServiceImpl extends ReflectUtil implements RiskService {
     private AppFeign appFeign;
     /**
      * 查询配置字段选项
+     *  TODO 当前写死答题王,后续改成前端传入APPID
      */
     @Override
     public ResultTable<RiskConfigView> getRiskConfig() {
-        Field[] userFields = ReflectUtil.getClassField(YtDyzUser.class);
-        Field[] loginFields = ReflectUtil.getClassField(YtDyzLoginRecord.class);
+        List<AgentAppClassView> viewList = configMapper.getAppClazz("a684009039113d");
         List<RiskConfigView> configList = new ArrayList<RiskConfigView>();
-        addConfigItem(userFields,configList);
-        addConfigItem(loginFields,configList);
+        try{
+            for (AgentAppClassView view : viewList) {
+                addConfigItem(Class.forName(view.getFullName()).getDeclaredFields(),configList);
+            }
+        }catch (Exception e){
+            log.error(e.getMessage());
+            throw new CustomerException(e.getMessage());
+        }
         return ResultTable.resultTableOk(new PageInfo<RiskConfigView>(configList));
     }
 

+ 6 - 0
yt-risk/risk-manage/src/main/resources/mapper/RiskConfigMapper.xml

@@ -189,4 +189,10 @@
         WHERE
             rt.app_id = #{appId}
     </select>
+    <select id="getAppClazz" resultType="com.ytpm.agent.view.AgentAppClassView">
+        select
+            app_id, full_name, class_desc, enabled
+        from yt_app_class
+        where enabled = 1 and app_id = #{appId}
+    </select>
 </mapper>