From cfd0118ef446a66f91999afc7b1e46ca607adf50 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期四, 13 七月 2023 20:32:35 +0800 Subject: [PATCH] 定时任务 统计 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java | 130 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 124 insertions(+), 6 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 1b215c6..f05ddba 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 @@ -1,14 +1,24 @@ 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.AppClassListVo; +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.*; +import java.util.stream.Collectors; /** * <p> @@ -21,6 +31,14 @@ @Service public class SysClassificationServiceImpl extends ServiceImpl<SysClassificationMapper, SysClassification> implements SysClassificationService { + @Resource + private SysClassificationMapper sysClassificationMapper; + + @Resource + private RemoteGoodsService remoteGoodsService; + + @Resource + private ArticleService articleService; /** * @description: TODO @@ -37,4 +55,104 @@ } 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); + } + } + + /** + * @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); + 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; + } } -- Gitblit v1.7.1