Bläddra i källkod

dev合并master

fubojin 11 timmar sedan
förälder
incheckning
e1f1e67e33

+ 1 - 1
yami-shop-api/src/main/resources/application-dev.yml

@@ -3,7 +3,7 @@ server:
 spring:
   datasource:
     url: jdbc:mysql://47.109.84.152:3306/xinshanbao?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
-    username: root
+    username: user
     password: Lxy$?9032
     driver-class-name: com.mysql.cj.jdbc.Driver
     type: com.zaxxer.hikari.HikariDataSource

+ 2 - 2
yami-shop-api/src/main/resources/application.yml

@@ -2,8 +2,8 @@
 spring:
   # 环境 dev|prod|docker
   profiles:
-#    active: dev
-    active: prod
+    active: dev
+#    active: prod
   #文件上传设置
   servlet:
     multipart:

+ 170 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/vo/XSBProductVO.java

@@ -0,0 +1,170 @@
+package com.yami.shop.bean.vo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 商品表
+ */
+@Data
+public class XSBProductVO {
+
+    /**
+     * 商品编码(海博)
+     */
+    private Long hbSpuId;
+    /**
+     * 第三方SpuID
+     */
+    private String  thirdSpuId;
+    /**
+     * 业务类型
+     */
+    private String businessType;
+
+    /**
+     * 海博渠道编码
+     */
+    private String channelCode;
+
+    /**
+     * 店铺id
+     */
+    private Long shopId;
+
+    /**
+     * 在平台当中的分类id
+     */
+    private Long categoryId;
+
+    /**
+     * 在海博平台中的前台分类id
+     */
+    private String hbFrontCategoryId;
+
+    /**
+     * 在店铺当中的分类id
+     */
+    private Long shopCategoryId;
+
+    /**
+     * 商品名称
+     */
+    private String prodName;
+
+    /**
+     * 原价
+     */
+    private Double oriPrice;
+
+    /**
+     * 现价
+     */
+    private Double price;
+
+    /**
+     * 简要描述,卖点等
+     */
+    private String brief;
+
+    /**
+     * 商品视频
+     */
+    private String video;
+
+    /**
+     * 商品主图
+     */
+    private String pic;
+
+    /**
+     * 商品图片
+     */
+    private String imgs;
+
+    /**
+     * 默认是1,表示正常状态, -1表示删除, 0下架
+     */
+    private Integer status;
+    /**
+     * 逻辑删除标记 0 正常 1 已被删除
+     */
+    private Integer isDelete;
+    /**
+     * 海博商品类型(1-普通商品,2-多规格商品)
+     */
+    private Integer hbStatus;
+
+    /**
+     * 品牌Id
+     */
+    private Long brandId;
+    /**
+     * 品牌名称
+     */
+    private String brandName;
+    /**
+     * 商品副标题
+     */
+    private String halfTitle;
+
+    /**
+     * 已经销售数量
+     */
+    private Integer soldNum;
+
+    /**
+     * 库存量
+     */
+    private Integer totalStocks;
+
+    /**
+     * 配送方式json
+     */
+    private String deliveryMode;
+
+    /**
+     * 运费模板id
+     */
+    private Long deliveryTemplateId;
+
+    /**
+     * 录入时间
+     */
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    private Date updateTime;
+
+    /**
+     * 详细描述
+     */
+    @TableField("`content`")
+    private String content;
+
+    /**
+     * 上架时间
+     */
+    private Date putawayTime;
+
+    /**
+     * 商品类型(0普通商品 1拼团 2秒杀 3积分)
+     */
+    private Integer prodType;
+
+    /**
+     * 商品积分价格
+     */
+    private Integer scorePrice;
+
+    /**
+     * 活动id(对应prod_type)
+     */
+    private Long activityId;
+
+
+}

+ 145 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/vo/XSBSkuVO.java

