优化courseCategory

This commit is contained in:
none 2023-02-25 10:39:17 +08:00
parent 138e1f5b98
commit ba101e508b
4 changed files with 32 additions and 50 deletions

View File

@ -1,40 +0,0 @@
package xyz.playedu.api.bus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import xyz.playedu.api.domain.CourseCategory;
import xyz.playedu.api.exception.NotFoundException;
import xyz.playedu.api.service.CourseCategoryService;
/**
* @Author 杭州白书科技有限公司
* @create 2023/2/24 13:57
*/
@Component
public class CourseCategoryBus {
@Autowired
private CourseCategoryService categoryService;
public String compParentChain(Integer parentId) throws NotFoundException {
String parentChain = "";
if (parentId != 0) {
CourseCategory parentCourseCategory = categoryService.getById(parentId);
if (parentCourseCategory == null) {
throw new NotFoundException("父级分类不存在");
}
String pc = parentCourseCategory.getParentChain();
parentChain = pc == null || pc.length() == 0 ? parentId + "" : pc + "," + parentId;
}
return parentChain;
}
public static String childrenParentChain(CourseCategory CourseCategory) {
String prefix = CourseCategory.getId() + "";
if (CourseCategory.getParentChain() != null && CourseCategory.getParentChain().length() > 0) {
prefix = CourseCategory.getParentChain() + "," + prefix;
}
return prefix;
}
}

View File

@ -4,7 +4,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import xyz.playedu.api.bus.CourseCategoryBus;
import xyz.playedu.api.constant.BPermissionConstant;
import xyz.playedu.api.domain.CourseCategory;
import xyz.playedu.api.event.CourseCategoryDestroyEvent;

View File

@ -25,4 +25,8 @@ public interface CourseCategoryService extends IService<CourseCategory> {
void create(String name, Integer parentId, Integer sort) throws NotFoundException;
String childrenParentChain(CourseCategory category);
String compParentChain(Integer parentId) throws NotFoundException;
}

View File

@ -3,7 +3,6 @@ package xyz.playedu.api.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import xyz.playedu.api.bus.CourseCategoryBus;
import xyz.playedu.api.domain.CourseCategory;
import xyz.playedu.api.exception.NotFoundException;
import xyz.playedu.api.service.CourseCategoryService;
@ -22,9 +21,6 @@ import java.util.List;
@Service
public class CourseCategoryServiceImpl extends ServiceImpl<CourseCategoryMapper, CourseCategory> implements CourseCategoryService {
@Autowired
private CourseCategoryBus categoryBus;
@Override
public List<CourseCategory> listByParentId(Integer id) {
return list(query().getWrapper().eq("parent_id", id).orderByAsc("sort"));
@ -49,7 +45,7 @@ public class CourseCategoryServiceImpl extends ServiceImpl<CourseCategoryMapper,
public void deleteById(Integer id) throws NotFoundException {
CourseCategory category = findOrFail(id);
//更新parent_chain
updateParentChain(category.getParentChain(), CourseCategoryBus.childrenParentChain(category));
updateParentChain(category.getParentChain(), childrenParentChain(category));
//删除记录
removeById(category.getId());
}
@ -57,7 +53,7 @@ public class CourseCategoryServiceImpl extends ServiceImpl<CourseCategoryMapper,
@Override
@Transactional
public void update(CourseCategory category, String name, Integer parentId, Integer sort) throws NotFoundException {
String childrenChainPrefix = CourseCategoryBus.childrenParentChain(category);
String childrenChainPrefix = childrenParentChain(category);
CourseCategory data = new CourseCategory();
data.setId(category.getId());
@ -72,7 +68,7 @@ public class CourseCategoryServiceImpl extends ServiceImpl<CourseCategoryMapper,
data.setParentChain("");
} else {
CourseCategory parentCourseCategory = findOrFail(parentId);
data.setParentChain(CourseCategoryBus.childrenParentChain(parentCourseCategory));
data.setParentChain(childrenParentChain(parentCourseCategory));
}
}
if (!category.getSort().equals(sort)) {
@ -83,7 +79,7 @@ public class CourseCategoryServiceImpl extends ServiceImpl<CourseCategoryMapper,
updateById(data);
category = getById(category.getId());
updateParentChain(CourseCategoryBus.childrenParentChain(category), childrenChainPrefix);
updateParentChain(childrenParentChain(category), childrenChainPrefix);
}
private void updateParentChain(String newChildrenPC, String oldChildrenPC) {
@ -122,7 +118,7 @@ public class CourseCategoryServiceImpl extends ServiceImpl<CourseCategoryMapper,
public void create(String name, Integer parentId, Integer sort) throws NotFoundException {
String parentChain = "";
if (parentId != 0) {
parentChain = categoryBus.compParentChain(parentId);
parentChain = compParentChain(parentId);
}
CourseCategory category = new CourseCategory();
@ -135,6 +131,29 @@ public class CourseCategoryServiceImpl extends ServiceImpl<CourseCategoryMapper,
save(category);
}
@Override
public String childrenParentChain(CourseCategory category) {
String prefix = category.getId() + "";
if (category.getParentChain() != null && category.getParentChain().length() > 0) {
prefix = category.getParentChain() + "," + prefix;
}
return prefix;
}
@Override
public String compParentChain(Integer parentId) throws NotFoundException {
String parentChain = "";
if (parentId != 0) {
CourseCategory parentCourseCategory = getById(parentId);
if (parentCourseCategory == null) {
throw new NotFoundException("父级分类不存在");
}
String pc = parentCourseCategory.getParentChain();
parentChain = pc == null || pc.length() == 0 ? parentId + "" : pc + "," + parentId;
}
return parentChain;
}
}