Forráskód Böngészése

单独获取用户信息接口

marxjaw 3 hónapja
szülő
commit
01238a13c6

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

@@ -1,5 +1,6 @@
 package com.ytpm.controller;
 
+import cn.hutool.core.date.DateUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ytpm.advertise.enums.AdSourceTypeEnum;
@@ -12,6 +13,7 @@ import com.ytpm.app.view.YtAppUserListView;
 import com.ytpm.dao.AdRecordMapper;
 import com.ytpm.dao.AppUserMapper;
 import com.ytpm.dao.LoginRecordMapper;
+import com.ytpm.dao.QuestionMapper;
 import com.ytpm.general.RepMessage;
 import com.ytpm.general.Result;
 import com.ytpm.general.ResultTable;
@@ -24,6 +26,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
@@ -44,6 +47,8 @@ public class UserController {
     private LoginRecordMapper loginRecordMapper;
     @Autowired
     AdRecordMapper adRecordMapper;
+    @Autowired
+    private QuestionMapper questionMapper;
 
     private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 
@@ -72,8 +77,10 @@ public class UserController {
             //获取今日收益 | 今日视频播放数
             if (userAdMap.containsKey(user.getUserId())) {
                 List<YtDyzAdRecord> ytDyzAdRecords = userAdMap.get(user.getUserId());
-                BigDecimal todayIncome = calculateTodayIncome(ytDyzAdRecords);
-                user.setTodayVideo((int) ytDyzAdRecords.stream().filter(
+                List<YtDyzAdRecord> collect = ytDyzAdRecords.stream().filter(
+                        s -> DateUtil.isSameDay(DateUtil.date(),DateUtil.parseDate(s.getFinishTime()))).collect(Collectors.toList());
+                BigDecimal todayIncome = collect.stream().map(YtDyzAdRecord::getRevenue).reduce(BigDecimal.ZERO, BigDecimal::add);
+                user.setTodayVideo((int) collect.stream().filter(
                         s->s.getAdSourceType()== AdSourceTypeEnum.rewarded_video.getAdSourceType()).count());
                 user.setTodayIncome(todayIncome);
             } else {
@@ -82,7 +89,6 @@ public class UserController {
             }
         }
     }
-
     /**
      * 计算广告记录列表中今日的收益
      *
@@ -164,6 +170,9 @@ public class UserController {
     public Result<YtDyzUser> getUserInfo(@RequestParam("userId") String userId) {
         YtDyzUser user = appUserMapper.selectPrimaryKey(userId);
         user.setLoginRecordList(loginRecordMapper.getLoginRecords(userId));
+        user.setTodayAnswerCount(questionMapper.getAnswerCount(userId,1));
+        user.setHistoryAnswerCount(questionMapper.getAnswerCount(userId,2));
+        user.setAnswerRecordList(questionMapper.getAnswerRecords(userId));
         return Result.resultObjOk(user);
     }