rentaiming
2024-05-30 9bcc40d213a44498c46dae5e678e592b918b40b0
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -2,11 +2,16 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.enums.OrderStatusEnum;
import com.ruoyi.order.domain.pojo.Order;
import com.ruoyi.order.domain.OrderMall;
import com.ruoyi.order.mapper.OrderMapper;
import com.ruoyi.order.service.IOrderMallService;
import com.ruoyi.order.service.IOrderService;
import com.ruoyi.order.util.OrderUtil;
import com.ruoyi.system.api.domain.Order;
import com.ruoyi.system.api.domain.dto.OrderDTO;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
@@ -24,6 +29,8 @@
    @Resource
    private  IOrderService orderService;
    @Resource
    private IOrderMallService orderMallService;
    @Override
    public void saveOrderOne(OrderDTO OrderDTO) {
        Order order=new Order();
@@ -43,9 +50,44 @@
        order.setBound(OrderDTO.getBound());
        orderService.save(order);
    }
    /**
     * 获取某个商品的已购会员数
     *
     * @param id 秒杀商品id
     * @return 已购会员数
     */
    @Override
    public Integer getSeckillMembers(Long id) {
        return baseMapper.getSeckillMembers(id);
    }
    /**
     * 获取团购商品已购数量
     *
     * @param id 团购商品id
     * @return 团购商品已购数量
     */
    @Override
    public Integer getGroupPurchasesGoodsNum(Long id) {
        Set<Long> orderIdSet = orderMallService.lambdaQuery().eq(OrderMall::getActivityId, id)
                .list()
                .stream().map(OrderMall::getOrderId).collect(
                        Collectors.toSet());
        List<Order> list = this.lambdaQuery().in(Order::getId, orderIdSet)
                .in(Order::getOrderStatus, OrderStatusEnum.TO_BE_SHIPPED,
                        OrderStatusEnum.GOODS_TO_BE_RECEIVED, OrderStatusEnum.FINISHED).list();
        return list.stream().map(Order::getGoodsQuantity).reduce(0, Integer::sum);
    }
    /**
     * 根据团购商品id获取团购商品订单
     *
     * @param id 团购商品id
     * @return 订单列表
     */
    @Override
    public List<Order> getOrderByGroupPurchaseId(Long id) {
        return baseMapper.getOrderByGroupPurchaseId(id);
    }
}