| | |
| | | package com.ruoyi.system.service.impl.config; |
| | | |
| | | import com.ruoyi.system.api.domain.poji.config.SysClassification; |
| | | import com.ruoyi.system.mapper.config.SysClassificationMapper; |
| | | import com.ruoyi.system.service.config.SysClassificationService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | 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.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.MgtClassificationPageVo; |
| | | import com.ruoyi.system.mapper.config.SysClassificationMapper; |
| | | import com.ruoyi.system.service.config.ArticleService; |
| | | import com.ruoyi.system.service.config.SysClassificationService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class SysClassificationServiceImpl extends ServiceImpl<SysClassificationMapper, SysClassification> implements SysClassificationService { |
| | | |
| | | @Resource |
| | | private SysClassificationMapper sysClassificationMapper; |
| | | |
| | | @Resource |
| | | private RemoteGoodsService remoteGoodsService; |
| | | |
| | | @Resource |
| | | private ArticleService articleService; |
| | | |
| | | /** |
| | | * @description: TODO |
| | |
| | | } |
| | | return sysClassificationMap; |
| | | } |
| | | |
| | | /** |
| | | * @description 分页获取分类 |
| | | * @author jqs |
| | | * @date 2023/6/8 10:11 |
| | | * @param page |
| | | * @param mgtClassificationPageDto |
| | | * @return List<MgtClassificationPageVo> |
| | | */ |
| | | @Override |
| | | public List<MgtClassificationPageVo> pageClassification(Page page, MgtClassificationPageDto mgtClassificationPageDto){ |
| | | return sysClassificationMapper.pageClassification(page, mgtClassificationPageDto); |
| | | } |
| | | |
| | | /** |
| | | * @description 修改分类 |
| | | * @author jqs |
| | | * @date 2023/6/8 10:23 |
| | | * @param mgtClassificationEditDto |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void editClassification(MgtClassificationEditDto mgtClassificationEditDto){ |
| | | // 查询未删除的同类名同分类类型的分类 |
| | | LambdaQueryWrapper<SysClassification> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(SysClassification::getDelFlag,0) |
| | | .eq(SysClassification::getClassType,mgtClassificationEditDto.getClassType()) |
| | | .eq(SysClassification::getClassName,mgtClassificationEditDto.getClassName()); |
| | | SysClassification sysClassificationSame = this.getOne(queryWrapper); |
| | | // 获取分类ID |
| | | Long classId = mgtClassificationEditDto.getClassId(); |
| | | SysClassification sysClassification; |
| | | // 如果分类ID不为空 |
| | | if(classId != null){ |
| | | // 如果存在同类名同分类类型的分类,但是分类ID不同,抛出异常 |
| | | if(sysClassificationSame != null && !Objects.equals(sysClassificationSame.getClassId(), classId)){ |
| | | throw new ServiceException(AppErrorConstant.CLASS_DOUBLE); |
| | | } |
| | | // 获取要修改的分类 |
| | | sysClassification = this.getById(classId); |
| | | }else{ // 如果分类ID为空 |
| | | // 如果存在同类名同分类类型的分类,抛出异常 |
| | | if(sysClassificationSame!=null){ |
| | | throw new ServiceException(AppErrorConstant.CLASS_DOUBLE); |
| | | } |
| | | // 新建分类 |
| | | sysClassification = new SysClassification(); |
| | | sysClassification.setDelFlag(0); |
| | | sysClassification.setRelationNum(0); |
| | | } |
| | | // 设置分类信息 |
| | | sysClassification.setClassType(mgtClassificationEditDto.getClassType()); |
| | | sysClassification.setClassName(mgtClassificationEditDto.getClassName()); |
| | | sysClassification.setClassSort(mgtClassificationEditDto.getClassSort()); |
| | | sysClassification.setCreateTime(new Date()); |
| | | // 保存或更新分类 |
| | | this.saveOrUpdate(sysClassification); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 删除分类 |
| | | * @author jqs |
| | | * @date 2023/6/8 10:28 |
| | | * @param classId |
| | | * @return void |
| | | */ |
| | | @Override |
| | | 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); |
| | | } |
| | | } |
| | | } |