课程价格优化

This commit is contained in:
wuchunlei
2024-06-25 16:06:02 +08:00
parent f66ac42eed
commit 4f0a0124ef
3 changed files with 42 additions and 22 deletions

View File

@@ -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<String,Object> map){
Page<CourseEntity> coursePrice = medicalService.getMedicalCoursePriceIsBuy(map);
return R.ok().put("res",coursePrice);
}
/**
* 获取课程说明
* @return

View File

@@ -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<CourseMedicine> {
List<Map<String,Object>> getMedicalCoursePrice();
Page<CourseEntity> getMedicalCoursePriceIsBuy(Map<String,Object> map);
String checkVideoByMD(String id) throws Exception;
}

View File

@@ -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<CourseMedicineDao, CourseMedicine> implements CourseMedicalService {
@Autowired
private CourseMedicineDao medicineDao;
@Autowired
private CourseToMedicineDao toMedicineDao;
@Autowired
@@ -89,35 +92,27 @@ public class CourseMedicalServiceImpl extends ServiceImpl<CourseMedicineDao, Cou
List<Map<String,Object>> res = new ArrayList<>();
for (CourseMedicine c : courseMedicines){
Map<String,Object> m = new HashMap<>();
List<Integer> 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<String,Object> map){
public Page<CourseEntity> getMedicalCoursePriceIsBuy(Map<String,Object> 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<CourseToMedicine> 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<CourseEntity> courseEntities = toMedicineDao.selectJoinList(CourseEntity.class, wrapper);
Page<CourseEntity> pageRes = toMedicineDao.selectJoinPage(new Page<>(page, limit),CourseEntity.class, wrapper);
List<CourseEntity> courseEntities = pageRes.getRecords();
if(courseEntities.size()>0){
for (CourseEntity co:courseEntities){
List<CourseCatalogueEntity> courseCatalogueEntities = courseCatalogueDao.selectList(new LambdaQueryWrapper<CourseCatalogueEntity>().eq(CourseCatalogueEntity::getCourseId, co.getId()).orderByAsc(CourseCatalogueEntity::getSort));
@@ -136,11 +131,25 @@ public class CourseMedicalServiceImpl extends ServiceImpl<CourseMedicineDao, Cou
co.setCourseCatalogueEntityList(courseCatalogueEntities);
}
}
((List<CourseEntity>)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<Integer> list){
if (c.getChildren()!=null&&c.getChildren().size() > 0){
for (CourseMedicine child : c.getChildren()){
getLastLevel(child,list);
}
}else {
list.add(c.getId());
}
}
}