| | |
| | | |
| | | 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> |
| | |
| | | @Service |
| | | public class SysTagServiceImpl extends ServiceImpl<SysTagMapper, SysTag> implements SysTagService { |
| | | |
| | | @Resource |
| | | private SysTagMapper sysTagMapper; |
| | | |
| | | /** |
| | | * 通过id获取系统标签 |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |