Procházet zdrojové kódy

fix: sync ProductOrder for admin order management

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Xiaogang Liao před 1 měsícem
rodič
revize
6035f0c5c1

+ 24 - 0
cfc-backend/src/main/java/com/etotem/cfc/service/PaymentService.java

@@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.etotem.cfc.entity.PackageOrder;
+import com.etotem.cfc.entity.ProductOrder;
 import com.etotem.cfc.mapper.PackageOrderMapper;
+import com.etotem.cfc.mapper.ProductOrderMapper;
 import com.etotem.cfc.service.ProductOrderService;
 import com.etotem.cfc.service.api.PaymentServiceInterface;
 import okhttp3.MediaType;
@@ -49,6 +51,9 @@ public class PaymentService implements PaymentServiceInterface {
     @Resource
     private PackageOrderMapper packageOrderMapper;
 
+    @Resource
+    private ProductOrderMapper productOrderMapper;
+
     @Resource
     private CommissionService commissionService;
 
@@ -140,6 +145,25 @@ public class PaymentService implements PaymentServiceInterface {
             } else {
                 packageOrderMapper.updateById(order);
             }
+            // 同步创建ProductOrder,以便在管理端订单管理中查看
+            try {
+                ProductOrder po = new ProductOrder();
+                po.setOrderNo(orderNo);
+                po.setProductId(0L);
+                po.setProductName("肠道菌群基因检测");
+                po.setProductType("gut_testing");
+                po.setQuantity(1);
+                po.setTotalAmount(1);
+                po.setStatus("paid");
+                po.setPaymentMethod("wechat");
+                po.setAddressSnapshot("{\"name\":\"" + name + "\",\"phone\":\"" + phone + "\",\"address\":\"" + address + "\"}");
+                po.setCreatedAt(new Date());
+                po.setUpdatedAt(new Date());
+                productOrderMapper.insert(po);
+                log.info("已同步创建ProductOrder: orderNo={}", orderNo);
+            } catch (Exception e) {
+                log.warn("同步创建ProductOrder失败: {}", e.getMessage());
+            }
             log.info("已保存联系人信息: orderNo={}, name={}, phone={}", orderNo, name, phone);
         } catch (Exception e) {
             log.warn("保存联系人信息失败: orderNo={}", orderNo, e);