From 4f0a0124efa527b55d34c05a4e82f2277c4b7447 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Tue, 25 Jun 2024 16:06:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E4=BB=B7=E6=A0=BC=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../medical/controller/HomeController.java | 12 ++++- .../medical/service/CourseMedicalService.java | 5 +- .../impl/CourseMedicalServiceImpl.java | 47 +++++++++++-------- 3 files changed, 42 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/peanut/modules/medical/controller/HomeController.java b/src/main/java/com/peanut/modules/medical/controller/HomeController.java index 283f0bbd..c415097e 100644 --- a/src/main/java/com/peanut/modules/medical/controller/HomeController.java +++ b/src/main/java/com/peanut/modules/medical/controller/HomeController.java @@ -98,7 +98,7 @@ public class HomeController { } /** - * 获取医学课程价格 + * 获取医学课程价格1 * @return */ @RequestMapping("/getMedicalCoursePrice") @@ -107,6 +107,16 @@ public class HomeController { return R.ok().put("res",coursePrice); } + /** + * 获取医学课程价格2 + * @return + */ + @RequestMapping("/getMedicalCoursePriceIsBuy") + public R getMedicalCoursePriceIsBuy(@RequestBody Map map){ + Page coursePrice = medicalService.getMedicalCoursePriceIsBuy(map); + return R.ok().put("res",coursePrice); + } + /** * 获取课程说明 * @return diff --git a/src/main/java/com/peanut/modules/medical/service/CourseMedicalService.java b/src/main/java/com/peanut/modules/medical/service/CourseMedicalService.java index 5ca99b84..74fc738f 100644 --- a/src/main/java/com/peanut/modules/medical/service/CourseMedicalService.java +++ b/src/main/java/com/peanut/modules/medical/service/CourseMedicalService.java @@ -1,11 +1,10 @@ package com.peanut.modules.medical.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.peanut.common.utils.R; import com.peanut.modules.common.entity.CourseEntity; import com.peanut.modules.common.entity.CourseMedicine; import com.peanut.modules.common.to.ParamTo; - import java.util.List; import java.util.Map; @@ -19,5 +18,7 @@ public interface CourseMedicalService extends IService { List> getMedicalCoursePrice(); + Page getMedicalCoursePriceIsBuy(Map map); + String checkVideoByMD(String id) throws Exception; } diff --git a/src/main/java/com/peanut/modules/medical/service/impl/CourseMedicalServiceImpl.java b/src/main/java/com/peanut/modules/medical/service/impl/CourseMedicalServiceImpl.java index b4f3655c..72a85bba 100644 --- a/src/main/java/com/peanut/modules/medical/service/impl/CourseMedicalServiceImpl.java +++ b/src/main/java/com/peanut/modules/medical/service/impl/CourseMedicalServiceImpl.java @@ -3,6 +3,7 @@ package com.peanut.modules.medical.service.impl; import com.aliyun.vod20170321.models.GetVideoPlayAuthResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.peanut.common.utils.R; @@ -26,6 +27,8 @@ import java.util.stream.Collectors; @Service("medicineCourseMedicalService") public class CourseMedicalServiceImpl extends ServiceImpl implements CourseMedicalService { + @Autowired + private CourseMedicineDao medicineDao; @Autowired private CourseToMedicineDao toMedicineDao; @Autowired @@ -89,35 +92,27 @@ public class CourseMedicalServiceImpl extends ServiceImpl> res = new ArrayList<>(); for (CourseMedicine c : courseMedicines){ Map m = new HashMap<>(); + List list = new ArrayList<>(); + getLastLevel(c,list); m.put("courseMedicine",c); - m.put("courseList",new ArrayList<>()); - getLastLevelCourseList(c,m); + m.put("medicineList",list); res.add(m); } return res; } - @Override - public String checkVideoByMD(String id) throws Exception { - GetVideoPlayAuthResponse p = SpdbUtil.getPlayAuth(id); - String playAuth = p.getBody().getPlayAuth(); - return playAuth; - } - - private void getLastLevelCourseList(CourseMedicine c, Map map){ + public Page getMedicalCoursePriceIsBuy(Map params) { + Integer limit = Integer.valueOf(params.get("limit").toString()); + Integer page = Integer.valueOf(params.get("page").toString()); String vip = ShiroUtils.getUser().getVip(); - if (c.getChildren()!=null&&c.getChildren().size() > 0){ - for (CourseMedicine child : c.getChildren()){ - getLastLevelCourseList(child,map); - } - } MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); wrapper.selectAll(CourseEntity.class); wrapper.leftJoin(CourseEntity.class,CourseEntity::getId,CourseToMedicine::getCourseId); - wrapper.eq(CourseToMedicine::getMedicalId,c.getId()); + wrapper.in(CourseToMedicine::getMedicalId,(ArrayList)params.get("ids")); wrapper.orderByAsc(CourseToMedicine::getSort); - List courseEntities = toMedicineDao.selectJoinList(CourseEntity.class, wrapper); + Page pageRes = toMedicineDao.selectJoinPage(new Page<>(page, limit),CourseEntity.class, wrapper); + List courseEntities = pageRes.getRecords(); if(courseEntities.size()>0){ for (CourseEntity co:courseEntities){ List courseCatalogueEntities = courseCatalogueDao.selectList(new LambdaQueryWrapper().eq(CourseCatalogueEntity::getCourseId, co.getId()).orderByAsc(CourseCatalogueEntity::getSort)); @@ -136,11 +131,25 @@ public class CourseMedicalServiceImpl extends ServiceImpl)map.get("courseList")).addAll(courseEntities); + return pageRes; } + @Override + public String checkVideoByMD(String id) throws Exception { + GetVideoPlayAuthResponse p = SpdbUtil.getPlayAuth(id); + String playAuth = p.getBody().getPlayAuth(); + return playAuth; + } - + private void getLastLevel(CourseMedicine c,List list){ + if (c.getChildren()!=null&&c.getChildren().size() > 0){ + for (CourseMedicine child : c.getChildren()){ + getLastLevel(child,list); + } + }else { + list.add(c.getId()); + } + } }