From 76706e083e2f5d91b4d3346ffead2e6bce2d09c5 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 15 Aug 2023 17:00:28 +0800
Subject: [PATCH] 后台修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java |  131 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 127 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
index 7344ab1..e391a27 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
@@ -8,16 +8,18 @@
 import cc.mrbird.febs.dapp.dto.MallOrderInfoDto;
 import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
 import cc.mrbird.febs.dapp.entity.MallGoods;
+import cc.mrbird.febs.dapp.entity.MallGoodsCategory;
 import cc.mrbird.febs.dapp.entity.MallOrderInfo;
 import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
-import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
-import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
-import cc.mrbird.febs.dapp.mapper.MallGoodsMapper;
-import cc.mrbird.febs.dapp.mapper.MallOrderInfoMapper;
+import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.IAdminMallGoodsService;
+import cc.mrbird.febs.dapp.vo.AdminMallGoodsCategoryTreeVo;
+import cc.mrbird.febs.dapp.vo.AdminMallGoodsCategoryVo;
 import cc.mrbird.febs.dapp.vo.AdminMallMoneyFlowVo;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -40,6 +42,7 @@
     private final MallOrderInfoMapper mallOrderInfoMapper;
     private final DappFundFlowDao dappFundFlowDao;
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    private final MallGoodsCategoryMapper mallGoodsCategoryMapper;
 
     @Override
     public IPage<MallGoods> getCategoryListInPage(MallGoods mallGoods, QueryRequest request) {
@@ -214,6 +217,126 @@
                 hlmBasicPerkDto.getWithDrawFee());
     }
 
+    @Override
+    public IPage<MallGoodsCategory> getCategoryList(MallGoodsCategory mallGoodsCategory, QueryRequest request) {
+        Page<MallGoodsCategory> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<MallGoodsCategory> mallGoodsCategorys = mallGoodsCategoryMapper.selectCategoryListInPage(page, mallGoodsCategory);
+        return mallGoodsCategorys;
+    }
+
+    @Override
+    public FebsResponse addCategory(MallGoodsCategory mallGoodsCategory) {
+        String name = mallGoodsCategory.getName();
+        if(StrUtil.isEmpty(name)){
+            return new FebsResponse().fail().message("分类名称不能为空");
+        }
+        List<MallGoodsCategory> categorys = mallGoodsCategoryMapper.selectCategoryByName(name);
+        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.setImage(mallGoodsCategory.getImage());
+        if(ObjectUtil.isNotEmpty(mallGoodsCategory.getParentId())){
+            Long parentId = mallGoodsCategory.getParentId();
+            MallGoodsCategory mallGoodsCategoryParent = mallGoodsCategoryMapper.selectById(parentId);
+            goodsCategory.setParentId(mallGoodsCategory.getParentId());
+            if(StrUtil.isNotEmpty(mallGoodsCategoryParent.getParentIds())){
+                goodsCategory.setParentIds(mallGoodsCategoryParent.getParentIds()+","+mallGoodsCategory.getParentId()+",");
+            }else{
+                goodsCategory.setParentIds(mallGoodsCategory.getParentId()+",");
+            }
+            goodsCategory.setIsRecommend(0);
+        }else{
+            goodsCategory.setParentId(0L);
+            goodsCategory.setIsRecommend(mallGoodsCategory.getIsRecommend());
+        }
+        mallGoodsCategoryMapper.insert(goodsCategory);
+        return new FebsResponse().success();
+    }
+
+    @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 AdminMallGoodsCategoryVo getMallGoodsCategoryInfoById(long id) {
+        return mallGoodsCategoryMapper.getMallGoodsCategoryInfoById(id);
+    }
+
+    @Override
+    public List<AdminMallGoodsCategoryTreeVo> getParentCategorys() {
+        List<AdminMallGoodsCategoryTreeVo> adminMallGoodsCategoryTreeVos = mallGoodsCategoryMapper.getParentCategorys();
+        return adminMallGoodsCategoryTreeVos;
+    }
+
     public void updateDataDic(String type, String code, String value) {
         DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(type, code);
         if (dic != null) {

--
Gitblit v1.9.1