Merge remote-tracking branch 'origin/zcc'
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package com.peanut.modules.master.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.peanut.common.utils.R;
|
||||
import com.peanut.modules.common.entity.CourseMedical;
|
||||
import java.util.List;
|
||||
|
||||
public interface CourseMedicalService extends IService<CourseMedical> {
|
||||
List<CourseMedical> getCourseMedicalList();
|
||||
|
||||
R delCourseMedical(int id);
|
||||
|
||||
R editCourseMedical(CourseMedical courseMedical);
|
||||
}
|
||||
@@ -19,5 +19,9 @@ public interface CourseService extends IService<CourseEntity> {
|
||||
|
||||
Page getCourseListCanSociology(ParamTo param);
|
||||
|
||||
List<CourseEntity> getCourseListForMedical(int medicalId);
|
||||
|
||||
Page getCourseListCanMedical(ParamTo param);
|
||||
|
||||
void testCourse();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.peanut.modules.master.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.peanut.common.utils.R;
|
||||
import com.peanut.modules.common.entity.CourseToMedical;
|
||||
|
||||
public interface CourseToMedicalService extends IService<CourseToMedical> {
|
||||
|
||||
R bindCourseAndMedical(CourseToMedical toMedical);
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.peanut.modules.master.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.peanut.common.utils.R;
|
||||
import com.peanut.modules.common.dao.CourseMedicalDao;
|
||||
import com.peanut.modules.common.dao.CourseToMedicalDao;
|
||||
import com.peanut.modules.common.entity.CourseMedical;
|
||||
import com.peanut.modules.common.entity.CourseToMedical;
|
||||
import com.peanut.modules.master.service.CourseMedicalService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service("masterCourseMedicalService")
|
||||
public class CourseMedicalServiceImpl extends ServiceImpl<CourseMedicalDao, CourseMedical> implements CourseMedicalService {
|
||||
|
||||
@Autowired
|
||||
private CourseToMedicalDao toMedicalDao;
|
||||
|
||||
@Override
|
||||
public List<CourseMedical> getCourseMedicalList() {
|
||||
return this.medicals(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public R delCourseMedical(int id) {
|
||||
//查看下一级是否存在
|
||||
int count = this.count(new LambdaQueryWrapper<CourseMedical>().eq(CourseMedical::getPid, id));
|
||||
if(count>0){
|
||||
return R.error(501,"删除失败,请先删除子项目后再尝试");
|
||||
}
|
||||
//查看绑定关系是否存在
|
||||
Integer integer = toMedicalDao.selectCount(new LambdaQueryWrapper<CourseToMedical>().eq(CourseToMedical::getMedicalId, id));
|
||||
if(integer>0){
|
||||
return R.error(502,"删除失败,请先解绑课程与国学标签的绑定关系");
|
||||
}
|
||||
this.removeById(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@Override
|
||||
public R editCourseMedical(CourseMedical courseMedical) {
|
||||
CourseMedical old = this.getById(courseMedical.getId());
|
||||
if(old.getIsLast()==0&&courseMedical.getIsLast()==1){
|
||||
CourseMedical one = this.getOne(new LambdaQueryWrapper<CourseMedical>().eq(CourseMedical::getPid, courseMedical.getId()));
|
||||
if(one!=null){
|
||||
return R.error(501,"更新失败,请先清空此项的下级标签,才能将此标签变成终极标签");
|
||||
}
|
||||
}
|
||||
if(old.getIsLast()==1&&courseMedical.getIsLast()==0){
|
||||
CourseToMedical courseToSociologyEntity = toMedicalDao.selectOne(new LambdaQueryWrapper<CourseToMedical>().eq(CourseToMedical::getMedicalId, courseMedical.getId()));
|
||||
if(courseToSociologyEntity!=null){
|
||||
return R.error(502,"更新失败,请先把此项与课程的关联关系清空后才可把此标签变成普通标签");
|
||||
}
|
||||
}
|
||||
this.updateById(courseMedical);
|
||||
return R.ok().put("sociology",courseMedical);
|
||||
}
|
||||
|
||||
private List<CourseMedical> medicals(int id){
|
||||
List<CourseMedical> list = this.list(new LambdaQueryWrapper<CourseMedical>().eq(CourseMedical::getPid, id));
|
||||
for (CourseMedical c : list){
|
||||
if(c.getIsLast()!=1){
|
||||
List<CourseMedical> so = this.medicals(c.getId());
|
||||
c.setChildren(so);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,10 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
||||
@Autowired
|
||||
private CourseToSociologyDao courseToSociologyDao;
|
||||
@Autowired
|
||||
private CourseMedicalDao medicalDao;
|
||||
@Autowired
|
||||
private CourseToMedicalDao toMedicalDao;
|
||||
@Autowired
|
||||
private CourseCatalogueDao courseCatalogueDao;
|
||||
@Autowired
|
||||
private ShopProductDao shopProductDao;
|
||||
@@ -123,6 +127,31 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CourseEntity> getCourseListForMedical(int medicalId) {
|
||||
MPJLambdaWrapper<CourseToMedical> wrapper = new MPJLambdaWrapper<>();
|
||||
wrapper.selectAll(CourseEntity.class);
|
||||
wrapper.selectAs(CourseToMedical::getId,"bindId");
|
||||
wrapper.selectAs(CourseToMedical::getSort,"toSociologySort");
|
||||
wrapper.leftJoin(CourseEntity.class,CourseEntity::getId,CourseToMedical::getCourseId);
|
||||
wrapper.eq(CourseToMedical::getMedicalId,medicalId);
|
||||
wrapper.orderByAsc(CourseToMedical::getSort);
|
||||
List<CourseEntity> courseEntities = toMedicalDao.selectJoinList(CourseEntity.class, wrapper);
|
||||
return courseEntities;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page getCourseListCanMedical(ParamTo param) {
|
||||
List<Integer> collect = toMedicalDao.selectList(new LambdaQueryWrapper<CourseToMedical>().eq(CourseToMedical::getMedicalId, param.getId())).stream().map(CourseToMedical::getCourseId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<CourseEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
if (collect.size() != 0){
|
||||
wrapper.notIn(CourseEntity::getId,collect);
|
||||
}
|
||||
wrapper.like(StringUtils.isNotBlank(param.getKeywords()),CourseEntity::getTitle,param.getKeywords());
|
||||
Page<CourseEntity> page = this.page(new Page<>(param.getPage(), param.getLimit()), wrapper);
|
||||
return page;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void testCourse() {
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.peanut.modules.master.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.peanut.common.utils.R;
|
||||
import com.peanut.modules.common.dao.CourseToMedicalDao;
|
||||
import com.peanut.modules.common.entity.CourseToMedical;
|
||||
import com.peanut.modules.master.service.CourseToMedicalService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Slf4j
|
||||
@Service("masterCourseToMedicalService")
|
||||
public class CourseToMedicalServiceImpl extends ServiceImpl<CourseToMedicalDao, CourseToMedical> implements CourseToMedicalService {
|
||||
@Override
|
||||
public R bindCourseAndMedical(CourseToMedical toMedical) {
|
||||
//去重
|
||||
CourseToMedical one = this.getOne(new LambdaQueryWrapper<CourseToMedical>().eq(CourseToMedical::getCourseId, toMedical.getCourseId()).eq(CourseToMedical::getMedicalId, toMedical.getMedicalId()));
|
||||
if(one != null){
|
||||
return R.error(501,"绑定失败,绑定关系已将存在");
|
||||
}
|
||||
this.save(toMedical);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user