diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java index 9d2d1fa8a..b04a16c40 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.stream.Collectors; @Service public class WxCouponChannelServiceImpl implements WxCouponChannelService { @@ -144,9 +145,15 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { record.setCouponId(null); } Long finalCouponId = couponId; - return wxCouponChannelMapper.findVoList(record).parallelStream() + List voList = wxCouponChannelMapper.findVoList(record).stream() .filter(wxCouponChannelVo -> !wxCouponChannelVo.getCouponId().equals(finalCouponId)) - .findAny().orElse(null); + .collect(Collectors.toList()); + if (!voList.isEmpty()) { + int size = voList.size() - 1; + Random random = new Random(); + return voList.get(random.nextInt(size)); + } + return null; } private boolean isCouponMerchantValid(Long couponId) {