Bladeren bron

登录风控校验修改
用户今日播放数修改

marxjaw 4 maanden geleden
bovenliggende
commit
eebbb6c948

+ 13 - 0
yt-app/app-service/src/main/java/com/ytpm/config/interceptor/HttpInterceptor.java

@@ -1,5 +1,6 @@
 package com.ytpm.config.interceptor;
 
+import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.HandlerInterceptor;
 import org.springframework.web.servlet.ModelAndView;
 
@@ -7,14 +8,26 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
 
+@Component
 public class HttpInterceptor implements HandlerInterceptor {
 
     @Override
     public boolean preHandle(HttpServletRequest request,
                              HttpServletResponse response, Object obj) throws Exception {
+        // 获取客户端IP地址
+        String clientIp = getClientIp(request);
+        System.out.println("客户端" + clientIp + "发起用户请求");
+        // 可以在这里添加更多的逻辑,比如记录日志等
         return true;
     }
 
+    private String getClientIp(HttpServletRequest request) {
+        String xfHeader = request.getHeader("X-Forwarded-For");
+        if (xfHeader == null) {
+            return request.getRemoteAddr();
+        }
+        return xfHeader.split(",")[0]; // 可能会有多个IP,这里取第一个逗号前的IP
+    }
     /**
      * 请求处理之后调用;在视图渲染之前,controller处理之后。
      */

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

@@ -18,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/user")
@@ -36,8 +38,15 @@ public class UserController {
     @GetMapping("/queryAll")
     public ResultTable<YtDyzUser> queryAll(){
         List<YtDyzUser> dyzUsers = appUserMapper.queryAll();
+        if(dyzUsers.isEmpty()) return ResultTable.resultTableOk(new PageInfo<YtDyzUser>(dyzUsers));
+        List<YtDyzAdRecord> ids = adRecordMapper.getByUserIds(
+                dyzUsers.stream().map(YtDyzUser::getUserId).collect(Collectors.joining(",")));
+        Map<String, List<YtDyzAdRecord>> userAdMap = ids.stream().collect(
+                Collectors.groupingBy(YtDyzAdRecord::getUserId));
         for (YtDyzUser user : dyzUsers) {
             user.setLoginRecordList(loginRecordMapper.getLoginRecords(user.getWxOpenId()));
+            user.setTodayVideo(userAdMap.containsKey(user.getUserId())?
+                    userAdMap.get(user.getUserId()).size():0);
         }
         return ResultTable.resultTableOk(new PageInfo<YtDyzUser>(dyzUsers));
     }

+ 2 - 0
yt-app/app-service/src/main/java/com/ytpm/dao/AdRecordMapper.java

@@ -16,4 +16,6 @@ public interface AdRecordMapper {
      * 查询用户的广告记录
      */
     List<YtDyzAdRecord> getByUserId(@Param("userId") String userId);
+
+    List<YtDyzAdRecord> getByUserIds(@Param("userIds") String userIds);
 }

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

@@ -47,4 +47,14 @@
         where user_id = #{userId}
         order by finish_time
     </select>
+    <select id="getByUserIds" resultType="com.ytpm.app.model.YtDyzAdRecord">
+        select
+            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 in
+              <foreach collection="userIds.split(',')" open="(" close=")" separator="," item="item">
+                  #{item}
+              </foreach>
+        order by finish_time
+    </select>
 </mapper>

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

@@ -106,4 +106,6 @@ public class YtDyzUser {
     private List<YtDyzLoginRecord> loginRecordList;
     /** 风控编码 */
     private String riskCode;
+    @ApiModelProperty("今日视频播放数")
+    private int todayVideo;
 }

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

@@ -213,6 +213,6 @@
                 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.template_code = #{templateCode}
+            rt.template_code = #{riskCode}
     </select>
 </mapper>