From 3af957a67cf00b8d64eb61406df1f8b8072cb08c Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 27 五月 2024 11:19:53 +0800
Subject: [PATCH] 修改秒杀/团购 websocket消息推送
---
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 79 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 76 insertions(+), 3 deletions(-)
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index e425d49..55b91da 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -1,9 +1,18 @@
package com.ruoyi.order.service.impl;
-import com.ruoyi.order.domain.pojo.Order;
-import com.ruoyi.order.mapper.OrderMapper;
-import com.ruoyi.order.service.IOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.enums.OrderStatusEnum;
+import com.ruoyi.order.domain.pojo.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;
/**
@@ -17,4 +26,68 @@
@Service
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService {
+
+ @Resource
+ private IOrderService orderService;
+ @Resource
+ private IOrderMallService orderMallService;
+ @Override
+ public void saveOrderOne(OrderDTO OrderDTO) {
+ Order order=new Order();
+ String prefix = OrderUtil.getOrderNoForPrefix("XM");
+ order.setOrderNo(prefix);
+ order.setOrderTime(OrderDTO.getOrderTime());
+ order.setOrderFrom(OrderDTO.getOrderFrom());
+ order.setAuctionType(OrderDTO.getAuctionType());
+ order.setMemberId(OrderDTO.getMemberId());
+ order.setTotalAmount(OrderDTO.getTotalAmount());
+ order.setOrderStatus(OrderStatusEnum.TO_PLAY);
+ order.setGoodsQuantity(OrderDTO.getGoodsQuantity());
+ order.setReceiverName(OrderDTO.getReceiverName());
+ order.setReceiverphone(OrderDTO.getReceiverphone());
+ order.setReceiverCity(OrderDTO.getReceiverCity());
+ order.setReceiverDetailAddress(OrderDTO.getReceiverDetailAddress());
+ 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);
+ }
}
--
Gitblit v1.7.1