master:系统分类调整;

pull/1121/head
liujiang 2025-05-27 10:59:58 +08:00
parent 214d1e992e
commit 6fe4d1dad5
9 changed files with 30 additions and 17 deletions

View File

@ -11,7 +11,7 @@ import com.ruoyi.common.core.domain.vo.productCategory.ProdCateVO;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.dto.productCategory.ProdCateDTO;
import com.ruoyi.system.domain.dto.productCategory.ProdCateListDTO;
import com.ruoyi.system.service.ISysProductCategoryService;
import com.ruoyi.xkt.service.ISysProductCategoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;

View File

@ -3,11 +3,7 @@ package com.ruoyi.web.controller.xkt;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.core.controller.XktBaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.vo.productCategory.ProdCateListResVO;
import com.ruoyi.common.core.domain.vo.productCategory.ProdCateListVO;
import com.ruoyi.common.core.page.Page;
import com.ruoyi.system.domain.dto.productCategory.ProdCateListDTO;
import com.ruoyi.system.service.ISysProductCategoryService;
import com.ruoyi.web.controller.xkt.vo.advertRound.app.category.APPCateVO;
import com.ruoyi.web.controller.xkt.vo.advertRound.app.index.APPIndexHotSaleRightFixVO;
import com.ruoyi.web.controller.xkt.vo.advertRound.app.index.APPIndexMidBrandVO;

View File

@ -12,13 +12,13 @@ import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.domain.SimpleEntity;
import com.ruoyi.common.core.domain.entity.SysProductCategory;
import com.ruoyi.xkt.domain.SysProductCategory;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.es.EsClientWrapper;
import com.ruoyi.framework.notice.fs.FsNotice;
import com.ruoyi.system.mapper.SysProductCategoryMapper;
import com.ruoyi.xkt.mapper.SysProductCategoryMapper;
import com.ruoyi.xkt.domain.*;
import com.ruoyi.xkt.dto.account.WithdrawPrepareResult;
import com.ruoyi.xkt.dto.dailySale.DailySaleCusDTO;

View File

@ -2,7 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.SysProductCategoryMapper">
<mapper namespace="com.ruoyi.xkt.mapper.SysProductCategoryMapper">
<select id="getParentCate" parameterType="Long" resultType="com.ruoyi.system.domain.dto.productCategory.ProdCateDTO">
SELECT

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.core.domain.entity;
package com.ruoyi.xkt.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.annotation.Excel;

View File

@ -1,8 +1,8 @@
package com.ruoyi.system.mapper;
package com.ruoyi.xkt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.domain.entity.SysProductCategory;
import com.ruoyi.system.domain.dto.productCategory.ProdCateDTO;
import com.ruoyi.xkt.domain.SysProductCategory;
/**
*

View File

@ -1,4 +1,4 @@
package com.ruoyi.system.service;
package com.ruoyi.xkt.service;
import com.ruoyi.system.domain.dto.productCategory.AppHomeProdCateListResDTO;
import com.ruoyi.system.domain.dto.productCategory.ProdCateDTO;

View File

@ -23,7 +23,7 @@ import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.es.EsClientWrapper;
import com.ruoyi.system.domain.dto.productCategory.ProdCateDTO;
import com.ruoyi.system.mapper.SysProductCategoryMapper;
import com.ruoyi.xkt.mapper.SysProductCategoryMapper;
import com.ruoyi.xkt.domain.*;
import com.ruoyi.xkt.dto.es.ESProductDTO;
import com.ruoyi.xkt.dto.picture.ProductPicSyncDTO;

View File

@ -1,10 +1,9 @@
package com.ruoyi.system.service.impl;
package com.ruoyi.xkt.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.domain.entity.SysProductCategory;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
@ -12,8 +11,11 @@ import com.ruoyi.system.domain.dto.productCategory.AppHomeProdCateListResDTO;
import com.ruoyi.system.domain.dto.productCategory.ProdCateDTO;
import com.ruoyi.system.domain.dto.productCategory.ProdCateListDTO;
import com.ruoyi.system.domain.dto.productCategory.ProdCateListResDTO;
import com.ruoyi.system.mapper.SysProductCategoryMapper;
import com.ruoyi.system.service.ISysProductCategoryService;
import com.ruoyi.xkt.domain.StoreProduct;
import com.ruoyi.xkt.domain.SysProductCategory;
import com.ruoyi.xkt.mapper.StoreProductMapper;
import com.ruoyi.xkt.mapper.SysProductCategoryMapper;
import com.ruoyi.xkt.service.ISysProductCategoryService;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
@ -37,6 +39,7 @@ import static com.ruoyi.common.utils.SecurityUtils.getUsername;
public class SysProductCategoryServiceImpl implements ISysProductCategoryService {
final SysProductCategoryMapper prodCateMapper;
final StoreProductMapper storeProdMapper;
/**
*
@ -85,6 +88,20 @@ public class SysProductCategoryServiceImpl implements ISysProductCategoryService
// TODO 是否为超级管理员
this.isSuperAdmin();
// 是否有子分类
List<SysProductCategory> subCateList = this.prodCateMapper.selectList(new LambdaQueryWrapper<SysProductCategory>()
.eq(SysProductCategory::getParentId, prodCateId)
.eq(SysProductCategory::getDelFlag, Constants.UNDELETED));
List<Long> cateIdList = new ArrayList<Long>(){{
add(prodCateId);
}};
CollectionUtils.addAll(cateIdList, subCateList.stream().map(SysProductCategory::getId).collect(Collectors.toList()));
// 这些分类是否已绑定商品
List<StoreProduct> storeProductList = this.storeProdMapper.selectList(new LambdaQueryWrapper<StoreProduct>()
.in(StoreProduct::getProdCateId, cateIdList).eq(StoreProduct::getDelFlag, Constants.UNDELETED));
if (CollectionUtils.isNotEmpty(storeProductList)) {
throw new ServiceException("该分类下已绑定商品,不可删除!", HttpStatus.ERROR);
}
SysProductCategory prodCate = Optional.ofNullable(this.prodCateMapper.selectOne(new LambdaQueryWrapper<SysProductCategory>()
.eq(SysProductCategory::getId, prodCateId).eq(SysProductCategory::getDelFlag, Constants.UNDELETED)))
.orElseThrow(() -> new ServiceException("商品分类不存在!", HttpStatus.ERROR));