From fbb35a6b9ed181fa7e5d7bc1fb0c3318a1d18db1 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 14 一月 2025 13:50:33 +0800
Subject: [PATCH] 12.18

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 8507664..ac038fe 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -14,6 +14,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.uuid.QRCodeGenerator;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.order.enums.OrderStatus;
@@ -41,6 +42,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
@@ -174,13 +176,7 @@
             orderActivityInfo = JSONObject.parseObject(activityJson, OrderActivityInfo.class);
         }
         OrderDetailVO orderDetailVO = new OrderDetailVO();
-
-        if (CollectionUtil.isNotEmpty(orderGoods)){
-            String goodJson = orderGoods.get(0).getGoodJson();
-            Goods goods = JSONObject.parseObject(goodJson, Goods.class);
-            orderDetailVO.setDistributionMode(goods.getDistributionMode());
-        }
-
+        orderDetailVO.setDistributionMode(order.getDistributionMode());
         Technician technician = new Technician();
         if (order.getTechnicianId() != null){
             R<Technician> shopdetail = technicianClient.shopdetail(order.getTechnicianId());
@@ -214,6 +210,22 @@
         orderDetailVO.setLatitude(shop.getLatitude());
         orderDetailVO.setShopId(shop.getId());
         orderDetailVO.setTechnicianName(technician.getName());
+        orderDetailVO.setTechnicianId(technician.getId());
+        if(order.getOrderType() == 1){
+            List<TechnicianSubscribe> data = technicianSubscribeClient.getTechnicianSubscribeList(order.getId()).getData();
+            if(data.size() > 0){
+                Long id = data.get(0).getId();
+                orderDetailVO.setTechnicianSubscribeId(id.toString());
+            }
+        }
+        // 生成核销码BASE64
+        try {
+            String base64 = QRCodeGenerator.generateQRCodeBase64(order.getOrderNumber(), 124, 124);
+            orderDetailVO.setWriteOffCode(base64);
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ServiceException("生成核销码失败");
+        }
         return orderDetailVO;
     }
 

--
Gitblit v1.7.1