@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2018-2999 广州亚米信息科技有限公司 All rights reserved.
+ *
+ * https://www.gz-yami.com/
+ *
+ * 未经允许,不可做商业用途!
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.yami.shop.bean.vo;
+
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class XSBSkuVO implements Serializable {
+
+
+    /**
+     * 第三方SkuID
+     */
+    private String  thirdSkuId;
+    /**
+     * 业务类型
+     */
+    private String businessType;
+
+    /**
+     * 商品ID
+     */
+    private Long prodId;
+
+    /**
+     * 商品编码(海博)
+     */
+    private String hbSpuId;
+    /**
+     * 单品编码(海博)
+     */
+    private String hbSkuId;
+
+    /**
+     * 销售属性组合字符串,格式是p1:v1;p2:v2
+     */
+    private String properties;
+
+    /**
+     *  外部编码
+     */
+    private String skuCode;
+    /**
+     * 规格
+     */
+    private String spec;
+
+    /**
+     * 原价
+     */
+    private Double oriPrice;
+
+    /**
+     * 价格
+     */
+    private Double price;
+    /**
+     * 积分价格
+     */
+    private Integer skuScore;
+
+    /**
+     * 库存
+     */
+    private Integer stocks;
+
+    /**
+     * 实际库存
+     */
+    private Integer actualStocks;
+
+    /**
+     * 修改时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 记录时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date recTime;
+
+    /**
+     * 商家编码
+     */
+    private String partyCode;
+
+    /**
+     * 商品条形码
+     */
+    private String modelId;
+
+    /**
+     * sku图片
+     */
+    private String pic;
+
+    /**
+     * sku名称
+     */
+    private String skuName;
+
+    /**
+     * 商品名称
+     */
+    private String prodName;
+
+    private Integer version;
+
+    /**
+     * 重量
+     */
+    private Double weight;
+
+    /**
+     * 体积
+     */
+    private Double volume;
+
+    /**
+     * 状态:0禁用 1 启用
+     */
+    private Integer status;
+
+    /**
+     * 0 正常 1 已被删除
+     */
+    private Integer isDelete;
+
+    private String weightUnit;
+
+}

+ 1 - 1
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/ShopCategoryController.java

@@ -167,7 +167,7 @@ public class ShopCategoryController {
 
 //        ShopCategory dbShopCategory1 = shopCategoryService.getById(shopCategory.getId());
 //        // 将frontCategory数据推送到另一个服务器(POST请求,参数放在请求体)
-//        String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncFrontCategoryDel/";
+//        String syncUrl = smqjhSyncUrl + "/syncFrontCategoryDel/";
 //        try {
 //            // 将frontCategory对象作为JSON放入请求体
 //            String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, dbShopCategory1);

+ 90 - 0
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/smqjh/XSBController.java

@@ -0,0 +1,90 @@
+
+package com.yami.shop.platform.controller.smqjh;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.yami.shop.bean.model.Product;
+import com.yami.shop.bean.model.Sku;
+import com.yami.shop.bean.vo.XSBProductVO;
+import com.yami.shop.bean.vo.XSBSkuVO;
+import com.yami.shop.service.ProductService;
+import com.yami.shop.service.SkuService;
+import com.yami.shop.utils.SmqjhUtil;
+import lombok.AllArgsConstructor;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.BeanUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 星闪豹数据同步问题
+ *
+ * @author FBJ
+ * @version 1.0.0
+ * @since 2025-12-15
+ */
+@RestController
+@RequestMapping("/platform/xsb")
+@AllArgsConstructor
+@Log4j2
+public class XSBController {
+    private final ProductService productService;
+    private final SkuService skuService;
+    private final SmqjhUtil smqjhUtil;
+
+    /**
+     * 同步商品
+     */
+    @PostMapping("/syncProd")
+    public String syncProd() {
+        List<Product> list = productService.list(new LambdaQueryWrapper<Product>()
+                .eq(Product::getIsDelete, 0)
+                .eq(Product::getStatus, 1));
+        try {
+            List<XSBProductVO> shopSkuList = new ArrayList<>();
+            for (Product productAdd : list) {
+                XSBProductVO xsbProductVO = new XSBProductVO();
+                BeanUtils.copyProperties(productAdd, xsbProductVO);
+                xsbProductVO.setThirdSpuId(String.valueOf(productAdd.getProdId()));
+                xsbProductVO.setBusinessType("XSB");
+                shopSkuList.add(xsbProductVO);
+            }
+            String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncProductData";
+            log.info("推送url: {}",syncUrl);
+            // 将frontCategory对象作为JSON放入请求体
+            String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSkuList);
+            log.info("推送frontCategory到同步服务器结果: {}", response);
+        } catch (Exception e) {
+            log.error("推送frontCategory到同步服务器失败: {}", e.getMessage(), e);
+        }
+        return "success";
+    }
+
+    /**
+     * 同步商品SKUcc
+     */
+    @PostMapping("/syncSku")
+    public String syncSku() {
+        try {
+            List<XSBSkuVO> shopSkuList = new ArrayList<>();
+            List<Sku> list = skuService.list(new LambdaQueryWrapper<Sku>().eq(Sku::getIsDelete, 0));
+            for (Sku sku : list) {
+                XSBSkuVO xsbSkuVO = new XSBSkuVO();
+                BeanUtils.copyProperties(sku, xsbSkuVO);
+                xsbSkuVO.setThirdSkuId(String.valueOf(sku.getSkuId()));
+                xsbSkuVO.setBusinessType("XSB");
+                shopSkuList.add(xsbSkuVO);
+            }
+            String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncSkuData";
+            log.info("推送url: {}",syncUrl);
+            // 将frontCategory对象作为JSON放入请求体
+            String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSkuList);
+            log.info("推送frontCategory到同步服务器结果: {}", response);
+        } catch (Exception e) {
+            log.error("推送frontCategory到同步服务器失败: {}", e.getMessage(), e);
+        }
+
+        return "";
+    }
+}

