From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 17 一月 2025 16:40:43 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 2 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
index bb5b412..ae75193 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
@@ -5,10 +5,12 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.system.api.constant.AppErrorConstant;
+import com.ruoyi.system.api.domain.dto.MgtClassNumDto;
 import com.ruoyi.system.api.domain.poji.config.SysClassification;
 import com.ruoyi.system.api.service.RemoteGoodsService;
 import com.ruoyi.system.domain.dto.MgtClassificationEditDto;
 import com.ruoyi.system.domain.dto.MgtClassificationPageDto;
+import com.ruoyi.system.domain.vo.AppClassListVo;
 import com.ruoyi.system.domain.vo.MgtClassificationPageVo;
 import com.ruoyi.system.mapper.config.SysClassificationMapper;
 import com.ruoyi.system.service.config.ArticleService;
@@ -17,6 +19,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -124,11 +127,63 @@
     public void deleteClassification(Long classId){
         SysClassification sysClassification = this.getById(classId);
         sysClassification.setDelFlag(1);
-        this.saveOrUpdate(sysClassification);
         if(sysClassification.getClassType()==1){
             articleService.deleteArticleClass(classId);
         }else if(sysClassification.getClassType()==2){
-            remoteGoodsService.deleteGoodsClass(classId);
+            List<String> goodsNameList = remoteGoodsService.listGoodsNameByGoodsClass(classId).getData();
+            if(goodsNameList!=null&&goodsNameList.size()>0){
+                throw new ServiceException("无法删除,该分类下还有关联商品-"+goodsNameList.toString());
+            }
+        }
+        this.saveOrUpdate(sysClassification);
+    }
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/13 11:21
+     * @param
+     * @return  List<AppClassListVo>
+     */
+    @Override
+    public List<AppClassListVo> listByType(Integer classType){
+        LambdaQueryWrapper<SysClassification> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SysClassification::getDelFlag,0)
+                .eq(SysClassification::getClassType,classType)
+                .orderByDesc(SysClassification::getClassSort)
+                .orderByDesc(SysClassification::getCreateTime);
+        List<SysClassification> sysClassificationList = this.list(queryWrapper);
+        List<AppClassListVo> classListVos = sysClassificationList.stream().map(sysClassification ->{
+            AppClassListVo appClassListVo = new AppClassListVo();
+            appClassListVo.setClassId(sysClassification.getClassId());
+            appClassListVo.setClassName(sysClassification.getClassName());
+            return appClassListVo;
+        }).collect(Collectors.toList());
+        return classListVos;
+    }
+
+    /**
+     * @description  分类变化
+     * @author  jqs
+     * @date    2023/7/20 14:32
+     * @param mgtClassNumDto
+     * @return  void
+     */
+    @Override
+    public void changeClassNum(MgtClassNumDto mgtClassNumDto){
+        if(mgtClassNumDto.getAddClassId()!=null){
+            SysClassification addSysClassification = this.getById(mgtClassNumDto.getAddClassId());
+            if(addSysClassification!=null){
+                addSysClassification.setRelationNum(addSysClassification.getRelationNum()+1);
+                this.saveOrUpdate(addSysClassification);
+            }
+        }
+        if(mgtClassNumDto.getSubClassId()!=null){
+            SysClassification subSysClassification = this.getById(mgtClassNumDto.getSubClassId());
+            if(subSysClassification!=null){
+                subSysClassification.setRelationNum(subSysClassification.getRelationNum()-1);
+                this.saveOrUpdate(subSysClassification);
+            }
         }
     }
 }

--
Gitblit v1.7.1