From fff9be093c9cdadfbf0cd235eb4a36f8c13b5dc3 Mon Sep 17 00:00:00 2001 From: Yen Date: Mon, 29 Jul 2024 15:04:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8B=93=E5=B1=95=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=8F=AA=E5=85=81=E8=AE=B8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/tag/controller/TagDataController.java | 12 ++++++++++++ .../com/qs/serve/modules/tag/entity/TagInfo.java | 3 +++ 2 files changed, 15 insertions(+) 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;