diff options
| author | tanghao <[email protected]> | 2024-08-06 14:22:53 +0800 |
|---|---|---|
| committer | tanghao <[email protected]> | 2024-08-06 14:22:53 +0800 |
| commit | 9a74b25003386957003009b9772317de1a81313b (patch) | |
| tree | 3f334358efc88acb47d98431b0af65bc9f009e99 | |
| parent | ac441ce941fcdfaf3ebffaae77573c9ad7dc2a52 (diff) | |
fix: 关注接口改为批量操作
3 files changed, 22 insertions, 14 deletions
diff --git a/cn-admin/src/main/java/net/geedge/modules/location/controller/LocationIntelligenceController.java b/cn-admin/src/main/java/net/geedge/modules/location/controller/LocationIntelligenceController.java index aa3572e..c7ea256 100644 --- a/cn-admin/src/main/java/net/geedge/modules/location/controller/LocationIntelligenceController.java +++ b/cn-admin/src/main/java/net/geedge/modules/location/controller/LocationIntelligenceController.java @@ -33,9 +33,9 @@ public class LocationIntelligenceController { } @PostMapping("/follow") - public R addFollow(@RequestBody UserSubscriber userSubscriber) { - ValidateUtils.is(userSubscriber.getSubscriberId()).notNull(RCode.NOT_NULL_ERROR); - userSubscriberService.insertFollow(userSubscriber); + public R addFollow(@RequestParam String subscriberIds) { + ValidateUtils.is(subscriberIds).notNull(RCode.NOT_NULL_ERROR); + userSubscriberService.insertFollow(subscriberIds); return R.ok(); } diff --git a/cn-admin/src/main/java/net/geedge/modules/location/service/UserSubscriberService.java b/cn-admin/src/main/java/net/geedge/modules/location/service/UserSubscriberService.java index 05ffc1c..258f80b 100644 --- a/cn-admin/src/main/java/net/geedge/modules/location/service/UserSubscriberService.java +++ b/cn-admin/src/main/java/net/geedge/modules/location/service/UserSubscriberService.java @@ -11,7 +11,7 @@ public interface UserSubscriberService extends IService<UserSubscriber>{ PageUtils getFollowedList(Map<String,Object> params); - void insertFollow(UserSubscriber userSubscriber); + void insertFollow(String subscriberIds); void deleteFollow(String subscriberIds); } diff --git a/cn-admin/src/main/java/net/geedge/modules/location/service/impl/UserSubscriberServiceImpl.java b/cn-admin/src/main/java/net/geedge/modules/location/service/impl/UserSubscriberServiceImpl.java index bd5463d..e4d77ce 100644 --- a/cn-admin/src/main/java/net/geedge/modules/location/service/impl/UserSubscriberServiceImpl.java +++ b/cn-admin/src/main/java/net/geedge/modules/location/service/impl/UserSubscriberServiceImpl.java @@ -1,6 +1,6 @@ package net.geedge.modules.location.service.impl; -import java.util.Arrays; +import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; @@ -81,17 +81,25 @@ public class UserSubscriberServiceImpl extends ServiceImpl<UserSubscriberDao, Us } @Override - public void insertFollow(UserSubscriber userSubscriber) { + public void insertFollow(String subscriberIds) { Long userId = ShiroUtils.getUserId(); - List<UserSubscriber> userSubs = this.baseMapper.selectList(new LambdaQueryWrapper<UserSubscriber>().eq(UserSubscriber::getSubscriberId, userSubscriber.getSubscriberId()) - .eq(UserSubscriber::getUserId, userId)); - if(ObjectUtil.isNotEmpty(userSubs)) { - throw new CNException(RCode.DATA_EXISTS_ERROR); + List<UserSubscriber> usersubscribers = new ArrayList<UserSubscriber>(); + List<String> subscribers = StrUtil.split(subscriberIds, StrUtil.C_COMMA); + subscribers = subscribers.stream().distinct().collect(Collectors.toList()); + for(String subscriberId : subscribers) { + UserSubscriber userSubscriber = new UserSubscriber(); + List<UserSubscriber> userSubs = this.baseMapper.selectList(new LambdaQueryWrapper<UserSubscriber>().eq(UserSubscriber::getSubscriberId, subscriberId) + .eq(UserSubscriber::getUserId, userId)); + if(ObjectUtil.isNotEmpty(userSubs)) { + throw new CNException(RCode.DATA_EXISTS_ERROR); + } + userSubscriber.setSubscriberId(subscriberId); + userSubscriber.setCtime(new Date()); + userSubscriber.setUtime(new Date()); + userSubscriber.setUserId(userId); + usersubscribers.add(userSubscriber); } - userSubscriber.setCtime(new Date()); - userSubscriber.setUtime(new Date()); - userSubscriber.setUserId(userId); - this.baseMapper.insert(userSubscriber); + this.saveBatch(usersubscribers); } @Override |
