From 7fcc27e0646032f81df1117257f29206fd0fb9ee Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期四, 30 五月 2024 19:20:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java |   60 +++++++++----------
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java  |   78 +++++++++++++++++++-------
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/PayVO.java                    |   14 ++++
 ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml               |    2 
 4 files changed, 100 insertions(+), 54 deletions(-)

diff --git a/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml
index 6d098db..f507fcb 100644
--- a/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml
+++ b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml
@@ -40,6 +40,6 @@
     </select>
 
     <select id="getGoodBuyNumber" resultType="java.lang.Integer">
-        SELECT SUM(count) FROM t_order WHERE goodsId = #{goodId}
+        SELECT IFNULL(SUM(count), 0) FROM t_order WHERE goodsId = #{goodId}
     </select>
 </mapper>
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
index 51106f4..0f737c3 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
@@ -656,6 +656,9 @@
     }
 
 
+
+
+
     /**
      * 可兑换商品推荐
      */
@@ -664,7 +667,6 @@
     public R<List<TGoodsVO>> studySchedule() {
         return R.ok(goodsClient.goodRecommend().getData());
     }
-
     /**
      * 首次页面加载时调用,获取学习进度及学习时长等信息
      *
@@ -681,7 +683,6 @@
         TUserStudy result = studyService.studySchedule(String.valueOf(tokenService.getLoginUserStudy().getUserid()), week, day);
         return R.ok(result);
     }
-
     /**
      * 查询周目列表
      *
@@ -698,7 +699,6 @@
         List<StudyWeekDTO> result = studyService.weekList(type, quarter);
         return R.ok(result);
     }
-
     /**
      * 进入题组后,获取题组学习进度信息
      *
@@ -751,9 +751,9 @@
 //        }
         List<TStudyListen> studyListens = wrapper.list();
         for (TStudyListen studyListen : studyListens) {
-            if (studyListen.getIsVip() == 1) {
+            if (studyListen.getIsVip() == 1){
                 // 需要会员查看
-                if (!isVip) {
+                if (!isVip){
                     // 不是会员
                     return R.vipError("以下内容仅限会员查看,请通过家长端成为会员!");
                 }
@@ -784,9 +784,9 @@
         List<TStudyLook> lookList = studyLookService.lambdaQuery().eq(TStudyLook::getWeek, week)
                 .eq(TStudyLook::getDay, day).eq(TStudyLook::getDisabled, 0).list();
         for (TStudyLook studyListen : lookList) {
-            if (studyListen.getIsVip() == 1) {
+            if (studyListen.getIsVip() == 1){
                 // 需要会员查看
-                if (!isVip) {
+                if (!isVip){
                     // 不是会员
                     return R.vipError("以下内容仅限会员查看,请通过家长端成为会员!");
                 }
@@ -818,9 +818,9 @@
 //        }
         List<TStudyInduction> inductionList = wrapper.list();
         for (TStudyInduction studyListen : inductionList) {
-            if (studyListen.getIsVip() == 1) {
+            if (studyListen.getIsVip() == 1){
                 // 需要会员查看
-                if (!isVip) {
+                if (!isVip){
                     // 不是会员
                     return R.vipError("以下内容仅限会员查看,请通过家长端成为会员!");
                 }
@@ -852,9 +852,9 @@
 //        }
         List<TStudyAnswer> answerList = wrapper.list();
         for (TStudyAnswer studyListen : answerList) {
-            if (studyListen.getIsVip() == 1) {
+            if (studyListen.getIsVip() == 1){
                 // 需要会员查看
-                if (!isVip) {
+                if (!isVip){
                     // 不是会员
                     return R.vipError("以下内容仅限会员查看,请通过家长端成为会员!");
                 }
@@ -881,13 +881,13 @@
         LambdaQueryChainWrapper<TStudyPair> wrapper = studyPairService.lambdaQuery().eq(TStudyPair::getWeek, week)
                 .eq(TStudyPair::getDay, day).eq(TStudyPair::getDisabled, 0);
         // 非会员只能查看非会员题目,会员可以查看所有题目
-//        if (!isVip) {
-//            wrapper.eq(TStudyPair::getIsVip, 0);
-//        }
+        if (!isVip) {
+            wrapper.eq(TStudyPair::getIsVip, 0);
+        }
         TStudyPair pair = wrapper.one();
-        if (pair.getIsVip() == 1) {
+        if (pair.getIsVip() == 1){
             // 需要会员查看
-            if (!isVip) {
+            if (!isVip){
                 // 不是会员
                 return R.vipError("以下内容仅限会员查看,请通过家长端成为会员!");
             }
@@ -1150,12 +1150,11 @@
                 .eq(TGameRecord::getDisabled, 0).list();
         return R.ok(new StudyRecordResultVO(studyRecord, gameRecordList));
     }
-
     @GetMapping("/record")
     @ApiOperation(value = "游戏测试成绩", tags = {"家长端-游戏测试成绩"})
     public R<StudyRecordResultVO> record() {
         LoginUserParent loginUser1 = tokenService.getLoginUser1();
-        if (loginUser1 == null) {
+        if (loginUser1 == null){
             return R.tokenError("登陆失效,请重新登录");
         }
         Integer userId = loginUser1.getUserid();
@@ -1164,27 +1163,27 @@
         TUserStudy studyRecord = userStudyService.lambdaQuery().eq(TUserStudy::getUserId, userId)
                 .eq(TUserStudy::getDisabled, 0).one();
         // 查询剩余周目
-        if (studyRecord != null) {
+        if (studyRecord!=null){
             int size = studyService.list(new QueryWrapper<TStudy>()
                     .eq("type", 1)).size();
-            studyRecord.setSurplus(size - studyRecord.getWeek());
-        } else {
-            studyRecord.setSurplus(studyService.list(new QueryWrapper<TStudy>()
+            studyRecord.setSurplus(size-studyRecord.getWeek());
+        }else{
+            TUserStudy tUserStudy = new TUserStudy();
+            tUserStudy.setSurplus(studyService.list(new QueryWrapper<TStudy>()
                     .eq("type", 1)).size());
+            studyRecord = tUserStudy;
         }
         // 游戏测试成绩
         List<TGameRecord> gameRecordList = gameRecordService.lambdaQuery().eq(TGameRecord::getUserId, userId)
                 .eq(TGameRecord::getDisabled, 0).list();
         return R.ok(new StudyRecordResultVO(studyRecord, gameRecordList));
     }
-
     @GetMapping("/getIntegral")
     @ApiOperation(value = "获取剩余积分", tags = {"家长端-获取剩余积分"})
     public R<Integer> getIntegral() {
         Integer userId = tokenService.getLoginUser1().getUserid();
         return R.ok(userService.getById(userId).getIntegral());
     }
-
     @GetMapping("/getIntegralStudy")
     @ApiOperation(value = "获取剩余积分", tags = {"学习端-获取剩余积分"})
     public R<Integer> getIntegralStudy() {
@@ -1202,12 +1201,11 @@
     public R<IPage<TIntegralRecord>> integralDetail(String time,
                                                     @RequestParam("pageNum") Integer pageNum,
                                                     @RequestParam("pageSize") Integer pageSize) {
-        if (tokenService.getLoginUserStudy() == null) {
+        if(tokenService.getLoginUserStudy() == null){
             return R.tokenError("登录失效");
         }
         return R.ok(integralRecordService.integralDetail(new Page<>(pageNum, pageSize), tokenService.getLoginUserStudy().getUserid(), time));
     }
-
     @GetMapping("/integralDetailParent")
     @ApiOperation(value = "个人中心-积分明细", tags = {"家长端"})
     @ApiImplicitParams({
@@ -1216,9 +1214,9 @@
             @ApiImplicitParam(value = "每页显示条数", name = "pageSize", dataType = "Integer", required = true)
     })
     public R<IPage<TIntegralRecord>> integralDetailParent(String time,
-                                                          @RequestParam("pageNum") Integer pageNum,
-                                                          @RequestParam("pageSize") Integer pageSize) {
-        if (tokenService.getLoginUser1() == null) {
+                                                    @RequestParam("pageNum") Integer pageNum,
+                                                    @RequestParam("pageSize") Integer pageSize) {
+        if(tokenService.getLoginUser1() == null){
             return R.tokenError("登录失效");
         }
 
@@ -1252,7 +1250,6 @@
         integralRecord.setUpdateTime(new Date());
         return R.ok(integralRecordService.save(integralRecord));
     }
-
     @GetMapping("/addIntegralDetail1")
 //    @ApiOperation(value = "添加-积分明细", tags = {"添加-积分明细"})
     @ApiImplicitParams({
@@ -1262,7 +1259,7 @@
     public R addIntegralDetail1(@RequestParam("integral") String integral, @RequestParam("method") String method) {
         // 当前登录用户
         LoginUserParent userStudy = tokenService.getLoginUser1();
-        if (userStudy == null) {
+        if (userStudy == null){
             return R.tokenError("登录失效");
         }
         // 生成积分明细信息
@@ -1295,7 +1292,6 @@
         }
         return R.ok(userService.updateById(user));
     }
-
     @GetMapping("/exchangeIntegral1")
 //    @ApiOperation(value = "用户积分变动", tags = {"用户积分变动"})
     public R<Boolean> exchangeIntegral1(@RequestParam("integral") Integer integral, @RequestParam("method") String method) {
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 b64b9ea..f2e00e1 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
@@ -104,32 +104,16 @@
 
     @Autowired
     private PayMoneyUtil payMoneyUtil;
-
-    @PostMapping("/order")
-    @ApiOperation(value = "购买会员下单操作", tags = {"家长端-个人中心"})
+    @PostMapping("/pay")
+    @ApiOperation(value = "购买会员支付操作", tags = {"家长端-个人中心"})
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header"),
             @ApiImplicitParam(name = "payType", value = "支付类型 1=微信 2=支付宝", required = true),
+            @ApiImplicitParam(name = "orderId", value = "订单id", required = true),
             @ApiImplicitParam(name = "id", value = "会员规格id", required = true),
     })
-    public AjaxResult order(Integer payType, Integer id) throws Exception {
-        if (tokenService.getLoginUser1() == null) {
-            return AjaxResult.tokenError("登录失效", new Object());
-        }
-        Integer userid = tokenService.getLoginUser1().getUserid();
-        TVipOrder tVipOrder = new TVipOrder();
-        List<TVipSet> data = managementClient.getVipSet1().getData();
-        Integer time = 0;
-        for (TVipSet datum : data) {
-            if (datum.getId() == id) {
-                tVipOrder.setMoney(datum.getAmount());
-                time = datum.getTime();
-            }
-        }
-        tVipOrder.setPayState(1);
-        tVipOrder.setUserId(userid);
-        tVipOrder.setPayType(payType);
-        tVipOrder.setCount(time);
+    public AjaxResult pay(Integer payType, Integer orderId, Integer id) throws Exception {
+        TVipOrder tVipOrder = vipOrderService.getById(orderId);
         switch (payType) {
             case 1:
                 return payMoneyUtil.weixinpay
@@ -150,6 +134,58 @@
         }
         return AjaxResult.success();
     }
+    @PostMapping("/order")
+    @ApiOperation(value = "购买会员下单操作", tags = {"家长端-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header"),
+            @ApiImplicitParam(name = "payType", value = "支付类型 1=微信 2=支付宝", required = true),
+            @ApiImplicitParam(name = "id", value = "会员规格id", required = true),
+    })
+    public R<PayVO> order(Integer payType, Integer id) throws Exception {
+        if (tokenService.getLoginUser1() == null) {
+            return R.tokenError("登录失效");
+        }
+        Integer userid = tokenService.getLoginUser1().getUserid();
+        TVipOrder tVipOrder = new TVipOrder();
+        List<TVipSet> data = managementClient.getVipSet1().getData();
+        Integer time = 0;
+        for (TVipSet datum : data) {
+            if (datum.getId() == id) {
+                tVipOrder.setMoney(datum.getAmount());
+                time = datum.getTime();
+            }
+        }
+        tVipOrder.setPayState(1);
+        tVipOrder.setUserId(userid);
+        tVipOrder.setPayType(payType);
+        tVipOrder.setCount(time);
+        vipOrderService.save(tVipOrder);
+        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");
+//        }
+
+    }
 
     @ResponseBody
     @PostMapping("/base/aliPayBuyVip")
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/PayVO.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/PayVO.java
new file mode 100644
index 0000000..e5e5d4b
--- /dev/null
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/PayVO.java
@@ -0,0 +1,14 @@
+package com.ruoyi.study.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "下单操作返回VO")
+public class PayVO {
+    @ApiModelProperty(value = "订单id")
+    private Integer orderId;
+    @ApiModelProperty(value = "购买会员规格id")
+    private Integer id;
+}
\ No newline at end of file

--
Gitblit v1.7.1