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