Merge branch 'develop' of http://139.196.179.195:3000/chenxudong/electromagnetic-data-new into develop
This commit is contained in:
commit
dc7d061be2
|
|
@ -6,6 +6,7 @@ import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
|||
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
|
||||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||
import com.electromagnetic.industry.software.manage.service.EdTagLibraryService;
|
||||
import com.electromagnetic.industry.software.manage.service.FileTagRelationService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
|
@ -17,6 +18,9 @@ public class EdTagLibraryController {
|
|||
@Resource
|
||||
private EdTagLibraryService edTagLibraryService;
|
||||
|
||||
@Resource
|
||||
private FileTagRelationService fileTagRelationService;
|
||||
|
||||
// 新建标签组
|
||||
@PostMapping("/createGroup")
|
||||
@UserOperation(value="创建了标签组", modelName = UserOperationModuleEnum.TAG)
|
||||
|
|
@ -83,5 +87,12 @@ public class EdTagLibraryController {
|
|||
public ElectromagneticResult<?> listAllTags() {
|
||||
return ElectromagneticResultUtil.success(edTagLibraryService.listAllTags());
|
||||
}
|
||||
}
|
||||
|
||||
// 批量添加标签到文件
|
||||
@PostMapping("/addTagsToFile")
|
||||
@UserOperation(value="批量添加了标签到文件", modelName = UserOperationModuleEnum.TAG)
|
||||
public ElectromagneticResult<?> addTagsToFile(@RequestParam String fileId, @RequestParam List<String> tagIds) {
|
||||
String createdBy = UserThreadLocal.getUserId();
|
||||
return ElectromagneticResultUtil.success(fileTagRelationService.addTagsToFile(fileId, tagIds, createdBy));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package com.electromagnetic.industry.software.manage.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.electromagnetic.industry.software.manage.pojo.models.FileTagRelation;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface FileTagRelationMapper extends BaseMapper<FileTagRelation> {
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.electromagnetic.industry.software.manage.pojo.models;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@TableName("file_tag_relations")
|
||||
public class FileTagRelation {
|
||||
@TableId(type = IdType.ASSIGN_UUID)
|
||||
private String id;
|
||||
private String fileId;
|
||||
private String tagId;
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createdTime;
|
||||
private String createdBy;
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.electromagnetic.industry.software.manage.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.electromagnetic.industry.software.manage.pojo.models.FileTagRelation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface FileTagRelationService extends IService<FileTagRelation> {
|
||||
boolean addTagToFile(String fileId, String tagId, String createdBy);
|
||||
|
||||
boolean addTagsToFile(String fileId, List<String> tagIds, String createdBy);
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
package com.electromagnetic.industry.software.manage.service.serviceimpl;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.electromagnetic.industry.software.common.enums.PublishEnum;
|
||||
import com.electromagnetic.industry.software.common.util.IdWorker;
|
||||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||
import com.electromagnetic.industry.software.manage.mapper.EdTagLibraryMapper;
|
||||
import com.electromagnetic.industry.software.manage.mapper.FileTagRelationMapper;
|
||||
import com.electromagnetic.industry.software.manage.pojo.models.EdTagLibrary;
|
||||
import com.electromagnetic.industry.software.manage.pojo.models.FileTagRelation;
|
||||
import com.electromagnetic.industry.software.manage.service.FileTagRelationService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class FileTagRelationServiceImpl extends ServiceImpl<FileTagRelationMapper, FileTagRelation> implements FileTagRelationService {
|
||||
@Autowired
|
||||
private EdTagLibraryMapper edTagLibraryMapper;
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean addTagToFile(String fileId, String tagId, String createdBy) {
|
||||
// 检查标签是否存在并且已发布
|
||||
EdTagLibrary tag = edTagLibraryMapper.selectOne(new LambdaQueryWrapper<EdTagLibrary>()
|
||||
.eq(EdTagLibrary::getTagId, tagId)
|
||||
.eq(EdTagLibrary::getIsPublished, PublishEnum.PUBLISHED.getCode()));
|
||||
Assert.notNull(tag, "标签不存在或未发布");
|
||||
|
||||
// 创建文件与标签关系
|
||||
FileTagRelation relation = new FileTagRelation();
|
||||
relation.setId(IdWorker.getSnowFlakeIdString());
|
||||
relation.setFileId(fileId);
|
||||
relation.setTagId(tagId);
|
||||
relation.setCreatedBy(createdBy);
|
||||
|
||||
boolean isSuccess = this.save(relation);
|
||||
if (isSuccess) {
|
||||
UserThreadLocal.setSuccessInfo("", relation.getId(), "添加了标签到文件");
|
||||
}
|
||||
return isSuccess;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean addTagsToFile(String fileId, List<String> tagIds, String createdBy) {
|
||||
boolean isSuccess = true;
|
||||
for (String tagId : tagIds) {
|
||||
isSuccess &= addTagToFile(fileId, tagId, createdBy);
|
||||
}
|
||||
return isSuccess;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue