From abac185a94433d03ddf6954ff5d545c095e5088a Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 28 Apr 2025 17:47:15 +0800 Subject: [PATCH] feat(votesActivity): 更新订单列表筛选状态 --- src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 42 insertions(+), 1 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 9882c5e..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("已经添加过该联系人"); @@ -471,6 +472,26 @@ } @Override + public FebsResponse expireOrder(ApiExpireOrderDto dto) { + if(CollUtil.isEmpty(dto.getIds())){ + throw new FebsException("请选择订单"); + } + + dto.getIds().forEach(id -> { + HappyActivityOrder happyActivityOrder = happyActivityOrderMapper.selectById(id); + if(ObjectUtil.isNotEmpty(happyActivityOrder)){ + Long activityId = happyActivityOrder.getActivityId(); + Integer numCnt = happyActivityOrder.getNumCnt(); + this.baseMapper.updateHappyActivitySurplusCnt(activityId,numCnt); + + happyActivityOrder.setState(StateUpDownEnum.ORDER_STATE_OVERTIME.getCode()); + happyActivityOrderMapper.updateById(happyActivityOrder); + } + }); + return new FebsResponse().success(); + } + + @Override public FebsResponse createOrder(ApiCreateOrderDto dto) { Long memberId = LoginUserUtil.getLoginUser().getId(); if(CollUtil.isEmpty(dto.getConnectIds())){ @@ -484,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("活动不存在"); @@ -513,6 +552,7 @@ happyActivityOrder.setNumCnt(dto.getNumCnt()); happyActivityOrder.setAmount(amount); happyActivityOrder.setPayState(StateUpDownEnum.PAY_STATE_NOT_PAY.getCode()); + happyActivityOrder.setPayType(StateUpDownEnum.PAY_METHOD_WECHAT.getCode()); happyActivityOrder.setFailTime(failTime); log.info("创建订单,订单号="+JSONUtil.parse(happyActivityOrder)); happyActivityOrderMapper.insert(happyActivityOrder); @@ -691,7 +731,7 @@ LambdaQueryWrapper<HappyActivityOrder> happyActivityOrderLambdaQueryWrapper = new LambdaQueryWrapper<>(); happyActivityOrderLambdaQueryWrapper.eq(HappyActivityOrder::getMemberId, memberId); - if(ObjectUtil.isNotEmpty(dto.getState())){ + if(ObjectUtil.isNotEmpty(dto.getState()) && dto.getState() != 0){ happyActivityOrderLambdaQueryWrapper.eq(HappyActivityOrder::getState, dto.getState()); } happyActivityOrderLambdaQueryWrapper.eq(HappyActivityOrder::getDeleteFlag, StateUpDownEnum.DOWN.getCode()); @@ -705,6 +745,7 @@ List<HappyActivity> happyActivities = this.baseMapper.selectList( new LambdaQueryWrapper<HappyActivity>() .select( + HappyActivity::getId, HappyActivity::getCategoryId, HappyActivity::getName, HappyActivity::getStartTime, -- Gitblit v1.9.1