From 8444084e6aa11efa23287e7f82474ac22378a5c4 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 01 四月 2025 16:03:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 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 f05ddba..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,6 +5,7 @@
 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;
@@ -126,12 +127,15 @@
     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);
     }
 
     /**
@@ -145,7 +149,9 @@
     public List<AppClassListVo> listByType(Integer classType){
         LambdaQueryWrapper<SysClassification> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(SysClassification::getDelFlag,0)
-                .eq(SysClassification::getClassType,classType);
+                .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();
@@ -155,4 +161,29 @@
         }).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