mitao
2025-01-17 afa0dbb4f54e7244835dd67ec33c3e545f122f71
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);
            }
        }
    }
}