From d7ff3f15da7272ffa1bd84104b176969b0e1ac59 Mon Sep 17 00:00:00 2001
From: rentaiming <806181662@qq.com>
Date: 星期日, 02 六月 2024 20:51:06 +0800
Subject: [PATCH] 用户端 商品

---
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                                             |   35 +++++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/WdGoodsGroupPurchaseVO.java                   |   55 +++++++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/GoodsGroupPurchaseInfoVO.java                 |   17 -
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java |   22 ++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java                                  |   99 ++++++++++++++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsSeckillController.java       |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/OrderController.java                         |   29 +++-
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java               |   88 +++++++++++-
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java                       |   11 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java                            |   16 ++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java                            |   11 +
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java                       |    9 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java                                       |    7 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java                                    |    8 +
 14 files changed, 372 insertions(+), 37 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/vo/GoodsGroupPurchaseInfoVO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/GoodsGroupPurchaseInfoVO.java
similarity index 81%
rename from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/vo/GoodsGroupPurchaseInfoVO.java
rename to ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/GoodsGroupPurchaseInfoVO.java
index ecf1ca9..b269601 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/vo/GoodsGroupPurchaseInfoVO.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/GoodsGroupPurchaseInfoVO.java
@@ -1,4 +1,4 @@
-package com.ruoyi.goods.controller.forepart.vo;
+package com.ruoyi.system.api.domain.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.enums.GroupStatusEnum;
@@ -27,51 +27,42 @@
 
 
     @ApiModelProperty(value = "分享标题")
-    @TableField("share_title")
     private String shareTitle;
 
     @ApiModelProperty(value = "分享图片")
-    @TableField("share_pic")
     private String sharePic;
 
     @ApiModelProperty(value = "团购价格")
-    @TableField("group_purchase_price")
     private BigDecimal groupPurchasePrice;
 
     @ApiModelProperty(value = "成团人数")
-    @TableField("group_size")
     private Integer groupSize;
 
     @ApiModelProperty(value = "限购数量")
-    @TableField("limit_number")
     private Integer limitNumber;
 
     @ApiModelProperty(value = "当前人数")
-    @TableField("current_number")
     private Integer currentNumber;
 
     @ApiModelProperty(value = "团购开始时间")
-    @TableField("start_time")
     private LocalDateTime startTime;
 
     @ApiModelProperty(value = "团购结束时间")
-    @TableField("end_time")
     private LocalDateTime endTime;
 
     @ApiModelProperty(value = "参团说明")
-    @TableField("description")
     private String description;
 
     @ApiModelProperty(value = "开始状态 0=未开始 1=已开始 2=已结束 ")
-    @TableField("start_status")
     private StartStatusEnum startStatus;
 
     @ApiModelProperty(value = "上架状态 0=已上架 1=已下架")
-    @TableField("listing_status")
     private ListingStatusEnum listingStatus;
 
     @ApiModelProperty(value = "成团状态 0=待成团 1=已成团 2=成团失败")
-    @TableField("group_status")
     private GroupStatusEnum groupStatus;
 
