xuhy
2024-12-13 b5bab032e80f0233fdf06a4e8de2599bc6b65e47
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java
@@ -107,16 +107,26 @@
    @PostMapping(value = "/list")
    public R<Page<TCourse>> list(@RequestBody CourseQuery informationQuery) {
        Long userId = tokenService.getLoginUser().getUserId();
        Page<TCourse> page = courseService.lambdaQuery()
                .like(!StringUtils.isEmpty(informationQuery.getName()), TCourse::getCourseName, informationQuery.getName())
                .eq(informationQuery.getRegionId() != null, TCourse::getRegionId, informationQuery.getRegionId())
                .eq(informationQuery.getTechnicalId() != null, TCourse::getTechnicalId, informationQuery.getTechnicalId())
                .eq(informationQuery.getMajorId() != null, TCourse::getMajorId, informationQuery.getMajorId())
                .eq(informationQuery.getLevel() != null, TCourse::getLevel, informationQuery.getLevel())
                .orderByDesc(TCourse::getCommitteeSort)
                .page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize()));
        Page<TCourse> page;
        if (informationQuery.getSortType()==1){
            page = courseService.lambdaQuery()
                    .like(!StringUtils.isEmpty(informationQuery.getName()), TCourse::getCourseName, informationQuery.getName())
                    .eq(informationQuery.getRegionId() != null, TCourse::getRegionId, informationQuery.getRegionId())
                    .eq(informationQuery.getTechnicalId() != null, TCourse::getTechnicalId, informationQuery.getTechnicalId())
                    .eq(informationQuery.getMajorId() != null, TCourse::getMajorId, informationQuery.getMajorId())
                    .eq(informationQuery.getLevel() != null, TCourse::getLevel, informationQuery.getLevel())
                    .orderByDesc(TCourse::getCreateTime)
                    .page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize()));
        }else {
            page = courseService.lambdaQuery()
                    .like(!StringUtils.isEmpty(informationQuery.getName()), TCourse::getCourseName, informationQuery.getName())
                    .eq(informationQuery.getRegionId() != null, TCourse::getRegionId, informationQuery.getRegionId())
                    .eq(informationQuery.getTechnicalId() != null, TCourse::getTechnicalId, informationQuery.getTechnicalId())
                    .eq(informationQuery.getMajorId() != null, TCourse::getMajorId, informationQuery.getMajorId())
                    .eq(informationQuery.getLevel() != null, TCourse::getLevel, informationQuery.getLevel())
                    .orderByDesc(TCourse::getCommitteeSort)
                    .page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize()));
        }
        Set<Long> cacheSet = redisCache.getCacheSet("COURSE:" + userId);
@@ -142,6 +152,12 @@
            }else {
                record.setStudyNum(cacheSet1.size());
            }
            Long count = orderService.lambdaQuery()
                    .eq(TOrder::getGoodId, record.getId())
                    .eq(TOrder::getGoodType, 1)
                    .eq(TOrder::getPaymentStatus, 2).count();
            record.setBuyNum(Integer.parseInt(String.valueOf(count)));
        }
        return R.ok(page);
@@ -303,7 +319,7 @@
            prepayRequest.setMchid(weChatConfig.merchantId);
            prepayRequest.setOutTradeNo(byId.getCode());
            prepayRequest.setDescription("购买课程");
            prepayRequest.setNotifyUrl("http://www.zhipingwang.com.cn:8081/call-back/buy");
            prepayRequest.setNotifyUrl("https://0ifzoxq2516g.guyubao.com/call-back/buy");
            com.wechat.pay.java.service.payments.nativepay.model.Amount amount = new com.wechat.pay.java.service.payments.nativepay.model.Amount();
            amount.setTotal(byId.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
            prepayRequest.setAmount(amount);
@@ -381,6 +397,14 @@
        if (!cacheSet.isEmpty()) {
            Page<TCourse> page = courseService.lambdaQuery().in(TCourse::getId, cacheSet).page(Page.of(basePage.getPageNum(), basePage.getPageSize()));
            for (TCourse record : page.getRecords()) {
                Set<Object> cacheSet1 = redisCache.getCacheSet("STUDY:" + record.getId());
                if (cacheSet1==null){
                    record.setStudyNum(0);
                }else {
                    record.setStudyNum(cacheSet1.size());
                }
            }
            return R.ok(page);
        }else {
            return R.ok(new Page<>());