From 4712c04afe2aedeed20ddc5b1a3b0ba66b89cb9b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 01 七月 2024 17:43:22 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java |   94 +++++++++++++++++++++++++---------------------
 1 files changed, 51 insertions(+), 43 deletions(-)

diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
index aa54d0b..98c4eb4 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
@@ -192,7 +192,9 @@
     @PostMapping("/aliPayBuyVip")
     public void addVipPaymentAliCallback(HttpServletRequest request, HttpServletResponse response) {
         try {
+            System.err.println("进入支付宝回调");
             Map<String, String> map = payMoneyUtil.alipayCallback(request);
+            System.err.println("返回参数");
             if (null != map) {
                 String out_trade_no = map.get("out_trade_no");
                 String trade_no = map.get("trade_no");
@@ -213,7 +215,6 @@
                 byId.setTransactionId(trade_no);
                 byId.setOutTradeNo(out_trade_no);
                 byId.setPayTime(new Date());
-
 
                 TUser byId1 = userService.getById(byId.getUserId());
                 if (byId1.getVipPayTime() == null) {
@@ -987,9 +988,6 @@
     public R<UserInfoVO> getUserInfo(@RequestBody UserInfoQuery dto) {
         SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
         UserInfoVO res = new UserInfoVO();
-        PageInfo<UserGameRecordVO> list = new PageInfo<>(dto.getPageNumber(), dto.getPageSize());
-
-
         TUser byId = userService.getById(dto.getId());
         String name = byId.getName();
         String phone = byId.getPhone();
@@ -1005,57 +1003,67 @@
                 res.setIsVip(0);
             }
         }
-        if (vipPayTime != null) {
+        if (vipEndTime!=null){
             res.setVipPayTime(format.format(vipPayTime));
         }
         res.setState(byId.getState());
         res.setName(name);
         res.setPhone(phone);
-        res.setInsertTime(format.format(insertTime));
+        if (insertTime!=null){
+            res.setInsertTime(format.format(insertTime));
+        }
         res.setIntegral(byId.getIntegral());
+        // 学习记录
         TUserStudy studyRecord = userStudyService.lambdaQuery().eq(TUserStudy::getUserId, dto.getId())
                 .eq(TUserStudy::getDisabled, 0).one();
-        // 游戏测试成绩
+        // 查询剩余周目
+        if (studyRecord != null) {
+            int size = studyService.list(new QueryWrapper<TStudy>()
+                    .eq("type", 1)).size();
+            studyRecord.setSurplus(size - studyRecord.getWeek());
+        } else {
+            TUserStudy tUserStudy = new TUserStudy();
+            tUserStudy.setSurplus(studyService.list(new QueryWrapper<TStudy>()
+                    .eq("type", 1)).size());
+            tUserStudy.setWeek(1);
+            tUserStudy.setTodayStudy(Constants.ZERO);
+            tUserStudy.setTotalStudy(Constants.ZERO);
+            tUserStudy.setWeekStudy(Constants.ZERO);
+            tUserStudy.setMonthStudy(Constants.ZERO);
+            studyRecord = tUserStudy;
+        }
+        // 学习时长格式转换
+        Integer todayStudy = studyRecord.getTodayStudy();
+        studyRecord.setTodayStudy(Math.round((float) todayStudy / 3600));
+        Integer weekStudy = studyRecord.getWeekStudy();
+        studyRecord.setWeekStudy(Math.round((float) weekStudy / 3600));
+        Integer monthStudy = studyRecord.getMonthStudy();
+        studyRecord.setMonthStudy(Math.round((float) monthStudy / 3600));
+        // 总时长还需计算上游戏测试成绩时长
         List<TGameRecord> gameRecordList = gameRecordService.lambdaQuery().eq(TGameRecord::getUserId, dto.getId())
                 .eq(TGameRecord::getDisabled, 0).list();
-        if (studyRecord != null) {
-            res.setCurrent(studyRecord.getWeek());
-            // 查询当前听的总周目
-            List<TStudy> list1 = studyService.list(new QueryWrapper<>());
-            res.setSurplus(list1.size() - studyRecord.getWeek());
-            res.setTotalHours(studyRecord.getTotalStudy().doubleValue());
-            res.setTodayHours(studyRecord.getTodayStudy().doubleValue());
-            res.setWeekHours(studyRecord.getWeekStudy().doubleValue());
-            res.setMonthHours(studyRecord.getMonthStudy().doubleValue());
-        } else {
-            res.setCurrent(0);
-            res.setSurplus(0);
-            res.setTotalHours(0.0);
-            res.setTodayHours(0.0);
-            res.setWeekHours(0.0);
-            res.setMonthHours(0.0);
-        }
-
-        List<UserGameRecordVO> userGameRecordVOS = new ArrayList<>();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm");
         for (TGameRecord tGameRecord : gameRecordList) {
-            UserGameRecordVO userGameRecordVO = new UserGameRecordVO();
-            userGameRecordVO.setGameName(tGameRecord.getGameName());
-            userGameRecordVO.setUseTime(tGameRecord.getUseTime().toString());
-            if (tGameRecord.getGameDifficulty() == 0) {
-                userGameRecordVO.setAccuracy("100%");
-            } else {
-                userGameRecordVO.setAccuracy(tGameRecord.getAccuracy() + "%");
-            }
-            if (tGameRecord.getGameDifficulty() == 0) {
-                userGameRecordVO.setTime(tGameRecord.getUseTime());
-            } else {
-                userGameRecordVO.setTime(tGameRecord.getUseTime() / 2);
-            }
-            userGameRecordVOS.add(userGameRecordVO);
+            tGameRecord.setTime(simpleDateFormat.format(tGameRecord.getCreateTime()));
         }
-        list.setRecords(userGameRecordVOS);
-        list.setTotal(userGameRecordVOS.size());
-        res.setGameRecords(list);
+        int sum = gameRecordList.stream().map(TGameRecord::getUseTime).mapToInt(Integer::intValue).sum();
+        Integer totalStudy = studyRecord.getTotalStudy();
+        studyRecord.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600));
+        res.setCurrent(studyRecord.getWeek()+"");
+        // 剩余周目
+        List<TStudy> studyList = studyService.lambdaQuery().eq(TStudy::getDisabled, 0)
+                .eq(TStudy::getType, Constants.ONE)
+                .orderByAsc(TStudy::getWeek).list();
+
+        res.setSurplus(studyRecord.getSurplus()+"");
+        res.setTotalHours(studyRecord.getTotalStudy().doubleValue());
+        res.setTodayHours(studyRecord.getTodayStudy().doubleValue());
+        res.setMonthHours(studyRecord.getMonthStudy().doubleValue());
+        res.setWeekHours(studyRecord.getWeekStudy().doubleValue());
+        PageInfo<TGameRecord> list1 = new PageInfo<>(dto.getPageNumber(), dto.getPageSize());
+        list1.setTotal(gameRecordList.size());
+        list1.setRecords(gameRecordList);
+        res.setGameRecords(list1);
         return R.ok(res);
     }
 

--
Gitblit v1.7.1