From e14a6debcb17348164f703fcb2a7b9b1c3608352 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 02 二月 2024 10:19:32 +0800
Subject: [PATCH] 提交版本

---
 meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallOrderController.java |   86 +++++++++++++++++++++++++------------------
 1 files changed, 50 insertions(+), 36 deletions(-)

diff --git a/meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallOrderController.java b/meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallOrderController.java
index 0f24d38..17f1624 100644
--- a/meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallOrderController.java
+++ b/meiya-rest/src/main/java/com/sinata/rest/modular/mall/controller/MallOrderController.java
@@ -1,10 +1,8 @@
 package com.sinata.rest.modular.mall.controller;
 
 import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sinata.common.enums.EnumIsDelete;
 import com.sinata.common.enums.mall.EnumMallOrderState;
@@ -17,7 +15,10 @@
 import com.sinata.rest.modular.mall.controller.vo.VoGoodsSku;
 import com.sinata.rest.modular.mall.controller.vo.VoMallOrder;
 import com.sinata.rest.modular.mall.controller.vo.VoMallOrderDetail;
-import com.sinata.rest.modular.mall.model.*;
+import com.sinata.rest.modular.mall.controller.vo.VoMallOrderDetailGroupSpecGoods;
+import com.sinata.rest.modular.mall.model.MallOrder;
+import com.sinata.rest.modular.mall.model.MallOrderDetail;
+import com.sinata.rest.modular.mall.model.MallOrderMain;
 import com.sinata.rest.modular.mall.service.*;
 import com.sinata.rest.modular.member.model.MemUser;
 import com.sinata.rest.modular.member.model.MyCoupon;
