From 86f2368f146af23c9e16507f790752e79858a29f Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 22 Feb 2024 22:34:31 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsCategoryService.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 92 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..78a8d9c 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,81 @@
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());
+ mallGoodsCategory.setIndexNum(mallGoodsCategoryParam.getIndexNum());
+ 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