From 6e8a55edef22faa7f7d5bbbccd727119a6fd918f Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期一, 03 六月 2024 14:05:08 +0800
Subject: [PATCH] 用户端商品

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java   |   36 ++++++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java              |   11 -
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java    |    4 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java              |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java                 |  134 +++++++++++++++++++++-
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java               |   46 +++++++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberTiOrderVO.java               |   75 ++++++++++++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java |   14 +
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java            |    3 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java               |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java                         |    4 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java               |    2 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java                           |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java                 |   12 +-
 14 files changed, 316 insertions(+), 31 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/GoodsGroupPurchase.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java
similarity index 98%
rename from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/GoodsGroupPurchase.java
rename to ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java
index eb0e2c2..077d104 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/GoodsGroupPurchase.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java
@@ -1,4 +1,4 @@
-package com.ruoyi.goods.domain;
+package com.ruoyi.system.api.domain;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.IdType;
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java
new file mode 100644
index 0000000..48fa0d7
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java
@@ -0,0 +1,46 @@
+package com.ruoyi.system.api.domain.dto;
+
+import com.ruoyi.common.core.enums.OrderFromEnum;
+import com.ruoyi.common.core.enums.OrderStatusEnum;
+import com.ruoyi.common.core.enums.PaymentMethodEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class MemberOrderDTO {
+    @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=拍卖订单")
+    private Integer orderFrom;
+
+    @ApiModelProperty(value = "会员id")
+    private Long memberId;
+
+    @ApiModelProperty(value = "商品数量")
+    private Integer goodsQuantity;
+
+    @ApiModelProperty(value = "优惠券id")
+    private Long couponId;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "收货人姓名")
+    private String receiverName;
+
+    @ApiModelProperty(value = "收货人电话")
+    private String receiverphone;
+
+    @ApiModelProperty(value = "城市")
+    private String receiverCity;
+
+
+    @ApiModelProperty(value = "详细地址")
+    private String receiverDetailAddress;
+
+
+    @ApiModelProperty(value = "支付方式 1=微信 2=支付宝")
+    private Integer paymentMethod;
+
+
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberTiOrderVO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberTiOrderVO.java
new file mode 100644
index 0000000..19fbdec
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberTiOrderVO.java
@@ -0,0 +1,75 @@
+package com.ruoyi.system.api.domain.vo;
+
+import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
+import com.ruoyi.common.core.enums.OrderFromEnum;
+import com.ruoyi.common.core.enums.OrderStatusEnum;
+import com.ruoyi.common.core.enums.PaymentMethodEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+@Data
+public class MemberTiOrderVO {
+    @ApiModelProperty(value = "订单id")
+    private Long id;
+
+    @ApiModelProperty(value = "订单编号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "下单时间")
+    private LocalDateTime orderTime;
+
+    @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=拍卖订单")
+    private OrderFromEnum orderFrom;
+
+    @ApiModelProperty(value = "拍卖订单类型 1=普通拍品 2=拍卖会拍品")
+    private AuctionOrderTypeEnum auctionType;
+
+    @ApiModelProperty(value = "会员id")
+    private Long memberId;
+
+    @ApiModelProperty(value = "支付方式 1=微信 2=支付宝")
+    private PaymentMethodEnum paymentMethod;
+
+    @ApiModelProperty(value = "支付合计")
+    private BigDecimal totalAmount;
+
+    @ApiModelProperty(value = "订单状态 1=待支付 2=待发货 3=待收货 4=已完成 5=已取消")
+    private OrderStatusEnum orderStatus;
+
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal discountMoney;
+
+    @ApiModelProperty(value = "商品数量")
+    private Integer goodsQuantity;
+
+    @ApiModelProperty(value = "收货人姓名")
+    private String receiverName;
+
+    @ApiModelProperty(value = "收货人电话")
+    private String receiverphone;
+
+    @ApiModelProperty(value = "城市")
+    private String receiverCity;
+
+
+    @ApiModelProperty(value = "详细地址")
+    private String receiverDetailAddress;
+
+    @ApiModelProperty(value = "商品价格")
+    private BigDecimal price;
+
+
+    @ApiModelProperty(value = "优惠的价格")
+    private BigDecimal youhiPrice;
+
+    @ApiModelProperty(value = "商品名称")
+    private String skuName;
+
+    @ApiModelProperty(value = "封面图")
+    private String coverPic;
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java
index f0133b2..3b74556 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java
@@ -1,12 +1,7 @@
 package com.ruoyi.system.api.factory;
 
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.system.api.domain.GoodsBrand;
-import com.ruoyi.system.api.domain.GoodsCategory;
-import com.ruoyi.system.api.domain.GoodsFlavorType;
-import com.ruoyi.system.api.domain.GoodsSeckill;
-import com.ruoyi.system.api.domain.GoodsSeries;
-import com.ruoyi.system.api.domain.GoodsSku;
+import com.ruoyi.system.api.domain.*;
 import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
 import com.ruoyi.system.api.feignClient.GoodsSkuClient;
 import java.util.Collection;
@@ -51,6 +46,11 @@
             }
 
             @Override
+            public R<GoodsGroupPurchase> getGoodsSeckiGoodsGroupPurchaseOne(Long goodsSkuId, String source) {
+                return R.fail("通过id团购商品失败:" + cause.getMessage());
+            }
+
+            @Override
             public R<GoodsSeckill> getGoodsSeckillOne(Long goodsSkuId, String source) {
                 return R.fail("通过id查询秒杀商品失败:" + cause.getMessage());
             }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
index 85a46a9..ab0129d 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
@@ -3,12 +3,7 @@
 import com.ruoyi.common.core.constant.SecurityConstants;
 import com.ruoyi.common.core.constant.ServiceNameConstants;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.system.api.domain.GoodsBrand;
-import com.ruoyi.system.api.domain.GoodsCategory;
-import com.ruoyi.system.api.domain.GoodsFlavorType;
-import com.ruoyi.system.api.domain.GoodsSeckill;
-import com.ruoyi.system.api.domain.GoodsSeries;
-import com.ruoyi.system.api.domain.GoodsSku;
+import com.ruoyi.system.api.domain.*;
 import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
 import com.ruoyi.system.api.factory.GoodsSkuFactory;
 import java.util.Collection;
@@ -44,6 +39,10 @@
     R<GoodsFlavorType> getFlavorTypeOne(@RequestBody Long flavorTypeId,
                                         @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
+    @PostMapping("/goods-group-purchase/getGoodsSeckiGoodsGroupPurchaseOne")
+    R<GoodsGroupPurchase> getGoodsSeckiGoodsGroupPurchaseOne(@RequestBody Long goodsSkuId,
+                                             @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
     @PostMapping("/goods-seckill/getGoodsSeckillOne")
     R<GoodsSeckill> getGoodsSeckillOne(@RequestBody Long goodsSkuId,
                                        @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java
index 373ceb6..08c79fa 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java
@@ -4,13 +4,11 @@
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.security.annotation.InnerAuth;
+import com.ruoyi.system.api.domain.GoodsGroupPurchase;
 import com.ruoyi.goods.service.IGoodsGroupPurchaseService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -28,6 +26,14 @@
 
     private final IGoodsGroupPurchaseService goodsGroupPurchaseService;
 
+    @InnerAuth
+    @PostMapping("/getGoodsSeckiGoodsGroupPurchaseOne")
+    @ResponseBody
+    public R<GoodsGroupPurchase> getGoodsSeckiGoodsGroupPurchaseOne(@RequestBody Integer goodsSkuId) {
+        GoodsGroupPurchase GoodsSeckillOne = goodsGroupPurchaseService.getById(goodsSkuId);
+        return R.ok(GoodsSeckillOne);
+    }
+
     /**
      * 团购商品开始团购
      *
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java
index 6f164ee..4da224a 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java
@@ -3,7 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO;
-import com.ruoyi.goods.domain.GoodsGroupPurchase;
+import com.ruoyi.system.api.domain.GoodsGroupPurchase;
 import org.apache.ibatis.annotations.Param;
 
 /**
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java
index 77d6403..814df1e 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java
@@ -6,12 +6,11 @@
 import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseDTO;
 import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseQuery;
 import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO;
-import com.ruoyi.goods.domain.GoodsGroupPurchase;
+import com.ruoyi.system.api.domain.GoodsGroupPurchase;
 import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
 import com.ruoyi.system.api.domain.dto.ListStatusDTO;
 import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO;
 import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO;
-import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * <p>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
index 13afb40..3ef1023 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -8,7 +8,6 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.Lists;
 import com.ruoyi.common.core.constant.SecurityConstants;
-import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.enums.GroupStatusEnum;
 import com.ruoyi.common.core.enums.ListingStatusEnum;
 import com.ruoyi.common.core.enums.OrderStatusEnum;
@@ -18,13 +17,12 @@
 import com.ruoyi.common.core.utils.page.BeanUtils;
 import com.ruoyi.common.core.utils.page.PageDTO;
 import com.ruoyi.common.redis.service.RedisService;
-import com.ruoyi.system.api.domain.Member;
 import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO;
 import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseDTO;
 import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseQuery;
 import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO;
-import com.ruoyi.goods.domain.GoodsGroupPurchase;
+import com.ruoyi.system.api.domain.GoodsGroupPurchase;
 import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper;
 import com.ruoyi.goods.service.IGoodsGroupPurchaseService;
 import com.ruoyi.goods.service.IGoodsSkuService;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
index c04b4bb..8d0d431 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
@@ -17,7 +17,7 @@
 import com.ruoyi.goods.controller.management.dto.GoodsSkuDTO;
 import com.ruoyi.goods.controller.management.dto.GoodsSkuQuery;
 import com.ruoyi.goods.controller.management.vo.GoodsSkuVO;
-import com.ruoyi.goods.domain.GoodsGroupPurchase;
+import com.ruoyi.system.api.domain.GoodsGroupPurchase;
 import com.ruoyi.goods.domain.GoodsInfoTitleValue;
 import com.ruoyi.goods.domain.MemberGoodsCollection;
 import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java
index eade347..375563a 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java
@@ -3,7 +3,7 @@
 import com.ruoyi.common.core.enums.ListingStatusEnum;
 import com.ruoyi.common.core.enums.StartStatusEnum;
 import com.ruoyi.common.core.utils.StringUtils;
-import com.ruoyi.goods.domain.GoodsGroupPurchase;
+import com.ruoyi.system.api.domain.GoodsGroupPurchase;
 import com.ruoyi.goods.service.IGoodsGroupPurchaseService;
 import com.ruoyi.goods.service.IGoodsSeckillService;
 import com.ruoyi.goods.service.async.AsyncMethodService;
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java
new file mode 100644
index 0000000..e122425
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java
@@ -0,0 +1,36 @@
+package com.ruoyi.order.controller.forepart;
+
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.order.service.IOrderService;
+import com.ruoyi.system.api.domain.dto.MemberOrderDTO;
+import com.ruoyi.system.api.domain.vo.MemberTiOrderVO;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * <p>
+ * 订单表 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-05-16
+ */
+@Slf4j
+@RestController
+@RequestMapping("/forepart/order")
+@RequiredArgsConstructor
+public class ForepartOrderController {
+
+    private final IOrderService orderService;
+
+    @PostMapping("/saveMemberOrder")
+    @ApiOperation(value = "用户端-立即下单")
+    public R<MemberTiOrderVO> saveMemberOrder(@RequestBody MemberOrderDTO memberOrderDTO) {
+        return R.ok(orderService.saveMemberOrder(memberOrderDTO));
+    }
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java
index 32719aa..e3a3d88 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java
@@ -3,7 +3,9 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.system.api.domain.Order;
 import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
+import com.ruoyi.system.api.domain.dto.MemberOrderDTO;
 import com.ruoyi.system.api.domain.dto.OrderDTO;
+import com.ruoyi.system.api.domain.vo.MemberTiOrderVO;
 import com.ruoyi.system.api.domain.vo.OrderVO;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -48,5 +50,7 @@
     Order getOrderByGroupPurchaseMemberId(HomeGoodsSkuDTO homeGoodsSkuDTO);
     List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO);
 
+    MemberTiOrderVO saveMemberOrder(@RequestBody MemberOrderDTO memberOrderDTO);
+
 
 }
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 334950d..5160306 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,24 +1,32 @@
 package com.ruoyi.order.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.constant.SecurityConstants;
+import com.ruoyi.common.core.enums.OrderFromEnum;
 import com.ruoyi.common.core.enums.OrderStatusEnum;
+import com.ruoyi.common.core.enums.PaymentMethodEnum;
+import com.ruoyi.common.core.utils.StringUtils;
 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.OrderAuctionBond;
+import com.ruoyi.system.api.domain.*;
 import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
+import com.ruoyi.system.api.domain.dto.MemberOrderDTO;
 import com.ruoyi.system.api.domain.dto.OrderDTO;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
 
+import com.ruoyi.system.api.domain.vo.MemberTiOrderVO;
 import com.ruoyi.system.api.domain.vo.OrderVO;
+import com.ruoyi.system.api.feignClient.GoodsSkuClient;
+import com.ruoyi.system.api.feignClient.MemberClient;
 import org.springframework.stereotype.Service;
 
 /**
@@ -36,11 +44,32 @@
 
     @Resource
     private IOrderMallService orderMallService;
+
+    @Resource
+    private GoodsSkuClient goodsSkuClient;
+
+    @Resource
+    private MemberClient memberClient;
+
+
     @Override
     public void saveOrderOne(OrderDTO OrderDTO) {
         Order order=new Order();
-        String prefix = OrderUtil.getOrderNoForPrefix("XM");
-        order.setOrderNo(prefix);
+        if (OrderDTO.getOrderFrom().getCode()==1){
+            order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER);
+            order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP"));
+        }
+        if (OrderDTO.getOrderFrom().getCode()==2){
+            order.setOrderFrom(OrderFromEnum.SNAP_ORDERS);
+            order.setOrderNo(OrderUtil.getOrderNoForPrefix("MS"));
+        }
+        if (OrderDTO.getOrderFrom().getCode()==3){
+            order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
+            order.setOrderNo(OrderUtil.getOrderNoForPrefix("TG"));
+        }if (OrderDTO.getOrderFrom().getCode()==4){
+            order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
+            order.setOrderNo(OrderUtil.getOrderNoForPrefix("PM"));
+        }
         order.setOrderTime(OrderDTO.getOrderTime());
         order.setOrderFrom(OrderDTO.getOrderFrom());
         order.setAuctionType(OrderDTO.getAuctionType());
@@ -105,4 +134,97 @@
     public List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO) {
         return baseMapper.getOrderByGroupPurchaseMemberList(homeGoodsSkuDTO);
     }
+
+    @Override
+    public MemberTiOrderVO saveMemberOrder(MemberOrderDTO memberOrderDTO) {
+
+        MemberTiOrderVO memberOrderVO=new MemberTiOrderVO();
+        BigDecimal pice=new BigDecimal(0);
+
+        Order order=new Order();
+        if (memberOrderDTO.getOrderFrom()==1){
+            order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER);
+            order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP"));
+        }
+        if (memberOrderDTO.getOrderFrom()==2){
+            order.setOrderFrom(OrderFromEnum.SNAP_ORDERS);
+            order.setOrderNo(OrderUtil.getOrderNoForPrefix("MS"));
+        }
+        if (memberOrderDTO.getOrderFrom()==3){
+            order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
+            order.setOrderNo(OrderUtil.getOrderNoForPrefix("TG"));
+        }
+        if (memberOrderDTO.getPaymentMethod()==1){
+            order.setPaymentMethod(PaymentMethodEnum.WECHAT);
+        }if (memberOrderDTO.getPaymentMethod()==2){
+            order.setPaymentMethod(PaymentMethodEnum.ALIPAY);
+        }
+
+        if (memberOrderDTO.getOrderFrom()==1){
+            GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
+            memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
+            memberOrderVO.setPrice(goodsSku.getPrice());
+            memberOrderVO.setCoverPic(goodsSku.getCoverPic());
+            memberOrderVO.setSkuName(goodsSku.getSkuName());
+            pice=goodsSku.getPrice();
+        }
+        if (memberOrderDTO.getOrderFrom()==2){
+            order.setOrderFrom(OrderFromEnum.SNAP_ORDERS);
+            GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
+            GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
+            memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
+            memberOrderVO.setPrice(goodsSku.getPrice());
+            memberOrderVO.setCoverPic(goodsSku.getCoverPic());
+            memberOrderVO.setSkuName(goodsSku.getSkuName());
+            memberOrderVO.setYouhiPrice(data.getSeckillPrice());
+            pice=data.getSeckillPrice();
+        }
+        if (memberOrderDTO.getOrderFrom()==3){
+            order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
+            GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
+            GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
+            memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
+            memberOrderVO.setPrice(goodsSku.getPrice());
+            memberOrderVO.setCoverPic(goodsSku.getCoverPic());
+            memberOrderVO.setSkuName(goodsSku.getSkuName());
+            memberOrderVO.setYouhiPrice(data.getGroupPurchasePrice());
+            pice=data.getGroupPurchasePrice();
+        }
+        order.setMemberId(memberOrderDTO.getMemberId());
+        order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
+        order.setOrderTime(LocalDateTime.now());
+        order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
+        order.setTotalAmount(pice.multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())));
+        order.setOrderStatus(OrderStatusEnum.TO_PLAY);
+
+        MemberAddress data = memberClient.getMemberAddressOne(
+                memberOrderDTO.getMemberId(), SecurityConstants.INNER).getData();
+        if (StringUtils.isNotNull(data)) {
+            order.setReceiverName(data.getRecipientName());
+            order.setReceiverCity(data.getReceiverCity());
+            order.setReceiverDetailAddress(data.getDetailedAddress());
+            order.setReceiverphone(data.getRecipientPhone());
+        }
+
+        baseMapper.insert(order);
+        OrderMall orderMall=new OrderMall();
+        orderMall.setOrderId(order.getId());
+        if (memberOrderDTO.getOrderFrom()==1){
+            orderMall.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
+        }
+        if (memberOrderDTO.getOrderFrom()==2){
+            orderMall.setActivityId(memberOrderDTO.getGoodsSkuId());
+        }
+        if (memberOrderDTO.getOrderFrom()==3){
+            orderMall.setActivityId(memberOrderDTO.getGoodsSkuId());
+        }
+        orderMallService.save(orderMall);
+
+        memberOrderVO.setOrderStatus(OrderStatusEnum.TO_PLAY);
+        memberOrderVO.setOrderNo(order.getOrderNo());
+        memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
+        memberOrderVO.setOrderTime(order.getOrderTime());
+        memberOrderVO.setOrderFrom(order.getOrderFrom());
+        return null;
+    }
 }

--
Gitblit v1.7.1