From 6e3fcdbde6ad62832753ddc8d3e1429f29ea58ee Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 28 Apr 2025 17:31:42 +0800
Subject: [PATCH] refactor(mall): 优化活动报名相关功能
---
src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java | 19 +++++++++++++++++++
src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderListVo.java | 4 ++++
src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderInfoVo.java | 2 --
3 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
index 7b36573..b2d0db8 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
@@ -415,6 +415,7 @@
new LambdaQueryWrapper<HappyActivityConnect>()
.eq(HappyActivityConnect::getMemberId, memberId)
.eq(HappyActivityConnect::getName, dto.getName())
+ .eq(HappyActivityConnect::getPhone, dto.getPhone())
);
if(CollUtil.isNotEmpty(happyActivityConnects)){
throw new FebsException("已经添加过该联系人");
@@ -504,6 +505,24 @@
}
Long activityId = dto.getActivityId();
+
+ List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList(
+ new LambdaQueryWrapper<HappyActivityOrderItem>()
+ .eq(HappyActivityOrderItem::getActivityId, activityId)
+ .in(HappyActivityOrderItem::getConnectId, connectIds)
+ );
+ if(CollUtil.isNotEmpty(happyActivityOrderItems)){
+ //stream流操作happyActivityOrderItems,返回一个orderId的Set集合
+ Set<Long> orderIdSet = happyActivityOrderItems.stream().map(HappyActivityOrderItem::getOrderId).collect(Collectors.toSet());
+ List<HappyActivityOrder> happyActivityOrders = happyActivityOrderMapper.selectList(
+ new LambdaQueryWrapper<HappyActivityOrder>()
+ .in(HappyActivityOrder::getId, orderIdSet)
+ .in(HappyActivityOrder::getState, Arrays.asList(StateUpDownEnum.ORDER_STATE_WAIT_PAY.getCode(),StateUpDownEnum.ORDER_STATE_WAIT_USE.getCode()))
+ );
+ if(CollUtil.isNotEmpty(happyActivityOrders)){
+ throw new FebsException("有报名人重复报名了活动,请重新选择");
+ }
+ }
HappyActivity happyActivity = this.baseMapper.selectById(activityId);
if (ObjectUtil.isEmpty(happyActivity)) {
throw new FebsException("活动不存在");
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderInfoVo.java
index 08c1f96..622fbd7 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderInfoVo.java
@@ -43,8 +43,6 @@
@ApiModelProperty(value = "实付金额")
private BigDecimal price;
-
-
@ApiModelProperty(value = "订单状态 1-待支付 2-待使用 3-已使用 4-售后")
private Integer orderState;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderListVo.java
index d5b3000..cb95e00 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/activity/ApiActivityOrderListVo.java
@@ -42,6 +42,10 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
+ @ApiModelProperty(value = "订单失效时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date failTime;
+
@ApiModelProperty(value = "活动地点")
private String address;
--
Gitblit v1.9.1