From 795ce45b126ff828852cb4d728d1d8d222d3ea75 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 24 Apr 2025 17:35:27 +0800 Subject: [PATCH] feat(mall): 添加门票核销功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 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 5188d8b..e244e5d 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 @@ -8,6 +8,7 @@ import cc.mrbird.febs.common.utils.ShareCodeUtil; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.dto.activity.ApiActivityOrderListDto; +import cc.mrbird.febs.mall.dto.activity.ApiCheckOrderDto; import cc.mrbird.febs.mall.dto.activity.ApiVoteOptionInPageDto; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; @@ -17,6 +18,7 @@ import cc.mrbird.febs.mall.dto.ApiOperateDoDto; import cc.mrbird.febs.mall.vo.activity.ApiActivityOrderInfoVo; import cc.mrbird.febs.mall.vo.activity.ApiActivityOrderListVo; +import cc.mrbird.febs.mall.vo.activity.ApiCheckOrderVo; import cc.mrbird.febs.mall.vo.activity.ApiVoteActivityHotVo; import cc.mrbird.febs.pay.model.BrandWCPayRequestData; import cc.mrbird.febs.pay.service.IXcxPayService; @@ -770,6 +772,48 @@ } @Override + public FebsResponse checkOrder(ApiCheckOrderDto dto) { + // 获取当前登录用户的ID + Long memberId = LoginUserUtil.getLoginUser().getId(); + + MallMember mallMember = mallMemberMapper.selectById(memberId); + + if(StateUpDownEnum.UP.getCode() != mallMember.getCheckOrder()){ + throw new FebsException("您不是核销员!"); + } + + String orderItemCode = dto.getOrderItemCode(); + + HappyActivityOrderItem happyActivityOrderItem = happyActivityOrderItemMapper.selectOne( + new LambdaQueryWrapper<HappyActivityOrderItem>() + .eq(HappyActivityOrderItem::getCode, orderItemCode) + .eq(HappyActivityOrderItem::getState, StateUpDownEnum.DOWN.getCode()) + .last("limit 1") + ); + if(happyActivityOrderItem != null){ + happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); + happyActivityOrderItem.setTransferItemId(memberId); + happyActivityOrderItemMapper.updateById(happyActivityOrderItem); + + HappyActivity happyActivity = this.baseMapper.selectById(happyActivityOrderItem.getActivityId()); + + ApiCheckOrderVo apiCheckOrderVo = new ApiCheckOrderVo(); + apiCheckOrderVo.setActivityName(happyActivity.getName()); + apiCheckOrderVo.setActivityStartTime(happyActivity.getStartTime()); + apiCheckOrderVo.setActivityEndTime(happyActivity.getEndTime()); + apiCheckOrderVo.setActivityAddress(happyActivity.getAddress()); + apiCheckOrderVo.setCode(happyActivityOrderItem.getCode()); + apiCheckOrderVo.setName(happyActivityOrderItem.getName()); + apiCheckOrderVo.setPhone(happyActivityOrderItem.getPhone()); + apiCheckOrderVo.setPrice(happyActivityOrderItem.getPrice()); + + return new FebsResponse().success().data(apiCheckOrderVo); + } + + return new FebsResponse().fail().message("核销失败!"); + } + + @Override public FebsResponse voteActivityHot(Long id) { ApiVoteActivityHotVo apiVoteActivityHotVo = new ApiVoteActivityHotVo(); -- Gitblit v1.9.1