+    @ApiModelProperty(value = "是团购 1没有团购,2有团购")
+    private Integer isGoodsGroupPurchase;
+
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java
new file mode 100644
index 0000000..ef9c13a
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java
@@ -0,0 +1,99 @@
+package com.ruoyi.system.api.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.*;
+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 org.springframework.core.annotation.Order;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+@Data
+public class OrderVO {
+    @ApiModelProperty(value = "订单id")
+    private Long id;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "订单编号")
+    private String orderNo;
+
+    @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 LocalDateTime payTime;
+
+    @ApiModelProperty(value = "取消时间")
+    private LocalDateTime cancelTime;
+
+    @ApiModelProperty(value = "订单备注")
+    private String orderRemark;
+
+    @ApiModelProperty(value = "发货时间")
+    private LocalDateTime deliveryTime;
+
+    @ApiModelProperty(value = "确认收货时间")
+    private LocalDateTime receiveTime;
+
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal discountMoney;
+
+    @ApiModelProperty(value = "商品数量")
+    private Integer goodsQuantity;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+
+
+    @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)")
+    @TableLogic
+    private Integer delFlag;
+
+
+    @ApiModelProperty(value = "快递单号")
+    private String courierNumber;
+
+    @ApiModelProperty(value = "收货人姓名")
+    private String receiverName;
+
+    @ApiModelProperty(value = "收货人电话")
+    private String receiverphone;
+
+    @ApiModelProperty(value = "城市")
+    private String receiverCity;
+
+
+    @ApiModelProperty(value = "详细地址")
+    private String receiverDetailAddress;
+
+
+    @ApiModelProperty(value = "保证金")
+    private BigDecimal bound;
+
+    @ApiModelProperty(value = "开票状态 开票状态 1 待开票,2待审核,3 已开票,4 拒绝")
+    private Integer invoiceStatus;
+
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/WdGoodsGroupPurchaseVO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/WdGoodsGroupPurchaseVO.java
new file mode 100644
index 0000000..7a50e5b
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/WdGoodsGroupPurchaseVO.java
@@ -0,0 +1,55 @@
+package com.ruoyi.system.api.domain.vo;
+
+import com.ruoyi.common.core.enums.GroupStatusEnum;
+import com.ruoyi.common.core.enums.StartStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+public class WdGoodsGroupPurchaseVO {
+
+    @ApiModelProperty(value = "团购商品id")
+    private Long Id;
+
+    @ApiModelProperty(value = "商品id")
+    private Long goodsSkuId;
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodsSkuName;
+    @ApiModelProperty(value = "商品年份")
+    private String years;
+
+    @ApiModelProperty(value = "封面图")
+    private String coverPic;
+
+    @ApiModelProperty(value = "商品价格")
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "团购价格")
+    private BigDecimal groupPurchasePrice;
+
+    @ApiModelProperty(value = "成团人数")
+    private Integer groupSize;
+
+    @ApiModelProperty(value = "当前人数")
+    private Integer currentNumber;
+
+    @ApiModelProperty(value = "团购开始时间")
+    private LocalDateTime startTime;
+
+    @ApiModelProperty(value = "团购结束时间")
+    private LocalDateTime endTime;
+
+    @ApiModelProperty(value = "开始状态 0=未开始 1=已开始 2=已结束 ")
+    private StartStatusEnum startStatus;
+
+
+    @ApiModelProperty(value = "成团状态 0=待成团 1=已成团 2=成团失败")
+    private GroupStatusEnum groupStatus;
+
+    @ApiModelProperty(value = "是团购 1没有团购,2有团购")
+    private Integer isGoodsGroupPurchase;
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java
index db3c93c..7ca08aa 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java
@@ -11,6 +11,7 @@
 import com.ruoyi.system.api.domain.dto.OrderUpdDTO;
 import com.ruoyi.system.api.domain.dto.RefundDTO;
 import com.ruoyi.system.api.domain.dto.*;
+import com.ruoyi.system.api.domain.vo.OrderVO;
 import com.ruoyi.system.api.domain.vo.PayInfoVO;
 import com.ruoyi.system.api.feignClient.OrderClient;
 import java.util.List;
@@ -54,6 +55,16 @@
             }
 
             @Override
+            public R<Order> getOrderByGroupPurchaseMemberId(HomeGoodsSkuDTO homeGoodsSkuDTO, String source) {
+                return R.fail("根据团购商品用户获取订单:" + cause.getMessage());
+            }
+
+            @Override
+            public R<List<OrderVO>> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO, String source) {
+                return R.fail("根据团购商品用户d获取订单列表失败:" + cause.getMessage());
+            }
+
+            @Override
             public R<List<OrderAuctionBond>> getOrderAuctionBondList1(MemberAuctionSalesroomDTO memberAuctionSalesroomDTO, String source) {
                 return R.fail("获取保证金订单列表失败:" + cause.getMessage());
             }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java
