hjl
2024-05-30 7fcc27e0646032f81df1117257f29206fd0fb9ee
Merge remote-tracking branch 'origin/master'

# Conflicts:
# ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
3个文件已修改
1个文件已添加
154 ■■■■■ 已修改文件
ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TOrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/PayVO.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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) {
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")
ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/PayVO.java
New file
@@ -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;
}