mitao
2024-07-29 fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsCategoryServiceImpl.java
@@ -1,17 +1,22 @@
package com.ruoyi.goods.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsCategoryDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsCategoryQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsCategoryVO;
import com.ruoyi.goods.domain.pojo.GoodsCategory;
import com.ruoyi.goods.controller.management.dto.GoodsCategoryDTO;
import com.ruoyi.goods.controller.management.dto.GoodsCategoryQuery;
import com.ruoyi.goods.controller.management.vo.GoodsCategoryVO;
import com.ruoyi.goods.mapper.GoodsCategoryMapper;
import com.ruoyi.goods.mapper.GoodsSkuMapper;
import com.ruoyi.goods.service.IGoodsCategoryService;
import com.ruoyi.system.api.domain.GoodsCategory;
import com.ruoyi.system.api.domain.GoodsSku;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
@@ -23,8 +28,10 @@
 * @since 2024-05-16
 */
@Service
@RequiredArgsConstructor
public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper, GoodsCategory> implements IGoodsCategoryService {
    private final GoodsSkuMapper goodsSkuMapper;
    /**
     * 获取商品类别列表。
     * <p>此方法不接受任何参数,它会调用 {@code list()} 方法获取当前类别列表,并将其转换为 {@code GoodsCategoryVO} 类型的列表后返回。</p>
@@ -48,6 +55,7 @@
        Page<GoodsCategory> page = this.lambdaQuery()
                .like(StringUtils.isNotEmpty(query.getCategoryName()),
                        GoodsCategory::getCategoryName, query.getCategoryName())
                .orderByDesc(GoodsCategory::getCreateTime)
                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
        if (StringUtils.isEmpty(page.getRecords())) {
            return PageDTO.empty(page.getTotal(), page.getPages());
@@ -69,4 +77,14 @@
            this.updateById(goodsCategory);
        }
    }
    @Override
    public void delete(Long id) {
        Long count = goodsSkuMapper.selectCount(
                Wrappers.lambdaQuery(GoodsSku.class).eq(GoodsSku::getCategoryId, id));
        if (count > 0) {
            throw new ServiceException("该分类已有商品关联,不能删除");
        }
        this.removeById(id);
    }
}