index c0b965c..cbba681 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java
@@ -13,6 +13,7 @@
 import com.ruoyi.system.api.domain.dto.OrderUpdDTO;
 import com.ruoyi.system.api.domain.dto.RefundDTO;
 import com.ruoyi.system.api.domain.dto.*;
+import com.ruoyi.system.api.domain.vo.OrderVO;
 import com.ruoyi.system.api.domain.vo.PayInfoVO;
 import com.ruoyi.system.api.factory.OrderFallbackFactory;
 import java.util.List;
@@ -68,9 +69,17 @@
     R<List<Order>> getOrderByGroupPurchaseId(@PathVariable("id") Long id,
             @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
+    @PostMapping("/order/getOrderByGroupPurchaseMemberId")
+    R<Order> getOrderByGroupPurchaseMemberId(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO,
+                                                @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
+    @PostMapping("/order/getOrderByGroupPurchaseMemberList")
+    R<List<OrderVO>> getOrderByGroupPurchaseMemberList(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO,
+                                                       @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
     @PostMapping("/order-auction-bond/getOrderAuctionBondList1")
     R<List<OrderAuctionBond>> getOrderAuctionBondList1(@RequestBody MemberAuctionSalesroomDTO memberAuctionSalesroomDTO,
-                                                      @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+                                                     @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
     @PostMapping("/order-auction-bond/getOrderAuctionBondone")
     R<OrderAuctionBond> getOrderAuctionBondone(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO,
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java
index 2a4d5b3..bef9a62 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java
@@ -1,13 +1,12 @@
 package com.ruoyi.goods.controller.forepart;
 
 
-import com.fasterxml.jackson.core.JsonProcessingException;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.security.annotation.InnerAuth;
-import com.ruoyi.goods.controller.forepart.vo.GoodsGroupPurchaseInfoVO;
+import com.ruoyi.common.core.utils.page.PageDTO;
+import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO;
 import com.ruoyi.goods.service.IGoodsGroupPurchaseService;
 import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
-import com.ruoyi.system.api.domain.vo.HomeGoodsSkuInfoVO;
+import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -37,4 +36,19 @@
     public R<GoodsGroupPurchaseInfoVO> getGoodsGroupPurchaseInfo(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO) {
         return R.ok(goodsGroupPurchaseService.getGoodsGroupPurchaseInfo(homeGoodsSkuDTO));
     }
+
+    @RequestMapping("/QxGoodsGroupPurchase")
+    @ResponseBody
+    @ApiOperation(value = "用户端-取消团购商品")
+    public R QxGoodsGroupPurchase(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO) {
+        goodsGroupPurchaseService.QxGoodsGroupPurchase(homeGoodsSkuDTO);
+        return R.ok();
+    }
+
+    @RequestMapping("/CtjlGoodsGroupPurchase")
+    @ResponseBody
+    @ApiOperation(value = "用户端-我的参团记录")
+    public R<PageDTO<WdGoodsGroupPurchaseVO>> CtjlGoodsGroupPurchase(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO) {
+        return R.ok(goodsGroupPurchaseService.CtjlGoodsGroupPurchase(homeGoodsSkuDTO));
+    }
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsSeckillController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsSeckillController.java
index ebb7fd6..81fd143 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsSeckillController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsSeckillController.java
@@ -3,12 +3,10 @@
 
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.page.PageDTO;
-import com.ruoyi.goods.controller.forepart.vo.GoodsGroupPurchaseInfoVO;
 import com.ruoyi.goods.service.IGoodsSeckillService;
 import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
 import com.ruoyi.system.api.domain.vo.HomeGoodsSeckillInfoVO;
 import com.ruoyi.system.api.domain.vo.HomeGoodsSeckillVO;
-import com.ruoyi.system.api.domain.vo.HomeGoodsSkuListVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
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 5ec4038..77d6403 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
@@ -9,7 +9,8 @@
 import com.ruoyi.goods.domain.GoodsGroupPurchase;
 import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
 import com.ruoyi.system.api.domain.dto.ListStatusDTO;
-import com.ruoyi.goods.controller.forepart.vo.GoodsGroupPurchaseInfoVO;
+import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO;
+import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO;
 import org.springframework.web.bind.annotation.RequestBody;
 
 /**
@@ -73,5 +74,9 @@
      */
     void stopImmediately(Long id);
 
-    GoodsGroupPurchaseInfoVO getGoodsGroupPurchaseInfo(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO);
+    GoodsGroupPurchaseInfoVO getGoodsGroupPurchaseInfo(HomeGoodsSkuDTO homeGoodsSkuDTO);
+
+    void  QxGoodsGroupPurchase(HomeGoodsSkuDTO homeGoodsSkuDTO);
+
+    PageDTO<WdGoodsGroupPurchaseVO> CtjlGoodsGroupPurchase(HomeGoodsSkuDTO homeGoodsSkuDTO);
 }
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 f2cdbce..13afb40 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,6 +8,7 @@
 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;
@@ -17,12 +18,13 @@
 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.goods.controller.forepart.vo.GoodsGroupPurchaseInfoVO;
+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.goods.domain.MemberGoodsCollection;
 import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper;
 import com.ruoyi.goods.service.IGoodsGroupPurchaseService;
 import com.ruoyi.goods.service.IGoodsSkuService;
@@ -31,10 +33,8 @@
 import com.ruoyi.system.api.constants.NotificationTypeConstant;
 import com.ruoyi.system.api.domain.GoodsSku;
 import com.ruoyi.system.api.domain.Order;
-import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
-import com.ruoyi.system.api.domain.dto.ListStatusDTO;
-import com.ruoyi.system.api.domain.dto.OrderUpdDTO;
-import com.ruoyi.system.api.domain.dto.RefundDTO;
+import com.ruoyi.system.api.domain.vo.OrderVO;
+import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO;
 import com.ruoyi.system.api.feignClient.OrderClient;
 import com.ruoyi.system.api.util.WebSocketUsers;
 import java.time.LocalDateTime;
@@ -283,7 +283,6 @@
     @Override
     public GoodsGroupPurchaseInfoVO getGoodsGroupPurchaseInfo(HomeGoodsSkuDTO homeGoodsSkuDTO) {
         GoodsSku byId = goodsSkuService.getById(homeGoodsSkuDTO.getGoodsSkuId());
-
         LambdaQueryWrapper<GoodsGroupPurchase> wrapper3= Wrappers.lambdaQuery();
         wrapper3.eq(GoodsGroupPurchase::getDelFlag,0);
         wrapper3.eq(GoodsGroupPurchase::getGoodsSkuId,homeGoodsSkuDTO.getGoodsSkuId());
@@ -306,6 +305,81 @@
         goodsGroupPurchaseInfoVO.setListingStatus(one.getListingStatus());
         goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus());
 
+        Order data = orderClient.getOrderByGroupPurchaseMemberId(homeGoodsSkuDTO, SecurityConstants.INNER).getData();
+        if (data!=null){
+            goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(2);
+        }else{
+            goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(1);
+        }
+
         return goodsGroupPurchaseInfoVO;
     }
+
+    @Override
+    public void QxGoodsGroupPurchase(HomeGoodsSkuDTO homeGoodsSkuDTO) {
+        Order order1 = orderClient.getOrderByGroupPurchaseMemberId(homeGoodsSkuDTO, SecurityConstants.INNER).getData();
+        RefundDTO refundDTO = new RefundDTO();
+        refundDTO.setOrderNo(order1.getOrderNo());
+        refundDTO.setAmount(order1.getTotalAmount());
+
+        List<RefundDTO>refundDTOList=new ArrayList<>();
+        refundDTOList.add(refundDTO);
+
+        List<Order> orderList=new ArrayList<>();
+        orderList.add(order1);
+
+        Map<String, Object> data = orderClient.refund(refundDTOList,
+                SecurityConstants.INNER).getData();
+        if (StringUtils.isNotEmpty(data)) {
+            // 处理退款返回结果
+            List<String> successfulOrders = new ArrayList<>();
+            List<String> failedOrders = new ArrayList<>();
+
+            data.forEach((key, value) -> {
+                if ((boolean) value) {
+                    successfulOrders.add(key);
+                } else {
+                    failedOrders.add(key);
+                }
+            });
+            // 处理退款结果
+            List<Order> updateOrderList = orderList.stream()
+                    .filter(order -> successfulOrders.contains(order.getOrderNo()))
+                    .peek(order -> {
+                        order.setOrderStatus(OrderStatusEnum.CANCELED);
+                    }).collect(Collectors.toList());
+            List<OrderUpdDTO> orderUpdDTOS = BeanUtils.copyList(updateOrderList,
+                    OrderUpdDTO.class);
+            orderClient.updateOrderList(orderUpdDTOS, SecurityConstants.INNER);
+        }
+
+    }
+
+    @Override
+    public PageDTO<WdGoodsGroupPurchaseVO> CtjlGoodsGroupPurchase(HomeGoodsSkuDTO homeGoodsSkuDTO) {
+        List<OrderVO> data = orderClient.getOrderByGroupPurchaseMemberList(homeGoodsSkuDTO, SecurityConstants.INNER).getData();
+        List<Long> goodsSkuIdList = data.stream()
+                .map(OrderVO::getGoodsSkuId)
+                .collect(Collectors.toList());
+        Page<GoodsGroupPurchase> page = new Page<>(homeGoodsSkuDTO.getPageCurr(), homeGoodsSkuDTO.getPageSize());
+        LambdaQueryWrapper< GoodsGroupPurchase> wrapper= Wrappers.lambdaQuery();
+        wrapper.in(GoodsGroupPurchase::getGoodsSkuId,goodsSkuIdList);
+        wrapper.eq(GoodsGroupPurchase::getListingStatus,0);
+        wrapper.eq( GoodsGroupPurchase::getDelFlag,0);
+        Page< GoodsGroupPurchase> page1 = this.page(page, wrapper);
+
+        PageDTO<WdGoodsGroupPurchaseVO> GoodsGroupPurchaseVOPageDTO = PageDTO.of(page1, WdGoodsGroupPurchaseVO.class);
+        List<WdGoodsGroupPurchaseVO> list2 = GoodsGroupPurchaseVOPageDTO.getList();
+        for (WdGoodsGroupPurchaseVO goodsGroupPurchaseeVO:list2) {
+            GoodsSku byId = goodsSkuService.getById(goodsGroupPurchaseeVO.getGoodsSkuId());
+            goodsGroupPurchaseeVO.setGoodsSkuName(byId.getSkuName());
+            goodsGroupPurchaseeVO.setCoverPic(byId.getCoverPic());
+            goodsGroupPurchaseeVO.setPrice(byId.getPrice());
+            goodsGroupPurchaseeVO.setYears(String.valueOf(byId.getYears().getYear()));
+            goodsGroupPurchaseeVO.setIsGoodsGroupPurchase(2);
+        }
+
+
+        return GoodsGroupPurchaseVOPageDTO;
+    }
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/OrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/OrderController.java
index 2afa63a..8ad93a3 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/OrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/OrderController.java
@@ -6,20 +6,17 @@
 import com.ruoyi.common.security.annotation.InnerAuth;
 import com.ruoyi.order.service.IOrderService;
 import com.ruoyi.system.api.domain.Order;
+import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
 import com.ruoyi.system.api.domain.dto.OrderDTO;
 import com.ruoyi.system.api.domain.dto.OrderUpdDTO;
 import java.util.List;
+
+import com.ruoyi.system.api.domain.vo.OrderVO;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.ss.formula.functions.T;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
 
 /**
  * <p>
@@ -82,6 +79,22 @@
         return R.ok(orderService.getOrderByGroupPurchaseId(id));
     }
 
+    @InnerAuth
+    @ResponseBody
+    @PostMapping("/getOrderByGroupPurchaseMemberId")
+    R<Order> getOrderByGroupPurchaseMemberId(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO){
+        return R.ok(orderService.getOrderByGroupPurchaseMemberId(homeGoodsSkuDTO));
+    }
+
+    @InnerAuth
+    @ResponseBody
+    @PostMapping("/getOrderByGroupPurchaseMemberList")
+    R<List<OrderVO>> getOrderByGroupPurchaseMemberList(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO){
+        return R.ok(orderService.getOrderByGroupPurchaseMemberList(homeGoodsSkuDTO));
+    }
+
+
+
     /**
      * 批量更新订单状态
      *
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
index 0711b57..1d0176f 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
@@ -3,6 +3,9 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.system.api.domain.Order;
 import java.util.List;
+
+import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
+import com.ruoyi.system.api.domain.vo.OrderVO;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -30,4 +33,8 @@
      * @return 订单列表
      */
     List<Order> getOrderByGroupPurchaseId(@Param("id") Long id);
+    Order getOrderByGroupPurchaseMemberId(HomeGoodsSkuDTO homeGoodsSkuDTO);
+
+    List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO);
+
 }
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 d4c3098..32719aa 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
@@ -2,7 +2,11 @@
 
 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.OrderDTO;
+import com.ruoyi.system.api.domain.vo.OrderVO;
+import org.springframework.web.bind.annotation.RequestBody;
+
 import java.util.List;
 
 /**
@@ -41,4 +45,8 @@
      */
     List<Order> getOrderByGroupPurchaseId(Long id);
 
+    Order getOrderByGroupPurchaseMemberId(HomeGoodsSkuDTO homeGoodsSkuDTO);
+    List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO);
+
+
 }
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 e2a57af..334950d 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,5 +1,7 @@
 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.enums.OrderStatusEnum;
 import com.ruoyi.order.domain.OrderMall;
