| | |
| | | import cc.mrbird.febs.common.utils.MallUtils; |
| | | 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.ApiVoteOptionInPageDto; |
| | | import cc.mrbird.febs.mall.entity.*; |
| | | import cc.mrbird.febs.mall.mapper.*; |
| | |
| | | import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; |
| | | import cc.mrbird.febs.mall.vo.*; |
| | | 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.pay.model.BrandWCPayRequestData; |
| | | import cc.mrbird.febs.pay.service.IXcxPayService; |
| | | import cn.hutool.core.bean.BeanUtil; |
| | |
| | | import cn.hutool.crypto.SecureUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import lombok.RequiredArgsConstructor; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | |
| | | private final HappyActivityOrderItemMapper happyActivityOrderItemMapper; |
| | | private final IXcxPayService iXcxPayService; |
| | | private final IApiMallMemberWalletService iApiMallMemberWalletService; |
| | | private final HappyActivityCategoryMapper happyActivityCategoryMapper; |
| | | |
| | | @Override |
| | | public FebsResponse activityList(ApiActivityInfoDto dto) { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | // 处理无需支付订单 |
| | | private void processNoPayOrder(HappyActivityOrder order, Long orderId) { |
| | | updateOrderState(order, StateUpDownEnum.PAY_METHOD_NO_PAY.getCode(), StateUpDownEnum.PAY_STATE_PAY_SUCCESS.getCode(),StateUpDownEnum.ORDER_STATE_WAIT_USE.getCode()); |
| | |
| | | return happyActivityOrder.getOrderNo(); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse orderList(ApiActivityOrderListDto dto) { |
| | | |
| | | // 获取当前登录用户的ID |
| | | Long memberId = LoginUserUtil.getLoginUser().getId(); |
| | | |
| | | ArrayList<ApiActivityOrderListVo> apiActivityOrderListVos = new ArrayList<>(); |
| | | |
| | | LambdaQueryWrapper<HappyActivityOrder> happyActivityOrderLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | happyActivityOrderLambdaQueryWrapper.eq(HappyActivityOrder::getMemberId, memberId); |
| | | if(ObjectUtil.isNotEmpty(dto.getState())){ |
| | | happyActivityOrderLambdaQueryWrapper.eq(HappyActivityOrder::getState, dto.getState()); |
| | | } |
| | | happyActivityOrderLambdaQueryWrapper.orderByDesc(HappyActivityOrder::getCreatedTime); |
| | | Page<HappyActivityOrder> page = new Page<>(dto.getPageNum(), dto.getPageSize()); |
| | | Page<HappyActivityOrder> voteActivityPage = happyActivityOrderMapper.selectPage(page, happyActivityOrderLambdaQueryWrapper); |
| | | |
| | | List<HappyActivityOrder> records = voteActivityPage.getRecords(); |
| | | if(CollUtil.isNotEmpty(records)){ |
| | | Set<Long> activityIds = records.stream().map(HappyActivityOrder::getActivityId).collect(Collectors.toSet()); |
| | | List<HappyActivity> happyActivities = this.baseMapper.selectList( |
| | | new LambdaQueryWrapper<HappyActivity>() |
| | | .select( |
| | | HappyActivity::getCategoryId, |
| | | HappyActivity::getName, |
| | | HappyActivity::getStartTime, |
| | | HappyActivity::getEndTime, |
| | | HappyActivity::getAddress) |
| | | .in(HappyActivity::getId, activityIds) |
| | | ); |
| | | Map<Long, HappyActivity> activityMap = happyActivities.stream().collect(Collectors.toMap(HappyActivity::getId, Function.identity())); |
| | | |
| | | Set<Long> categoryIds = happyActivities.stream().map(HappyActivity::getCategoryId).collect(Collectors.toSet()); |
| | | //stream流操作categoryIds得到一个Map<categoryId,HappyActivityCategory>的map对象 |
| | | List<HappyActivityCategory> happyActivityCategories = happyActivityCategoryMapper.selectList( |
| | | new LambdaQueryWrapper<HappyActivityCategory>() |
| | | .select( |
| | | HappyActivityCategory::getId, |
| | | HappyActivityCategory::getName) |
| | | .in(HappyActivityCategory::getId,categoryIds) |
| | | ); |
| | | Map<Long, HappyActivityCategory> categoryMap = happyActivityCategories.stream().collect(Collectors.toMap(HappyActivityCategory::getId, Function.identity())); |
| | | |
| | | for(HappyActivityOrder happyActivityOrder : records){ |
| | | ApiActivityOrderListVo apiActivityOrderListVo = new ApiActivityOrderListVo(); |
| | | BeanUtil.copyProperties(happyActivityOrder, apiActivityOrderListVo); |
| | | |
| | | apiActivityOrderListVo.setActivityName(activityMap.get(happyActivityOrder.getActivityId()).getName()); |
| | | apiActivityOrderListVo.setStartTime(activityMap.get(happyActivityOrder.getActivityId()).getStartTime()); |
| | | apiActivityOrderListVo.setEndTime(activityMap.get(happyActivityOrder.getActivityId()).getEndTime()); |
| | | apiActivityOrderListVo.setAddress(activityMap.get(happyActivityOrder.getActivityId()).getAddress()); |
| | | apiActivityOrderListVo.setCategoryName(categoryMap.get(activityMap.get(happyActivityOrder.getActivityId()).getCategoryId()).getName()); |
| | | |
| | | apiActivityOrderListVos.add(apiActivityOrderListVo); |
| | | } |
| | | } |
| | | |
| | | return new FebsResponse().success().data(apiActivityOrderListVos); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse orderInfo(Long id) { |
| | | // 获取当前登录用户的ID |
| | | Long memberId = LoginUserUtil.getLoginUser().getId(); |
| | | ArrayList<ApiActivityOrderInfoVo> apiActivityOrderInfoVos = new ArrayList<>(); |
| | | |
| | | HappyActivityOrder happyActivityOrder = happyActivityOrderMapper.selectById(id); |
| | | |
| | | HappyActivity happyActivity = this.baseMapper.selectById(happyActivityOrder.getActivityId()); |
| | | |
| | | List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList( |
| | | new LambdaQueryWrapper<HappyActivityOrderItem>() |
| | | .eq(HappyActivityOrderItem::getOrderId, happyActivityOrder.getActivityId()) |
| | | .eq(HappyActivityOrderItem::getMemberId, memberId) |
| | | ); |
| | | if(CollUtil.isNotEmpty(happyActivityOrderItems)){ |
| | | for(HappyActivityOrderItem happyActivityOrderItem : happyActivityOrderItems){ |
| | | ApiActivityOrderInfoVo apiActivityOrderInfoVo = new ApiActivityOrderInfoVo(); |
| | | BeanUtil.copyProperties(happyActivityOrderItem, apiActivityOrderInfoVo); |
| | | |
| | | apiActivityOrderInfoVo.setOrderState(happyActivityOrder.getState()); |
| | | |
| | | apiActivityOrderInfoVo.setActivityName(happyActivity.getName()); |
| | | apiActivityOrderInfoVo.setActivityStartTime(happyActivity.getStartTime()); |
| | | apiActivityOrderInfoVo.setActivityEndTime(happyActivity.getEndTime()); |
| | | apiActivityOrderInfoVo.setActivityAddress(happyActivity.getAddress()); |
| | | |
| | | apiActivityOrderInfoVos.add(apiActivityOrderInfoVo); |
| | | } |
| | | } |
| | | |
| | | |
| | | return new FebsResponse().success().data(apiActivityOrderInfoVos); |
| | | } |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | Date date = new Date(); |