+ 4 - 0
yami-shop-platform/src/main/resources/application-dev.yml

@@ -24,3 +24,7 @@ hb:
   appId: 5347a7077e65428bb9a87510ca7e1ea1
   secret: 67899367b17e4a8d8a7d10ebe8449b90
 
+smqjh:
+    pms-url: http://192.168.1.253:8802/api/v1/sync
+
+

+ 5 - 1
yami-shop-service/src/main/java/com/yami/shop/dao/OrderMapper.java

@@ -40,7 +40,11 @@ public interface OrderMapper extends BaseMapper<Order> {
      */
     void cancelOrders(@Param("orders") List<Order> orders, @Param("cancelReason") String cancelReason);
 
-//    void receiptOrder(@Param("orders") List<Order> orders);
+    /**
+     * 确认收货
+     * @param orders
+     */
+    void receiptOrder(@Param("orders") List<Order> orders);
 
     void updateByToPaySuccess(@Param("orderNumbers") List<String> orderNumbers, @Param("payType") Integer payType);
 

+ 7 - 3
yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/HBFrontCategoryService.java

@@ -12,9 +12,11 @@ import com.yami.shop.dao.FrontCategoryMapper;
 import com.yami.shop.dao.ShopCategoryMapper;
 import com.yami.shop.service.hb.IHBFrontCategoryService;
 import com.yami.shop.utils.HBSignUtil;
+import com.yami.shop.utils.SmqjhUtil;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -43,6 +45,8 @@ public class HBFrontCategoryService implements IHBFrontCategoryService {
     private final ShopCategoryMapper shopCategoryMapper;
     private final HBSignUtil hbSignUtil;
 
+    private final SmqjhUtil smqjhUtil;
+
 
     @Override
     @Transactional
@@ -96,7 +100,7 @@ public class HBFrontCategoryService implements IHBFrontCategoryService {
                         shopCategory1.setNum(frontCategory.getNum());
                         shopCategoryMapper.updateById(shopCategory1);
                         try {
-                            String syncUrl = "http://192.168.1.101:8080/smqjh-pms//api/v1/sync/syncShopCategoryData";
+                            String syncUrl = smqjhUtil.getSmqjhPmsUrl()  + "/syncShopCategoryData";
                             // 将frontCategory对象作为JSON放入请求体
                             String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopCategory1);
                             log.info("推送frontCategory到同步服务器结果: {}", response);
@@ -170,7 +174,7 @@ public class HBFrontCategoryService implements IHBFrontCategoryService {
 
         shopCategoryMapper.insert(shopCategory);
         try {
-            String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncShopCategoryData/";
+            String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncShopCategoryData/";
             String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopCategory);
             log.info("推送门店分类到同步服务器结果: {}", response);
         } catch (Exception e) {
@@ -223,7 +227,7 @@ public class HBFrontCategoryService implements IHBFrontCategoryService {
             try {
                 List<ShopCategory> shopCategories = shopCategoryMapper.selectList(new LambdaQueryWrapper<ShopCategory>().eq(ShopCategory::getCode, code));
                 for (ShopCategory shopCategory : shopCategories) {
-                    String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncShopCategoryData/";
+                    String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncShopCategoryData/";
                     String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopCategory);
                     log.info("推送门店分类到同步服务器结果: {}", response);
                 }

+ 65 - 17
yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/HBGoodsService.java

@@ -4,18 +4,24 @@ import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alipay.api.domain.ProductBaseVO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.yami.shop.bean.dto.hb.HBBaseReq;
 import com.yami.shop.bean.model.*;
+import com.yami.shop.bean.vo.XSBProductVO;
+import com.yami.shop.bean.vo.XSBSkuVO;
 import com.yami.shop.common.util.hb.HBR;
 import com.yami.shop.dao.*;
 import com.yami.shop.service.hb.IHBGoodsService;
 import com.yami.shop.service.impl.FrontCategoryService;
 import com.yami.shop.utils.HBSignUtil;
+import com.yami.shop.utils.SmqjhUtil;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -48,6 +54,8 @@ public class HBGoodsService implements IHBGoodsService {
     private final CategoryProdHbMapper categoryProdHbMapper;
     private final CategoryProdMapper categoryProdMapper;
 
+    private final SmqjhUtil smqjhUtil;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HBR addHBGoods(JSONObject hbRequest) {
@@ -94,8 +102,16 @@ public class HBGoodsService implements IHBGoodsService {
                     }
 
                     try {
-                        String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncProductData";
-                        String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, productAdd);
+                        List<XSBProductVO> shopSkuList = new ArrayList<>();
+                        XSBProductVO xsbProductVO = new XSBProductVO();
+                        //复制sku.的值到xsbProductVO 字段一样
+                        BeanUtils.copyProperties(productAdd, xsbProductVO);
+                        xsbProductVO.setThirdSpuId(String.valueOf(productAdd.getProdId()));
+                        xsbProductVO.setBusinessType("XSB");
+                        shopSkuList.add(xsbProductVO);
+                        String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncProductData";
+                        log.info("推送url: {}",syncUrl);
+                        String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSkuList);
                         log.info("推送商品到同步服务器结果: {}", response);
                     } catch (Exception e) {
                         log.error("推送商品到同步服务器失败: {}", e.getMessage(), e);
@@ -120,9 +136,17 @@ public class HBGoodsService implements IHBGoodsService {
                     }
 
                     try {
-                        String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncSkuData";
+                        List<XSBSkuVO> shopSkuList = new ArrayList<>();
+                        XSBSkuVO xsbSkuVO = new XSBSkuVO();
+                        //复制sku.的值到xsbProductVO 字段一样
+                        BeanUtils.copyProperties(sku, xsbSkuVO);
+                        xsbSkuVO.setThirdSkuId(String.valueOf(sku.getProdId()));
+                        xsbSkuVO.setBusinessType("XSB");
+                        shopSkuList.add(xsbSkuVO);
+                        String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncSkuData";
+                        log.info("推送url: {}",syncUrl);
                         // 将frontCategory对象作为JSON放入请求体
-                        String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, sku);
+                        String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSkuList);
                         log.info("推送frontCategory到同步服务器结果: {}", response);
                     } catch (Exception e) {
                         log.error("推送frontCategory到同步服务器失败: {}", e.getMessage(), e);
@@ -157,9 +181,16 @@ public class HBGoodsService implements IHBGoodsService {
                         log.info("生成的商品ID: {}", productAdd.getProdId());
                     }
                     try {
-                        String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncProductData";
+                        List<XSBProductVO> shopSkuList = new ArrayList<>();
+                        XSBProductVO xsbProductVO = new XSBProductVO();
+                        //复制sku.的值到xsbProductVO 字段一样
+                        BeanUtils.copyProperties(productAdd, xsbProductVO);
+                        xsbProductVO.setThirdSpuId(String.valueOf(productAdd.getProdId()));
+                        xsbProductVO.setBusinessType("XSB");
+                        shopSkuList.add(xsbProductVO);
+                        String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncProductData";
                         // 将frontCategory对象作为JSON放入请求体
-                        String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, productAdd);
+                        String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSkuList);
                         log.info("推送frontCategory到同步服务器结果: {}", response);
                     } catch (Exception e) {
                         log.error("推送frontCategory到同步服务器失败: {}", e.getMessage(), e);
@@ -183,8 +214,16 @@ public class HBGoodsService implements IHBGoodsService {
                             skuMapper.insert(sku);
                         }
                         try {
-                            String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncSkuData";
-                            String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, sku);
+                            List<XSBSkuVO> shopSkuList = new ArrayList<>();
+                            XSBSkuVO xsbSkuVO = new XSBSkuVO();
+                            //复制sku.的值到xsbProductVO 字段一样
+                            BeanUtils.copyProperties(sku, xsbSkuVO);
+                            xsbSkuVO.setThirdSkuId(String.valueOf(sku.getProdId()));
+                            xsbSkuVO.setBusinessType("XSB");
+                            shopSkuList.add(xsbSkuVO);
+                            String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncSkuData";
+                            log.info("推送url: {}",syncUrl);
+                            String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSkuList);
                             log.info("推送商品到同步服务器结果: {}", response);
                         } catch (Exception e) {
                             log.error("推送商品到同步服务器失败: {}", e.getMessage(), e);
@@ -228,7 +267,8 @@ public class HBGoodsService implements IHBGoodsService {
                     ShopSku shopSku = shopSkuMapper.selectOne(new LambdaUpdateWrapper<ShopSku>()
                             .eq(ShopSku::getSkuId, sku.getSkuId())
                             .eq(ShopSku::getShopId, shopDetail.getShopId()));
-                    String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncShopSkuData";
+                    String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncShopSkuData";
+                    log.info("推送url: {}",syncUrl);
                     String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSku);
                     log.info("推送商品到同步服务器结果: {}", response);
                 } catch (Exception e) {
@@ -313,7 +353,8 @@ public class HBGoodsService implements IHBGoodsService {
             shopCategoryMapper.insert(shopCategory);
 
             try {
-                String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncShopCategoryData";
+                String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncShopCategoryData";
+                log.info("推送url: {}",syncUrl);
                 String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopCategory);
                 log.info("推送门店分类到同步服务器结果: {}", response);
             } catch (Exception e) {
@@ -357,7 +398,8 @@ public class HBGoodsService implements IHBGoodsService {
                 categoryProdMapper.insert(categoryProd);
 
                 try {
-                    String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncCategoryProdData";
+                    String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncCategoryProdData";
+                    log.info("推送url: {}",syncUrl);
                     // 将frontCategory对象作为JSON放入请求体
                     String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, categoryProd);
                     log.info("推送frontCategory到同步服务器结果: {}", response);
@@ -406,7 +448,8 @@ public class HBGoodsService implements IHBGoodsService {
                     shopSkuMapper.insert(shopSkuInfo);
                     log.info("门店对应商品系统不存在直接添加");
                     try {
-                        String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncShopSkuData";
+                        String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncShopSkuData";
+                        log.info("推送url: {}",syncUrl);
                         // 将frontCategory对象作为JSON放入请求体
                         String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSkuInfo);
                         log.info("推送frontCategory到同步服务器结果: {}", response);
@@ -420,7 +463,8 @@ public class HBGoodsService implements IHBGoodsService {
                     shopSkuMapper.updateById(shopSku);
                     log.info("价格更改成功");
                     try {
-                        String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncShopSkuData";
+                        String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncShopSkuData";
+                        log.info("推送url: {}",syncUrl);
                         // 将frontCategory对象作为JSON放入请求体
                         String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSku);
                         log.info("推送frontCategory到同步服务器结果: {}", response);
@@ -476,7 +520,8 @@ public class HBGoodsService implements IHBGoodsService {
                     shopSkuMapper.insert(shopSkuInfo);
                     log.info("库存添加成功");
                     try {
-                        String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncShopSkuData";
+                        String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncShopSkuData";
+                        log.info("推送url: {}",syncUrl);
                         // 将frontCategory对象作为JSON放入请求体
                         String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSkuInfo);
                         log.info("推送frontCategory到同步服务器结果: {}", response);
@@ -490,7 +535,8 @@ public class HBGoodsService implements IHBGoodsService {
                     shopSkuMapper.updateById(shopSku);
                     log.info("库存更改成功");
                     try {
-                        String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncShopSkuData";
+                        String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncShopSkuData";
+                        log.info("推送url: {}",syncUrl);
                         // 将frontCategory对象作为JSON放入请求体
                         String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, shopSku);
                         log.info("推送frontCategory到同步服务器结果: {}", response);
@@ -529,7 +575,8 @@ public class HBGoodsService implements IHBGoodsService {
                 product.setIsDelete(1);
                 productMapper.updateById(product);
                 try {
-                    String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncProductDel" + product.getHbSpuId();
+                    String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncProductDel" + product.getHbSpuId();
+                    log.info("推送url: {}",syncUrl);
                     // 将frontCategory对象作为JSON放入请求体
                     String response = com.yami.shop.common.util.HttpUtil.post(syncUrl, product);
                     log.info("推送frontCategory到同步服务器结果: {}", response);
@@ -761,7 +808,8 @@ public class HBGoodsService implements IHBGoodsService {
             categoryProdMapper.deleteByCodeAndProdId(categoryProdHb.getCode(), spuId);
 
             try {
-                String syncUrl = "http://192.168.1.101:8080/smqjh-pms/api/v1/sync/syncCategoryProdData";
+                String syncUrl = smqjhUtil.getSmqjhPmsUrl() + "/syncCategoryProdData";
+                log.info("推送url: {}",syncUrl);
                 // 将frontCategory对象作为JSON放入请求体
                 List<CategoryProd> categoryProds = categoryProdMapper.selectList(new LambdaQueryWrapper<CategoryProd>().eq(CategoryProd::getCode, categoryProdHb.getCode()));
                 for (CategoryProd categoryProd : categoryProds) {

+ 1 - 1
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java

@@ -863,7 +863,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void receiptOrder(List<Order> orders) {
-        orderMapper.cancelOrders(orders, "用户主动取消");
+        orderMapper.receiptOrder(orders);
         for (Order order : orders) {
             eventPublisher.publishEvent(new ReceiptOrderEvent(order));
         }

+ 26 - 0
yami-shop-service/src/main/java/com/yami/shop/utils/SmqjhUtil.java

@@ -0,0 +1,26 @@
+package com.yami.shop.utils;
+
+import com.yami.shop.bean.dto.hb.HBBaseReq;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+import static cn.hutool.crypto.SecureUtil.md5;
+
+
+/**
+ * 海博签名工具类
+ *
+ * @author mr wang
+ * @version 1.0.0
+ * @since 2025-08-29
+ */
+@Slf4j
+@Configuration
+public class SmqjhUtil {
+    @Getter
+    @Value("${smqjh.pms-url}")
+    private String smqjhPmsUrl;
+
+}