From 5273de9efb900feb07a9a4f1426976e0580c623f Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 02 七月 2024 10:29:37 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java | 151 +++++++++++++++++++++++++++++--------------------- 1 files changed, 88 insertions(+), 63 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 127e6a8..3fef92b 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 @@ -164,27 +164,8 @@ PayVO payVO = new PayVO(); payVO.setOrderId(tVipOrder.getId()); payVO.setId(id); - - return R.ok(payVO); -// switch (payType) { -// case 1: -// return payMoneyUtil.weixinpay -// ("购买会员", "", -// id + "_" + tVipOrder.getId() + "_" + -// UUIDUtil.getRandomCode(8), -// tVipOrder.getMoney().toString(), -// "/base/wxPayBuyVip", "APP", ""); -// case 2: -// return payMoneyUtil.alipay -// ("购买会员", -// "购买会员下单支付", -// "", -// id + "_" + tVipOrder.getId() + "_" + -// UUIDUtil.getRandomCode(8), -// tVipOrder.getMoney().toString(), -// "/base/aliPayBuyVip"); -// } + } @@ -192,7 +173,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 +196,6 @@ byId.setTransactionId(trade_no); byId.setOutTradeNo(out_trade_no); byId.setPayTime(new Date()); - TUser byId1 = userService.getById(byId.getUserId()); if (byId1.getVipPayTime() == null) { @@ -379,6 +361,18 @@ } else { return R.tokenError("登录失效"); } + } + + @PostMapping("/studyPage") + @ApiOperation(value = "学习端", tags = {"启动页"}) + public R<String> studyPage() { + List<TPage> data = managementClient.getPage1().getData(); + for (TPage datum : data) { + if (datum.getType() == 1) { + return R.ok(datum.getImg()); + } + } + return R.ok(); } @PostMapping("/parentPage") @@ -691,6 +685,9 @@ } TUser user = userService.lambdaQuery().eq(TUser::getId, loginUserStudy.getUserid()).one(); TUserStudy userStudy = userStudyService.lambdaQuery().eq(TUserStudy::getUserId, user.getId()).eq(TUserStudy::getDisabled, 0).one(); + if (null == userStudy) { + userStudy = createUserStudy(loginUserStudy.getUserid()); + } // 学习时长格式转换 Integer todayStudy = userStudy.getTodayStudy(); userStudy.setTodayStudy(Math.round((float) todayStudy / 3600)); @@ -706,6 +703,27 @@ Integer totalStudy = userStudy.getTotalStudy(); userStudy.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); return R.ok(new UserPersonalCenterVO(user, userStudy)); + } + + private TUserStudy createUserStudy(Integer userid) { + TUserStudy userStudy = new TUserStudy(); + userStudy.setUserId(userid); + // 学习周目 + TStudy tStudy = studyService.lambdaQuery().eq(TStudy::getQuarter, Constants.ONE) + .orderByAsc(TStudy::getWeek).last("limit 1").one(); + userStudy.setWeek(tStudy.getWeek()); + userStudy.setDay(Constants.ONE); + userStudy.setTotalStudy(Constants.ZERO); + userStudy.setTodayStudy(Constants.ZERO); + userStudy.setWeekStudy(Constants.ZERO); + userStudy.setMonthStudy(Constants.ZERO); + userStudy.setListen(Constants.BURDEN_ONE); + userStudy.setLook(Constants.BURDEN_ONE); + userStudy.setInduction(Constants.BURDEN_ONE); + userStudy.setAnswer(Constants.BURDEN_ONE); + userStudy.setPair(Constants.BURDEN_ONE); + userStudyService.save(userStudy); + return userStudy; } @GetMapping("/userInfoParent") @@ -951,9 +969,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(); @@ -969,57 +984,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