From 77723a7720dab6bebc8b6c6af963df205e4dba7c Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期四, 08 六月 2023 16:17:40 +0800 Subject: [PATCH] 基础配置 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 107 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java index fb612eb..6f916a4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java @@ -2,13 +2,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +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.SysTag; +import com.ruoyi.system.domain.dto.MgtTagEditDto; +import com.ruoyi.system.domain.dto.MgtTagPageDto; +import com.ruoyi.system.domain.vo.MgtTagPageVo; import com.ruoyi.system.mapper.config.SysTagMapper; import com.ruoyi.system.service.config.SysTagService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Date; import java.util.List; +import java.util.Objects; /** * <p> @@ -21,6 +31,8 @@ @Service public class SysTagServiceImpl extends ServiceImpl<SysTagMapper, SysTag> implements SysTagService { + @Resource + private SysTagMapper sysTagMapper; /** * 通过id获取系统标签 @@ -44,4 +56,98 @@ List<SysTag> sysTagsList = this.list(queryWrapper); return sysTagsList; } + + /** + * @description 标签管理 + * @author jqs + * @date 2023/6/8 14:09 + * @param page + * @param mgtTagPageDto + * @return List<MgtTagPageVo> + */ + @Override + public List<MgtTagPageVo> pageTag(Page page, MgtTagPageDto mgtTagPageDto){ + return sysTagMapper.pageTag(page, mgtTagPageDto); + } + + /** + * @description 修改标签 + * @author jqs + * @date 2023/6/8 15:01 + * @param mgtTagEditDto + * @return void + */ + @Override + public void editTag(MgtTagEditDto mgtTagEditDto){ + // 创建LambdaQueryWrapper对象,用于构建查询条件 + LambdaQueryWrapper<SysTag> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysTag::getDelFlag, 0) // 查询条件:delFlag=0 + .eq(SysTag::getTagType, mgtTagEditDto.getTagType()) // 查询条件:tagType=mgtTagEditDto的tagType属性 + .eq(SysTag::getTagName, mgtTagEditDto.getTagName()); // 查询条件:tagName=mgtTagEditDto的tagName属性 + // 执行查询,获取与查询条件匹配的SysTag对象 + SysTag sysTagSame = this.getOne(queryWrapper); + // 获取mgtTagEditDto的tagId属性 + Long tagId = mgtTagEditDto.getTagId(); + // 定义SysTag对象 + SysTag sysTag; + if (tagId != null) { // 如果tagId不为空 + // 如果存在同类名同分类类型的分类,但是分类ID不同,抛出异常 + if (sysTagSame != null && !Objects.equals(sysTagSame.getTagId(), tagId)) { + throw new ServiceException(AppErrorConstant.TAG_DOUBLE); + } + // 根据tagId获取要修改的分类 + sysTag = this.getById(tagId); + } else { // 如果tagId为空 + // 如果存在同类名同分类类型的分类,抛出异常 + if (sysTagSame != null) { + throw new ServiceException(AppErrorConstant.TAG_DOUBLE); + } + // 新建分类 + sysTag = new SysTag(); + sysTag.setDelFlag(0); + } + // 设置sysTag的属性 + sysTag.setTagType(mgtTagEditDto.getTagType()); + sysTag.setTagName(mgtTagEditDto.getTagName()); + sysTag.setCreateTime(new Date()); + sysTag.setSynFlag(0); + // 执行保存或更新操作 + this.saveOrUpdate(sysTag); + } + + /** + * @description 删除标签 + * @author jqs + * @date 2023/6/8 15:09 + * @param tagId + * @return void + */ + @Override + public void deleteTag(Long tagId){ + SysTag sysTag = this.getById(tagId); + sysTag.setDelFlag(1); + this.saveOrUpdate(sysTag); + handleDeleteTag(sysTag.getTagType(),sysTag.getTagName()); + } + + @Async + protected void handleDeleteTag(Integer tagType, String tagName){ + //标签类型1用户2合作商3商品4建议 + switch (tagType){ + case 1: + + break; + case 2: + + break; + case 3: + + break; + case 4: + + break; + default: + break; + } + } } -- Gitblit v1.7.1