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 | 132 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 115 insertions(+), 17 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 2d30850..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,14 +3,19 @@ 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.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; 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; @@ -22,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 @@ -37,6 +39,7 @@ private final HappyActivityCategoryMapper happyActivityCategoryMapper; private final HappyActivityOptionMapper happyActivityOptionMapper; private final HappyActivityOrderMapper happyActivityOrderMapper; + private final HappyActivityCommentMapper happyActivityCommentMapper; private final HappyActivityOrderItemMapper happyActivityOrderItemMapper; private final HappyFollowMapper happyFollowMapper; private final MallMemberMapper mallMemberMapper; @@ -169,6 +172,8 @@ HappyActivity happyActivity = new HappyActivity(); BeanUtil.copyProperties(dto, happyActivity); happyActivity.setCode(code); + happyActivity.setExpectCnt(dto.getJoinCnt()); + happyActivity.setSurplusCnt(dto.getJoinCnt()); this.baseMapper.insert(happyActivity); return new FebsResponse().success().message("操作成功"); @@ -202,6 +207,8 @@ happyActivity.setName(dto.getName()); happyActivity.setType(dto.getType()); happyActivity.setJoinCnt(dto.getJoinCnt()); + happyActivity.setExpectCnt(dto.getJoinCnt()); + happyActivity.setSurplusCnt(dto.getSurplusCnt()); happyActivity.setStartTime(dto.getStartTime()); happyActivity.setEndTime(dto.getEndTime()); happyActivity.setPhone(dto.getPhone()); @@ -363,26 +370,28 @@ } @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("请选择需要核销的订单"); } for(Long id : ids){ HappyActivityOrder happyActivityOrder = happyActivityOrderMapper.selectById(id); - happyActivityOrder.setState(StateUpDownEnum.ORDER_STATE_USED.getCode()); - happyActivityOrderMapper.updateById(happyActivityOrder); + if(StateUpDownEnum.ORDER_STATE_WAIT_USE.getCode() == happyActivityOrder.getState()){ + happyActivityOrder.setState(StateUpDownEnum.ORDER_STATE_USED.getCode()); + happyActivityOrderMapper.updateById(happyActivityOrder); - List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList( - new LambdaQueryWrapper<HappyActivityOrderItem>() - .eq(HappyActivityOrderItem::getOrderId, id) - ); - if(CollUtil.isNotEmpty(happyActivityOrderItems)){ - happyActivityOrderItems.forEach(happyActivityOrderItem -> { - happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); - happyActivityOrderItemMapper.updateById(happyActivityOrderItem); - }); + List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList( + new LambdaQueryWrapper<HappyActivityOrderItem>() + .eq(HappyActivityOrderItem::getOrderId, id) + ); + if(CollUtil.isNotEmpty(happyActivityOrderItems)){ + happyActivityOrderItems.forEach(happyActivityOrderItem -> { + happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); + happyActivityOrderItem.setUpdatedTime(DateUtil.date()); + happyActivityOrderItemMapper.updateById(happyActivityOrderItem); + }); + } } } @@ -393,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); @@ -415,4 +428,89 @@ } return happyActivityOptionMapper.selectList(queryWrapper); } + + @Override + public IPage<AdminActivityCommentVo> getCommentListInPage(AdminActivityCommentDto dto, QueryRequest request) { + Page<AdminActivityCommentVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminActivityCommentVo> adminActivityCommentVoIPage = this.baseMapper.getCommentListInPage(page, dto); + return adminActivityCommentVoIPage; + } + + @Override + public FebsResponse showStateSwitchOn(Long id) { + + HappyActivityComment happyActivityComment = happyActivityCommentMapper.selectById(id); + Integer showState = StateUpDownEnum.UP.getCode() == happyActivityComment.getShowState() ? StateUpDownEnum.DOWN.getCode() : StateUpDownEnum.UP.getCode(); + happyActivityComment.setShowState(showState); + 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