Administrator
3 hours ago 33fb9a2fdb0e6cd68a987bbdcbe22ef587fa5813
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java
@@ -8,6 +8,7 @@
import cc.mrbird.febs.ai.util.UUID;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.exception.FebsException;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -43,8 +44,11 @@
    }
    @Override
    public List<AiProductCategory> getList() {
    public List<AiProductCategory> getList(String companyId) {
        LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
        if (StrUtil.isNotEmpty(companyId)){
            query.eq(AiProductCategory::getCompanyId, companyId);
        }
        query.ne(AiProductCategory::getState, 2);
        query.eq(AiProductCategory::getLevel, ProductCategoryLevelEnum.LEVEL_ONE.getLevel());
        query.orderByDesc(AiProductCategory::getHotState);
@@ -106,6 +110,9 @@
        Page<AiProductCategory> page = new Page<>(request.getPageNum(), request.getPageSize());
        LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
        if (StrUtil.isNotEmpty(dto.getCompanyId())){
            query.eq(AiProductCategory::getCompanyId, dto.getCompanyId());
        }
        query.ne(AiProductCategory::getState, 2);
        query.orderByDesc(AiProductCategory::getHotState);
        query.orderByAsc(AiProductCategory::getSort);
@@ -175,6 +182,21 @@
    public FebsResponse update(AiProductCategory dto) {
        String id = dto.getId();
        AiProductCategory entity = this.getById(id);
        dto.setLevel(ProductCategoryLevelEnum.LEVEL_ONE.getLevel());
        String parentId = dto.getParentId();
        if (parentId.equals( id)){
            throw new FebsException("父类不能选择自己");
        }
        if (StrUtil.isNotEmpty(parentId)){
            AiProductCategory parent = this.getById(parentId);
            if (
                    ObjectUtil.isNotNull(parent)
                            && parent.getLevel() < ProductCategoryLevelEnum.LEVEL_TWO.getLevel()
            ){
                dto.setLevel(parent.getLevel() +1);
                dto.setParentId(parentId);
            }
        }
        if (ObjectUtil.isNotNull( entity)){
            this.update(null,
                    Wrappers.lambdaUpdate(AiProductCategory.class)
@@ -184,6 +206,8 @@
                            .set(AiProductCategory::getIconImg, dto.getIconImg())
                            .set(AiProductCategory::getSort, dto.getSort())
                            .set(AiProductCategory::getUpdatedTime, new Date())
                            .set(AiProductCategory::getParentId, dto.getParentId())
                            .set(AiProductCategory::getLevel, dto.getLevel())
                            .eq(AiProductCategory::getId, id)
            );
        }
@@ -206,14 +230,17 @@
    }
    @Override
    public List<AiProductCategory> categoryTree() {
        return this.getList() ;
    public List<AiProductCategory> categoryTree(String companyId) {
        return this.getList(companyId) ;
    }
    @Override
    public List<AiProductCategory> parent() {
    public List<AiProductCategory> parent(String companyId) {
        LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
        query.select(AiProductCategory::getId,AiProductCategory::getName);
        if (StrUtil.isNotEmpty(companyId)){
            query.eq(AiProductCategory::getCompanyId, companyId);
        }
        query.eq(AiProductCategory::getLevel, 1);
        query.ne(AiProductCategory::getState, 2);
        return this.getBaseMapper().selectList(query);