@@ -36,7 +37,6 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.*;
-import java.util.stream.Collectors;
 
 /**
  * 订单接口
@@ -76,6 +76,9 @@
     @Autowired
     private IMallGroupSpecService mallGroupSpecService;
 
+    @Autowired
+    private IMallOrderDetailGroupSpecService mallOrderDetailGroupSpecService;
+
     @GetMapping(value = "/list")
     @ApiOperation(value = "获取订单列表", notes = "获取订单列表")
     @ApiImplicitParams({
@@ -114,52 +117,63 @@
             @ApiImplicitParam(name = "orderNo", value = "订单编号", defaultValue = "1", dataType = "String", paramType = "query", required = true),
     })
     public ApiUtils<VoMallOrder> detail(String orderNo) {
-        VoMallOrder order = orderService.getOrderByOrderNo(orderNo);
-        if (order == null) {
+        VoMallOrder o = orderService.getOrderByOrderNo(orderNo);
+        if (o == null) {
             return ApiUtils.returnNG(null, "订单信息不存在");
         }
+        wrapperVoMallOrder(orderNo, o);
+        return ApiUtils.returnOK(o);
+    }
+
+    public VoMallOrder wrapperVoMallOrder(String orderNo, VoMallOrder voMallOrder) {
         try {
-            order.setOrderCode(QRCodeUtils.crateQRCode(orderNo, 200, 200));
+            voMallOrder.setOrderCode(QRCodeUtils.crateQRCode(orderNo, 200, 200));
         } catch (Exception e) {
             e.printStackTrace();
         }
         List<VoMallOrderDetail> detailList = orderService.getOrderDetailByOrderNoList(orderNo);
         for (VoMallOrderDetail od : detailList) {
-            List<Integer> groupSpecGoodsIdList = new ArrayList<>();
-            MallGoodsSku goodsSku = mallGoodsSkuService.getOne(
-                    Wrappers.<MallGoodsSku>query().lambda()
-                            .eq(MallGoodsSku::getGoodsId, od.getGoodsId())
-                            .eq(MallGoodsSku::getMerchantId, 0)
-                            .last("LIMIT 1")
-            );
-            if (goodsSku != null && StrUtil.isNotBlank(goodsSku.getSpecIds())) {
-                String[] specIdArray = goodsSku.getSpecIds().split(",");                
-                List<MallGroupSpec> groupSpecList = mallGroupSpecService.list(
-                        Wrappers.<MallGroupSpec>query().lambda()
-                                .in(MallGroupSpec::getId, specIdArray)
-                );
-                for (MallGroupSpec mallGroupSpec : groupSpecList) {
-                    groupSpecGoodsIdList.addAll(
-                            Arrays.stream(mallGroupSpec.getGoodsIds().split(",")).map(Integer::parseInt).collect(Collectors.toList())
-                    );
-                }
-            }
-            if (groupSpecGoodsIdList != null && groupSpecGoodsIdList.size() > 0) {
-                List<MallGoods> groupSpecGoodsList = mallGoodsService.list(
-                        Wrappers.<MallGoods>query().lambda()
-                                .in(MallGoods::getId, groupSpecGoodsIdList)
-                );
-                od.setGroupSpecGoodsList(groupSpecGoodsList);
-            }
+            List<VoMallOrderDetailGroupSpecGoods> voMallOrderDetailGroupSpecGoodsList = mallOrderDetailGroupSpecService.getListByOrderNo(null, od.getOrderDetailNo());
+            od.setGroupSpecGoodsList(voMallOrderDetailGroupSpecGoodsList);
+//            List<Integer> groupSpecGoodsIdList = new ArrayList<>();
+//            MallGoodsSku goodsSku = mallGoodsSkuService.getById(od.getSkuId());
+//            if (goodsSku != null && StrUtil.isNotBlank(goodsSku.getSpecIds())) {
+//                String[] specIdArray = goodsSku.getSpecIds().split(",");
+//                List<MallGroupSpec> groupSpecList = mallGroupSpecService.list(
+//                        Wrappers.<MallGroupSpec>query().lambda()
+//                                .in(MallGroupSpec::getId, specIdArray)
+//                );
+//                for (MallGroupSpec mallGroupSpec : groupSpecList) {
+//                    groupSpecGoodsIdList.addAll(
+//                            Arrays.stream(mallGroupSpec.getGoodsIds().split(",")).map(Integer::parseInt).collect(Collectors.toList())
+//                    );
+//                }
+//            }
+//            if (groupSpecGoodsIdList != null && groupSpecGoodsIdList.size() > 0) {
+//                List<MallGoods> groupSpecGoodsList = mallGoodsService.list(
+//                        Wrappers.<MallGoods>query().lambda()
+//                                .in(MallGoods::getId, groupSpecGoodsIdList)
+//                );
+//                od.setGroupSpecGoodsList(groupSpecGoodsList);
+//            }
         }
-        order.setDetailList(detailList);
-        return ApiUtils.returnOK(order);
+        voMallOrder.setDetailList(detailList);
+        return voMallOrder;
+    }
+
+    @GetMapping(value = "/getOrderDetailGroupSpecGoods")
+    @ApiOperation(value = "获取订单套餐规格组商品列表", notes = "获取订单套餐规格组商品列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderNo", value = "订单编号", dataType = "String", paramType = "query", required = true),
+    })
+    public ApiUtils<List<VoMallOrderDetailGroupSpecGoods>> getOrderDetailGroupSpecGoods(String orderNo) {
+        return ApiUtils.returnOK(mallOrderDetailGroupSpecService.getListByOrderNo(orderNo, null));
     }
 
     @GetMapping(value = "/getSkuByMerchant")
     @ApiOperation(value = "获取门店sku信息", notes = "获取门店sku信息")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "skuIds", value = "商品Sku串(逗号分隔)", defaultValue = "1", dataType = "String", paramType = "query", required = true),
+            @ApiImplicitParam(name = "skuIds", value = "商品Sku串(逗号分隔)", dataType = "String", paramType = "query", required = true),
             @ApiImplicitParam(name = "merchantId", value = "门店ID", defaultValue = "1", dataType = "String", paramType = "query", required = true),
     })
     public List<VoGoodsSku> getSkuByMerchant(String skuIds, Integer merchantId) {

--
Gitblit v1.7.1