From 9265a439968f7df5b93a9435f2dc958d8a9c45a3 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Fri, 16 May 2025 16:20:38 +0800 Subject: [PATCH] refactor(mall): 重构充值相关代码 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 78 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java index 7fc6010..e0c5235 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java @@ -3,6 +3,7 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.enumerates.StateUpDownEnum; +import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.MallUtils; import cc.mrbird.febs.mall.dto.AdminHappyActivityCategoryDto; import cc.mrbird.febs.mall.dto.activity.*; @@ -11,8 +12,10 @@ import cc.mrbird.febs.mall.service.IAdminHappyActivityService; import cc.mrbird.febs.mall.vo.AdminMallGoodsCommentVo; import cc.mrbird.febs.mall.vo.activity.AdminActivityCommentVo; +import cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -24,10 +27,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @Slf4j @@ -370,9 +370,8 @@ } @Override - public FebsResponse checkOrder(AdminHappyActivityCheckOrderDto dto) { + public FebsResponse checkOrder(List<Long> ids) { - List<Long> ids = dto.getIds(); if (CollUtil.isEmpty(ids)){ return new FebsResponse().fail().message("请选择需要核销的订单"); } @@ -389,6 +388,7 @@ if(CollUtil.isNotEmpty(happyActivityOrderItems)){ happyActivityOrderItems.forEach(happyActivityOrderItem -> { happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); + happyActivityOrderItem.setUpdatedTime(DateUtil.date()); happyActivityOrderItemMapper.updateById(happyActivityOrderItem); }); } @@ -402,6 +402,10 @@ public FebsResponse activityOrderDel(Long id) { HappyActivityOrder happyActivityOrder = happyActivityOrderMapper.selectById(id); + + if(StateUpDownEnum.ORDER_STATE_OVERTIME.getCode() != happyActivityOrder.getState()){ + throw new FebsException("该订单状态不是已失效状态!"); + } if(ObjectUtil.isNotEmpty(happyActivityOrder)){ happyActivityOrder.setDeleteFlag(StateUpDownEnum.UP.getCode()); happyActivityOrderMapper.updateById(happyActivityOrder); @@ -441,4 +445,72 @@ happyActivityCommentMapper.updateById(happyActivityComment); return new FebsResponse().success().message("操作成功"); } + + @Override + public List<HappyActivityOrder> getOrderListForExport(Map<String, String> params) { + LambdaQueryWrapper<HappyActivityOrder> queryWrapper = new LambdaQueryWrapper<>(); + if(ObjectUtil.isNotEmpty(params.get("activityId"))){ + queryWrapper.eq(HappyActivityOrder::getActivityId, Long.valueOf(params.get("activityId"))); + } + List<Integer> stateList = Arrays.asList(StateUpDownEnum.ORDER_STATE_WAIT_USE.getCode(), StateUpDownEnum.ORDER_STATE_USED.getCode()); + queryWrapper.in(HappyActivityOrder::getState, stateList); + queryWrapper.eq(HappyActivityOrder::getDeleteFlag, StateUpDownEnum.DOWN.getCode()); + queryWrapper.orderByDesc(HappyActivityOrder::getState); + queryWrapper.orderByDesc(HappyActivityOrder::getId); + List<HappyActivityOrder> happyActivityOrders = happyActivityOrderMapper.selectList(queryWrapper); + + if(CollUtil.isNotEmpty(happyActivityOrders)){ + Set<Long> collect = happyActivityOrders.stream().map(HappyActivityOrder::getMemberId).collect(Collectors.toSet()); + List<MallMember> mallMembers = mallMemberMapper.selectList( + new LambdaQueryWrapper<MallMember>() + .select(MallMember::getId,MallMember::getName) + .in(MallMember::getId, collect) + ); + Map<Long, MallMember> mallMemberMap = mallMembers.stream().collect(Collectors.toMap(MallMember::getId, mallMember -> mallMember)); + + happyActivityOrders.forEach(happyActivityOrder -> { + MallMember mallMember = mallMemberMap.get(happyActivityOrder.getMemberId()); + if (ObjectUtil.isNotEmpty(mallMember)){ + happyActivityOrder.setName(mallMember.getName()); + }else{ + happyActivityOrder.setName(""); + } + }); + } + return happyActivityOrders; + } + + @Override + public IPage<AdminHappyActivityOrderCheckVo> activityOrderCheckList(AdminHappyActivityOrderCheckDto dto, QueryRequest request) { + + Page<AdminHappyActivityOrderCheckVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminHappyActivityOrderCheckVo> adminHappyActivityOrderCheckVoIPage = this.baseMapper.activityOrderCheckList(page, dto); + return adminHappyActivityOrderCheckVoIPage; + } + + @Override + public FebsResponse checkOrderItem(List<Long> ids) { + if (CollUtil.isEmpty(ids)){ + return new FebsResponse().fail().message("请选择需要核销的订单"); + } + + List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList( + new LambdaQueryWrapper<HappyActivityOrderItem>() + .in(HappyActivityOrderItem::getId, ids) + .eq(HappyActivityOrderItem::getState, StateUpDownEnum.DOWN.getCode()) + ); + if(CollUtil.isNotEmpty(happyActivityOrderItems)){ + happyActivityOrderItems.forEach(happyActivityOrderItem -> { + happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); + happyActivityOrderItem.setUpdatedTime(DateUtil.date()); + happyActivityOrderItemMapper.updateById(happyActivityOrderItem); + }); + } + return new FebsResponse().success().message("操作成功"); + } + + @Override + public List<AdminHappyActivityOrderCheckVo> getOrderCheckListForExport(Map<String, String> params) { + return this.baseMapper.getOrderCheckListForExport(Long.valueOf(params.get("activityId"))); + } } -- Gitblit v1.9.1