diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderGroupController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderGroupController.java index 96b033067..7e32b407c 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderGroupController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderGroupController.java @@ -48,7 +48,7 @@ public class WxOrderGroupController extends BaseController { wxOrderGroup.setRemainPeople(1); wxOrderGroup.setStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING.getCode()); wxOrderGroup.setTenantId(getTenantId()); - return wxOrderGroupService.queryRemainOne(wxOrderGroup); + return wxOrderGroupService.queryRemainOne(wxOrderGroup, getUserId()); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderGroupService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderGroupService.java index 054b937ec..f1ea20186 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderGroupService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderGroupService.java @@ -15,7 +15,7 @@ public interface WxOrderGroupService { void createOrderGroup(WxOrder order, WxCoupon wxCoupon); - ResultData queryRemainOne(WxOrderGroup wxOrderGroup); + ResultData queryRemainOne(WxOrderGroup wxOrderGroup, Long userId); PageInfo> queryOrderGroup(WxOrder wxOrder, Integer pageNum, Integer pageSize); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java index 9bfd55636..dc87ce85d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java @@ -23,10 +23,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -146,11 +143,12 @@ public class WxOrderGroupServiceImpl implements WxOrderGroupService { } @Override - public ResultData queryRemainOne(WxOrderGroup wxOrderGroup) { + public ResultData queryRemainOne(WxOrderGroup wxOrderGroup, Long userId) { //取过期时间最大的数据 - WxOrderGroup group = wxOrderGroupMapper.select(wxOrderGroup).stream().max((x, y) -> { - return x.getExpiredDate().after(y.getExpiredDate()) ? 1 : 0; - }).orElse(null); + WxOrderGroup group = wxOrderGroupMapper.select(wxOrderGroup).parallelStream() + .filter(o -> !o.getUserId().equals(userId) && o.getExpiredDate().after(new Date())) + .max(Comparator.comparing(WxOrderGroup::getExpiredDate)) + .orElse(null); if (group == null) { return new ResultData(Result.SUCCESS, "查询成功", group); } @@ -163,6 +161,7 @@ public class WxOrderGroupServiceImpl implements WxOrderGroupService { PageHelper.startPage(pageIndex, pageSize); List> result = wxOrderGroupMapper.queryOrderGroup(wxOrder); //更新状态 + logger.info("更新状态:" + result); updateOrderGroupStatus(result); PageHelper.startPage(pageIndex, pageSize); result = wxOrderGroupMapper.queryOrderGroup(wxOrder);