@@ -8,11 +10,15 @@
 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.dto.HomeGoodsSkuDTO;
 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 com.ruoyi.system.api.domain.vo.OrderVO;
 import org.springframework.stereotype.Service;
 
 /**
@@ -89,4 +95,14 @@
     public List<Order> getOrderByGroupPurchaseId(Long id) {
         return baseMapper.getOrderByGroupPurchaseId(id);
     }
+
+    @Override
+    public Order getOrderByGroupPurchaseMemberId(HomeGoodsSkuDTO homeGoodsSkuDTO) {
+        return baseMapper.getOrderByGroupPurchaseMemberId(homeGoodsSkuDTO);
+    }
+
+    @Override
+    public List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO) {
+        return baseMapper.getOrderByGroupPurchaseMemberList(homeGoodsSkuDTO);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
index 74e9b67..267d070 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -27,4 +27,39 @@
       AND tom.activity_id = #{id}
     </where>
   </select>
+
+
+  <select id="getOrderByGroupPurchaseId" resultType="com.ruoyi.system.api.domain.Order">
+    SELECT
+    o.*
+    FROM
+    t_order_mall tom
+    LEFT JOIN t_order o ON tom.order_id = o.id
+    <where>
+      tom.activity_id = #{goodsSkuId}
+      AND o.order_status = 2
+      AND o.order_from = 3
+      AND   o.member_id=#{memberId}
+    </where>
+  </select>
+
+
+  <select id="getOrderByGroupPurchaseList" resultType="com.ruoyi.system.api.domain.vo.OrderVO">
+    SELECT
+    o.*,
+    tom.activityId as goodsSkuId
+    FROM
+    t_order_mall tom
+    LEFT JOIN t_order o ON tom.order_id = o.id
+    LEFT JOIN t_goods_sku tgs ON tom.activityId = tg.id
+    <where>
+       o.order_status = 2
+      <if test="skuName != null and skuName != ''">
+        AND tgs.goods_sku_name LIKE CONCAT('%',#{skuName},'%')
+      </if>
+      AND o.order_from = 3
+      AND   o.member_id=#{memberId}
+    </where>
+  </select>
+
 </mapper>

--
Gitblit v1.7.1