From 8c1c003c60d2f27b3c55e248451caeec7f2b5631 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 28 一月 2021 19:06:28 +0800 Subject: [PATCH] 活动管理界面完善 --- service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/ActivityTagServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 51 insertions(+), 0 deletions(-) diff --git a/service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/ActivityTagServiceImpl.java b/service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/ActivityTagServiceImpl.java index 3eb4cc2..68a18d8 100644 --- a/service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/ActivityTagServiceImpl.java +++ b/service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/ActivityTagServiceImpl.java @@ -5,12 +5,15 @@ import com.ks.daylucky.pojo.DO.ActivityTag; import com.ks.daylucky.service.ActivityTagService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Valid; import java.util.Date; +import java.util.HashSet; import java.util.List; +import java.util.Set; @Service public class ActivityTagServiceImpl implements ActivityTagService { @@ -29,6 +32,54 @@ activityTagMapper.insertSelective(tag); } + @Transactional(rollbackFor = Exception.class) + @Override + public void setTags(Long activityId, List<ActivityTag> tags) { + if (tags == null) { + return; + } + + List<ActivityTag> oList = getTagList(activityId); + + //鍒犻櫎TAG + if (tags.size() == 0) { + for (ActivityTag tag : oList) { + activityTagMapper.deleteByPrimaryKey(tag.getId()); + } + return; + } + + //鑾峰彇鑰両D + Set<Long> ids = new HashSet<>(); + for (ActivityTag tag : oList) { + ids.add(tag.getId()); + } + + for (int i = 0; i < tags.size(); i++) { + ActivityTag tag = tags.get(i); + tag.setWeight(tags.size() - i); + if (tag.getId() == null) { + //鏂板 + tag.setCreateTime(new Date()); + tag.setActivityId(activityId); + addActivityTag(tag); + } else { + ids.remove(tag.getId()); + //鏇存柊鏉冮噸 + ActivityTag update = new ActivityTag(); + update.setId(tag.getId()); + update.setWeight(tag.getWeight()); + update(update); + } + } + + //鍒犻櫎闇�瑕佸垹闄ょ殑鏍囩 + for (Long id : ids) { + delete(id); + } + } + + @Override public List<ActivityTag> getTagList(Long activityId) { return activityTagMapper.listByActivityId(activityId); -- Gitblit v1.8.0