From 041f8683651a19ebe041c239a3ca19822c53470c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 28 Sep 2021 20:39:24 +0800 Subject: [PATCH] 20210928 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsCategoryService.java | 92 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 91 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsCategoryService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsCategoryService.java index 2b4b187..8cb5411 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsCategoryService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsCategoryService.java @@ -2,9 +2,12 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.mall.entity.MallGoods; import cc.mrbird.febs.mall.entity.MallGoodsCategory; import cc.mrbird.febs.mall.mapper.MallGoodsCategoryMapper; +import cc.mrbird.febs.mall.mapper.MallGoodsMapper; import cc.mrbird.febs.mall.service.IAdminMallGoodsCategoryService; +import cc.mrbird.febs.mall.vo.AdminMallGoodsCategoryTreeVo; import cc.mrbird.febs.mall.vo.AdminMallGoodsCategoryVo; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; @@ -15,15 +18,19 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @Slf4j @Service @RequiredArgsConstructor +@Transactional public class AdminMallGoodsCategoryService extends ServiceImpl<MallGoodsCategoryMapper, MallGoodsCategory> implements IAdminMallGoodsCategoryService { private final MallGoodsCategoryMapper mallGoodsCategoryMapper; + + private final MallGoodsMapper mallGoodsMapper; @Override public IPage<MallGoodsCategory> getCategoryList(MallGoodsCategory mallGoodsCategory, QueryRequest request) { @@ -42,10 +49,15 @@ if(CollUtil.isNotEmpty(categorys)){ return new FebsResponse().fail().message("分类名称不能重复"); } + Long parentIdParam = mallGoodsCategory.getParentId() == null ? 0L:mallGoodsCategory.getParentId(); + Integer isRecommendParam = mallGoodsCategory.getIsRecommend(); + if(parentIdParam > 0 && isRecommendParam == 1){ + return new FebsResponse().fail().message("子分类不能选择【是否推荐】为【是】"); + } MallGoodsCategory goodsCategory = new MallGoodsCategory(); goodsCategory.setName(name); - goodsCategory.setIsRecommend(mallGoodsCategory.getIsRecommend()); + goodsCategory.setImage(mallGoodsCategory.getImage()); if(ObjectUtil.isNotEmpty(mallGoodsCategory.getParentId())){ Long parentId = mallGoodsCategory.getParentId(); MallGoodsCategory mallGoodsCategoryParent = mallGoodsCategoryMapper.selectById(parentId); @@ -55,8 +67,10 @@ }else{ goodsCategory.setParentIds(mallGoodsCategory.getParentId()+","); } + goodsCategory.setIsRecommend(0); }else{ goodsCategory.setParentId(0L); + goodsCategory.setIsRecommend(mallGoodsCategory.getIsRecommend()); } mallGoodsCategoryMapper.insert(goodsCategory); return new FebsResponse().success(); @@ -73,4 +87,80 @@ return mallGoodsCategoryMapper.getMallGoodsCategoryInfoById(id); } + @Override + public List<AdminMallGoodsCategoryTreeVo> getParentCategorys() { + List<AdminMallGoodsCategoryTreeVo> adminMallGoodsCategoryTreeVos = mallGoodsCategoryMapper.getParentCategorys(); + return adminMallGoodsCategoryTreeVos; + } + + @Override + public FebsResponse updateCategory(MallGoodsCategory mallGoodsCategoryParam) { + String name = mallGoodsCategoryParam.getName(); + if(StrUtil.isEmpty(name)){ + return new FebsResponse().fail().message("名称不能为空"); + } + Long parentIdParam = mallGoodsCategoryParam.getParentId() == null ? 0L:mallGoodsCategoryParam.getParentId(); + Integer isRecommendParam = mallGoodsCategoryParam.getIsRecommend(); + if(parentIdParam > 0 && isRecommendParam == 1){ + return new FebsResponse().fail().message("子分类不能选择【是否推荐】为【是】"); + } + + Long id = mallGoodsCategoryParam.getId(); + MallGoodsCategory mallGoodsCategory = mallGoodsCategoryMapper.selectById(id); + mallGoodsCategory.setName(mallGoodsCategoryParam.getName()); + mallGoodsCategory.setImage(mallGoodsCategoryParam.getImage()); + if(ObjectUtil.isNotEmpty(mallGoodsCategoryParam.getParentId())){ + Long parentId = mallGoodsCategoryParam.getParentId(); + MallGoodsCategory mallGoodsCategoryParent = mallGoodsCategoryMapper.selectById(parentId); + mallGoodsCategory.setParentId(mallGoodsCategoryParam.getParentId()); + if(StrUtil.isNotEmpty(mallGoodsCategoryParent.getParentIds())){ + mallGoodsCategory.setParentIds(mallGoodsCategoryParent.getParentIds()+","+mallGoodsCategory.getParentId()+","); + }else{ + mallGoodsCategory.setParentIds(mallGoodsCategory.getParentId()+","); + } + mallGoodsCategory.setIsRecommend(0); + }else{ + mallGoodsCategory.setParentId(0L); + mallGoodsCategory.setIsRecommend(mallGoodsCategoryParam.getIsRecommend()); + } + mallGoodsCategoryMapper.updateById(mallGoodsCategory); + + return new FebsResponse().success(); + } + + @Override + public FebsResponse delCategary(Long id) { + MallGoodsCategory mallGoodsCategory = mallGoodsCategoryMapper.selectById(id); + if(ObjectUtil.isEmpty(mallGoodsCategory)){ + return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); + } + List<MallGoodsCategory> childCategarys = mallGoodsCategoryMapper.selectChildCategaryById(id); + if(CollUtil.isNotEmpty(childCategarys)){ + for(MallGoodsCategory childCategary : childCategarys){ + Long childCategaryId = childCategary.getId(); + List<MallGoods> mallChildGoods = mallGoodsMapper.selectMallGoodsByCategaryId(childCategaryId); + if(CollUtil.isNotEmpty(mallChildGoods)){ + return new FebsResponse().fail().message("该分类下的子类【"+childCategary.getName()+"】还有商品,请先删除商品或者修改商品分类"); + } + } + } + + if(CollUtil.isNotEmpty(childCategarys)){ + return new FebsResponse().fail().message("该分类下还有子类,请先删除子类"); + } + + List<MallGoods> mallGoods = mallGoodsMapper.selectMallGoodsByCategaryId(id); + if(CollUtil.isNotEmpty(mallGoods)){ + return new FebsResponse().fail().message("该分类下还有商品,请先删除商品或者修改商品分类"); + } + mallGoodsCategoryMapper.deleteById(mallGoodsCategory); + return new FebsResponse().success(); + } + + @Override + public List<AdminMallGoodsCategoryTreeVo> getAllCategorys() { + List<AdminMallGoodsCategoryTreeVo> adminMallGoodsCategoryTreeVos = mallGoodsCategoryMapper.getAllCategorys(); + return adminMallGoodsCategoryTreeVos; + } + } -- Gitblit v1.9.1