diff --git a/src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java b/src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java index 72264049..ec3854b7 100644 --- a/src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java +++ b/src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java @@ -163,6 +163,12 @@ public class TagDataController { Integer saveType = param.getSaveType(); List tagInfoList = new ArrayList<>(); if(CollUtil.isNotEmpty(param.getTagIds())){ + long count = tagInfoService.count(new LambdaQueryWrapper() + .eq(TagInfo::getBusinessFlag,1) + .in(TagInfo::getId,param.getTagIds())); + if(count>0){ + return R.error("业务标签不支持绑定"); + } tagInfoList = tagInfoService.listByIds(param.getTagIds()); } for (TargetObjectDTO objectDTO : param.getTargetList()) { @@ -234,6 +240,12 @@ public class TagDataController { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(TagData::getTargetId,objectDTO.getTargetId()); lqw.eq(TagData::getTargetType,objectDTO.getTargetType()); + //移除历史记录时,加载所有业务标签,并排除在外 + List tagInfos = tagInfoService.list(new LambdaQueryWrapper() + .eq(TagInfo::getBusinessFlag,1)); + List businessTagIds = tagInfos.stream().map(TagInfo::getId).collect(Collectors.toList()); + businessTagIds.add(-999L); + lqw.notIn(TagData::getTagId,businessTagIds); tagDataService.remove(lqw); for (TagInfo tagInfo : tagInfoList) { TagData data = new TagData(); diff --git a/src/main/java/com/qs/serve/modules/tag/entity/TagInfo.java b/src/main/java/com/qs/serve/modules/tag/entity/TagInfo.java index 94fd8c8f..1bee5821 100644 --- a/src/main/java/com/qs/serve/modules/tag/entity/TagInfo.java +++ b/src/main/java/com/qs/serve/modules/tag/entity/TagInfo.java @@ -57,6 +57,9 @@ public class TagInfo implements Serializable { /** 工作类别 */ private String workType; + /** 表示是否业务标签 */ + private String businessFlag; + /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") private String remark;