před 9 měsíci
rodič
revize
4502dad79a

+ 8 - 2
08.src/Xingxi/xingxi-admin/src/main/resources/application-local.yml

@@ -7,8 +7,6 @@ spring:
         username: developer01
         password: 123456
         virtual-host: dev
-        publisher-confirms: true
-
     datasource:
         type: com.alibaba.druid.pool.DruidDataSource
         driverClassName: com.mysql.cj.jdbc.Driver
@@ -71,3 +69,11 @@ spring:
 idworkcfg:
     workerId: "2"
     dataCenterId: "2"
+aliyun:
+    oss:
+        endPoint: oss-cn-shanghai.aliyuncs.com
+        accessKeyID: LTAI5tRgA62ZTMXFuRBRrTkz
+        accessKeySecret: m3zP8XD78dgkV5sMGhnuq7xObuMvuN
+        bucketName: empress
+        # 如果有自定义域名
+        customDomain: res.ysyd.cloud

+ 211 - 211
08.src/Xingxi/xingxi-common/src/main/java/com/xingxi/common/aliyun/oss/DefaultAliyunOSSClient.java

@@ -1,211 +1,211 @@
-//package com.xingxi.common.aliyun.oss;
-//
-//import com.aliyun.oss.OSS;
-//import com.aliyun.oss.internal.OSSConstants;
-//import com.aliyun.oss.model.CannedAccessControlList;
-//import com.aliyun.oss.model.OSSObject;
-//import com.aliyun.oss.model.PutObjectResult;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.beans.factory.annotation.Value;
-//import org.springframework.stereotype.Component;
-//
-//import javax.annotation.Resource;
-//import java.io.InputStream;
-//
-//@Slf4j
-//@Component
-//public class DefaultAliyunOSSClient implements AliyunOSSClient {
-//    @Resource
-//    private OSS ossClient;
-//
-//    @Value("${aliyun.oss.bucketName}")
-//    private String bucketName;
-//
-//    @Value("${aliyun.oss.customDomain}")
-//    private String customDomain;
-//
-//    /**
-//     * 桶子如果不存在就创建
-//     *
-//     * @param bucketName
-//     * @throws Exception
-//     */
-//    @Override
-//    public void createBucket(String bucketName) throws Exception {
-//        if (!ossClient.doesBucketExist(bucketName)) {
-//            ossClient.createBucket(bucketName);
-//        }
-//    }
-//
-//    /**
-//     * 上传文件到指定桶子,默认公共读取
-//     *
-//     * @param bucketName
-//     * @param objectName
-//     * @param inputStream
-//     * @return
-//     * @throws Exception
-//     */
-//    @Override
-//    public String putObject(String bucketName, String objectName, InputStream inputStream) throws Exception {
-//        return putObject(bucketName, objectName, inputStream, CannedAccessControlList.PublicRead);
-//    }
-//
-//    /**
-//     * 上传文件
-//     *
-//     * @param bucketName
-//     * @param objectName
-//     * @param inputStream
-//     * @param cannedAccessControlList
-//     * @return
-//     * @throws Exception
-//     */
-//    @Override
-//    public String putObject(String bucketName, String objectName, InputStream inputStream, CannedAccessControlList cannedAccessControlList) throws Exception {
-//
-//        log.info("OSS上传文件,bucketName={},objectName={},ObjectAcl={}", bucketName, objectName, cannedAccessControlList);
-//        // 创建桶子
-//        createBucket(bucketName);
-//
-//        PutObjectResult putObjectResult = null;
-//        try {
-//            // 上传文件
-//            putObjectResult = ossClient.putObject(bucketName, objectName, inputStream);
-//            // 设置文件Acl权限
-//            ossClient.setObjectAcl(bucketName, objectName, cannedAccessControlList);
-//        } finally {
-//
-//            if (putObjectResult != null && putObjectResult.getResponse() != null) {
-//                putObjectResult.getResponse().close();
-//            }
-//
-//            if (inputStream != null) {
-//                inputStream.close();
-//            }
-//        }
-//
-//        // 构建返回url
-//        String url = OSSConstants.PROTOCOL_HTTPS + bucketName + "." + getProfile().getEndPoint() + "/" + objectName;
-//        // 如果自定义域名
-//        if (getProfile().getCustomDomain() != null) {
-//            // 转换自定义域名
-//            url = OSSConstants.PROTOCOL_HTTPS + getProfile().getCustomDomain() + "/" + objectName;
-//        }
-//
-//        log.info("URL=[{}]", url);
-//        // 返回
-//        return url;
-//
-//    }
-//
-//    /**
-//     * 上传文件到默认桶子
-//     *
-//     * @param objectName
-//     * @param inputStream
-//     * @return
-//     * @throws Exception
-//     */
-//    @Override
-//    public String putObject(String objectName, InputStream inputStream) throws Exception {
-//        return putObject(getProfile().getBucketName(), objectName, inputStream);
-//    }
-//
-//
-//    /**
-//     * 默认上传default bucket
-//     *
-//     * @param objectName
-//     * @param inputStream
-//     * @param cannedAccessControlList
-//     * @return
-//     * @throws Exception
-//     */
-//    @Override
-//    public String putObject(String objectName, InputStream inputStream, CannedAccessControlList cannedAccessControlList) throws Exception {
-//        return putObject(getProfile().getBucketName(), objectName, inputStream, cannedAccessControlList);
-//    }
-//
-//    /**
-//     * 取得指定桶子中的文件
-//     *
-//     * @param bucketName
-//     * @param objectName
-//     * @return
-//     */
-//    @Override
-//    public OSSObject getObject(String bucketName, String objectName) {
-//        log.info("获取oss文件,bucketName={},objectName={}", bucketName, objectName);
-//        if (ossClient.doesObjectExist(bucketName, objectName)) {
-//            return ossClient.getObject(bucketName, objectName);
-//        }
-//        return null;
-//    }
-//
-//    @Override
-//    public boolean doesObjectExist(String objectName) throws Exception {
-//        return ossClient.doesObjectExist(bucketName, objectName);
-//    }
-//
-//    /**
-//     * 取得默认桶子中的文件
-//     *
-//     * @param objectName
-//     * @return
-//     * @throws Exception
-//     */
-//    @Override
-//    public OSSObject getObject(String objectName) throws Exception {
-//        return getObject(getProfile().getBucketName(), objectName);
-//    }
-//
-//    /**
-//     * 删除指定桶子中的文件
-//     *
-//     * @param bucketName
-//     * @param objectName
-//     * @throws Exception
-//     */
-//    @Override
-//    public void removeObject(String bucketName, String objectName) throws Exception {
-//        if (ossClient.doesObjectExist(bucketName, objectName)) {
-//            ossClient.deleteObject(bucketName, objectName);
-//        }
-//    }
-//
-//    /**
-//     * 取得配置文件信息
-//     *
-//     * @return
-//     */
-//    @Override
-//    public AliyunOSSProfile getProfile() {
-//        return new AliyunOSSProfile() {
-//            @Override
-//            public String getEndPoint() {
-//                return null;
-//            }
-//
-//            @Override
-//            public String getAccessKeyID() {
-//                return null;
-//            }
-//
-//            @Override
-//            public String getAccessKeySecret() {
-//                return null;
-//            }
-//
-//            @Override
-//            public String getBucketName() {
-//                return bucketName;
-//            }
-//
-//            @Override
-//            public String getCustomDomain() {
-//                return customDomain;
-//            }
-//        };
-//    }
-//}
+package com.xingxi.common.aliyun.oss;
+
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.internal.OSSConstants;
+import com.aliyun.oss.model.CannedAccessControlList;
+import com.aliyun.oss.model.OSSObject;
+import com.aliyun.oss.model.PutObjectResult;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.io.InputStream;
+
+@Slf4j
+@Component
+public class DefaultAliyunOSSClient implements AliyunOSSClient {
+    @Resource
+    private OSS ossClient;
+
+    @Value("${aliyun.oss.bucketName}")
+    private String bucketName;
+
+    @Value("${aliyun.oss.customDomain}")
+    private String customDomain;
+
+    /**
+     * 桶子如果不存在就创建
+     *
+     * @param bucketName
+     * @throws Exception
+     */
+    @Override
+    public void createBucket(String bucketName) throws Exception {
+        if (!ossClient.doesBucketExist(bucketName)) {
+            ossClient.createBucket(bucketName);
+        }
+    }
+
+    /**
+     * 上传文件到指定桶子,默认公共读取
+     *
+     * @param bucketName
+     * @param objectName
+     * @param inputStream
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String putObject(String bucketName, String objectName, InputStream inputStream) throws Exception {
+        return putObject(bucketName, objectName, inputStream, CannedAccessControlList.PublicRead);
+    }
+
+    /**
+     * 上传文件
+     *
+     * @param bucketName
+     * @param objectName
+     * @param inputStream
+     * @param cannedAccessControlList
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String putObject(String bucketName, String objectName, InputStream inputStream, CannedAccessControlList cannedAccessControlList) throws Exception {
+
+        log.info("OSS上传文件,bucketName={},objectName={},ObjectAcl={}", bucketName, objectName, cannedAccessControlList);
+        // 创建桶子
+        createBucket(bucketName);
+
+        PutObjectResult putObjectResult = null;
+        try {
+            // 上传文件
+            putObjectResult = ossClient.putObject(bucketName, objectName, inputStream);
+            // 设置文件Acl权限
+            ossClient.setObjectAcl(bucketName, objectName, cannedAccessControlList);
+        } finally {
+
+            if (putObjectResult != null && putObjectResult.getResponse() != null) {
+                putObjectResult.getResponse().close();
+            }
+
+            if (inputStream != null) {
+                inputStream.close();
+            }
+        }
+
+        // 构建返回url
+        String url = OSSConstants.PROTOCOL_HTTPS + bucketName + "." + getProfile().getEndPoint() + "/" + objectName;
+        // 如果自定义域名
+        if (getProfile().getCustomDomain() != null) {
+            // 转换自定义域名
+            url = OSSConstants.PROTOCOL_HTTPS + getProfile().getCustomDomain() + "/" + objectName;
+        }
+
+        log.info("URL=[{}]", url);
+        // 返回
+        return url;
+
+    }
+
+    /**
+     * 上传文件到默认桶子
+     *
+     * @param objectName
+     * @param inputStream
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String putObject(String objectName, InputStream inputStream) throws Exception {
+        return putObject(getProfile().getBucketName(), objectName, inputStream);
+    }
+
+
+    /**
+     * 默认上传default bucket
+     *
+     * @param objectName
+     * @param inputStream
+     * @param cannedAccessControlList
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String putObject(String objectName, InputStream inputStream, CannedAccessControlList cannedAccessControlList) throws Exception {
+        return putObject(getProfile().getBucketName(), objectName, inputStream, cannedAccessControlList);
+    }
+
+    /**
+     * 取得指定桶子中的文件
+     *
+     * @param bucketName
+     * @param objectName
+     * @return
+     */
+    @Override
+    public OSSObject getObject(String bucketName, String objectName) {
+        log.info("获取oss文件,bucketName={},objectName={}", bucketName, objectName);
+        if (ossClient.doesObjectExist(bucketName, objectName)) {
+            return ossClient.getObject(bucketName, objectName);
+        }
+        return null;
+    }
+
+    @Override
+    public boolean doesObjectExist(String objectName) throws Exception {
+        return ossClient.doesObjectExist(bucketName, objectName);
+    }
+
+    /**
+     * 取得默认桶子中的文件
+     *
+     * @param objectName
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public OSSObject getObject(String objectName) throws Exception {
+        return getObject(getProfile().getBucketName(), objectName);
+    }
+
+    /**
+     * 删除指定桶子中的文件
+     *
+     * @param bucketName
+     * @param objectName
+     * @throws Exception
+     */
+    @Override
+    public void removeObject(String bucketName, String objectName) throws Exception {
+        if (ossClient.doesObjectExist(bucketName, objectName)) {
+            ossClient.deleteObject(bucketName, objectName);
+        }
+    }
+
+    /**
+     * 取得配置文件信息
+     *
+     * @return
+     */
+    @Override
+    public AliyunOSSProfile getProfile() {
+        return new AliyunOSSProfile() {
+            @Override
+            public String getEndPoint() {
+                return null;
+            }
+
+            @Override
+            public String getAccessKeyID() {
+                return null;
+            }
+
+            @Override
+            public String getAccessKeySecret() {
+                return null;
+            }
+
+            @Override
+            public String getBucketName() {
+                return bucketName;
+            }
+
+            @Override
+            public String getCustomDomain() {
+                return customDomain;
+            }
+        };
+    }
+}

+ 133 - 0
08.src/Xingxi/xingxi-mq-server/src/main/java/com/xingxi/mq/entity/OrderDetail.java

@@ -0,0 +1,133 @@
+package com.xingxi.mq.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.xingxi.common.annotation.Excel;
+import com.xingxi.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 订单明细对象 t_order_detail
+ *
+ * @author xingxi
+ * @date 2025-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString
+public class OrderDetail extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    // 订单明细ID
+    private Long orderDetailId;
+
+    // 订单ID
+    @Excel(name = "订单ID")
+    private Long orderId;
+
+    // 套组ID
+    @Excel(name = "套组ID")
+    private String suiteId;
+
+    // 商品ID
+    @Excel(name = "商品ID")
+    private Long prodId;
+
+    // 商品名
+    @Excel(name = "商品名")
+    private String prodName;
+
+    // 属性组合编号
+    @Excel(name = "属性组合编号")
+    private Long pprId;
+
+    // 属性组合名称
+    @Excel(name = "属性组合名称")
+    private String pprName;
+
+    // 用户设计编号
+    @Excel(name = "用户设计编号")
+    private String upId;
+
+    // 元商品ID
+    @Excel(name = "元商品ID")
+    private Long orgProdId;
+
+    // 商品区分
+    @Excel(name = "商品区分")
+    private String prodType;
+
+    // 素材ID
+    @Excel(name = "素材ID")
+    private Long mateId;
+
+    // 素材名称
+    @Excel(name = "素材名称")
+    private String mateName;
+
+    // 素材区分
+    @Excel(name = "素材区分")
+    private String mateType;
+
+    // 平台经销标志 0:供应商直销,1:平台经销
+    @Excel(name = "平台经销标志")
+    private String pfSellFlag;
+
+    // 平台服务费率(供应商)
+    @Excel(name = "平台服务费率(供应商)")
+    private BigDecimal vendorServiceRate;
+
+    // 供应商ID
+    @Excel(name = "供应商ID")
+    private Long vendorId;
+
+    // 设计面数量
+    @Excel(name = "设计面数量")
+    private Integer surfaceQty;
+
+    // 单位数量
+    @Excel(name = "单位数量")
+    private Integer unitQty;
+
+    // 购买数量
+    @Excel(name = "购买数量")
+    private Integer buyQty;
+
+    // 售后中数量
+    @Excel(name = "售后中数量")
+    private Integer afterQty;
+
+    // 已退货数量
+    @Excel(name = "已退货数量")
+    private Integer returnQty;
+
+    // 购买单价
+    @Excel(name = "购买单价")
+    private BigDecimal buyPrice;
+
+    // 销方结算价
+    @Excel(name = "销方结算价")
+    private BigDecimal salePrice;
+
+    // 确认收货时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "确认收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date confirmTime;
+
+    // 完成时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date finishTime;
+
+    // 订单明细状态
+    @Excel(name = "订单明细状态")
+    private String orderDetailStatus;
+
+    // 删除标志(0代表存在 2代表删除)
+    @Excel(name = "删除标志", readConverterExp = "0=代表存在,2=代表删除")
+    private String delFlag;
+}

+ 0 - 21
08.src/Xingxi/xingxi-mq-server/src/main/java/com/xingxi/mq/server/order/mapper/ClearOrderDetailVoMapper.java

@@ -1,21 +0,0 @@
-package com.xingxi.mq.server.order.mapper;
-
-import com.xingxi.business.domain.ClearOrderDetail;
-import org.springframework.stereotype.Repository;
-
-/**
- * 清算订单详细信息Mapper接口
- *
- * @author xingxi
- * @date 2025-02-11
- */
-@Repository
-public interface ClearOrderDetailVoMapper {
-    /**
-     * 更新退货数量
-     *
-     * @param clearOrderDetail 清算订单详细信息
-     * @return 清算订单详细信息Vo集合
-     */
-    int updateReturnQty(ClearOrderDetail clearOrderDetail);
-}

+ 0 - 22
08.src/Xingxi/xingxi-mq-server/src/main/java/com/xingxi/mq/server/order/mapper/ClearOrderVoMapper.java

@@ -1,22 +0,0 @@
-package com.xingxi.mq.server.order.mapper;
-
-import com.xingxi.business.domain.ClearOrder;
-import org.springframework.stereotype.Repository;
-
-/**
- * 清算订单信息Mapper接口
- *
- * @author biandan
- * @date 2025-02-1
- */
-@Repository
-public interface ClearOrderVoMapper {
-
-    /**
-     * 修改清算订单信息
-     *
-     * @param clearOrder 清算订单信息
-     * @return 结果
-     */
-    int syncOrderStatusByOrderId(ClearOrder clearOrder);
-}

+ 0 - 19
08.src/Xingxi/xingxi-mq-server/src/main/java/com/xingxi/mq/server/order/service/IClearOrderDetailVoService.java

@@ -1,19 +0,0 @@
-package com.xingxi.mq.server.order.service;
-
-import com.xingxi.business.domain.ClearOrderDetail;
-
-/**
- * 清算订单详细信息VoService接口
- *
- * @author xingxi
- * @date 2024-02-11
- */
-public interface IClearOrderDetailVoService {
-    /**
-     * 更新退货数量
-     *
-     * @param clearOrderDetail 清算订单详细信息
-     * @return 清算订单详细信息Vo集合
-     */
-    int updateReturnQty(ClearOrderDetail clearOrderDetail);
-}

+ 0 - 19
08.src/Xingxi/xingxi-mq-server/src/main/java/com/xingxi/mq/server/order/service/IClearOrderVoService.java

@@ -1,19 +0,0 @@
-package com.xingxi.mq.server.order.service;
-
-import com.xingxi.business.domain.ClearOrder;
-
-/**
- * 清算订单信息VoService接口
- *
- * @author biandan
- * @date 2025-02-11
- */
-public interface IClearOrderVoService {
-    /**
-     * 修改清算订单信息
-     *
-     * @param clearOrder 清算订单信息
-     * @return 结果
-     */
-    int syncOrderStatusByOrderId(ClearOrder clearOrder);
-}

+ 1 - 1
08.src/Xingxi/xingxi-mq-server/src/main/java/com/xingxi/mq/server/order/service/IOrderDetailVoService.java

@@ -1,6 +1,6 @@
 package com.xingxi.mq.server.order.service;
 
-import com.xingxi.business.domain.OrderDetail;
+import com.xingxi.mq.entity.OrderDetail;
 
 /**
  * 订单明细VoService接口

+ 0 - 29
08.src/Xingxi/xingxi-mq-server/src/main/java/com/xingxi/mq/server/order/service/impl/ClearOrderDetailVoServiceImpl.java

@@ -1,29 +0,0 @@
-package com.xingxi.mq.server.order.service.impl;
-
-import com.xingxi.mq.server.order.mapper.ClearOrderDetailVoMapper;
-import com.xingxi.mq.server.order.service.IClearOrderDetailVoService;
-import com.xingxi.business.domain.ClearOrderDetail;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * 清算订单详细信息Service业务层处理
- *
- * @author xingxi
- * @date 2025-02-11
- */
-@Service
-public class ClearOrderDetailVoServiceImpl implements IClearOrderDetailVoService {
-    @Autowired
-    private ClearOrderDetailVoMapper clearOrderDetailVoMapper;
-
-    /**
-     * 更新退货数量
-     *
-     * @param clearOrderDetail 清算订单详细信息
-     * @return 清算订单详细信息Vo集合
-     */
-    public int updateReturnQty(ClearOrderDetail clearOrderDetail) {
-        return clearOrderDetailVoMapper.updateReturnQty(clearOrderDetail);
-    }
-}

+ 0 - 30
08.src/Xingxi/xingxi-mq-server/src/main/java/com/xingxi/mq/server/order/service/impl/ClearOrderVoServiceImpl.java

@@ -1,30 +0,0 @@
-package com.xingxi.mq.server.order.service.impl;
-
-import com.xingxi.mq.server.order.mapper.ClearOrderVoMapper;
-import com.xingxi.mq.server.order.service.IClearOrderVoService;
-import com.xingxi.business.domain.ClearOrder;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * 清算订单信息Service业务层处理
- *
- * @author xingxi
- * @date 2025-02-11
- */
-@Service
-public class ClearOrderVoServiceImpl implements IClearOrderVoService {
-    @Autowired
-    private ClearOrderVoMapper clearOrderVoMapper;
-
-    /**
-     * 修改清算订单信息
-     *
-     * @param clearOrder 清算订单信息
-     * @return 结果
-     */
-    @Override
-    public int syncOrderStatusByOrderId(ClearOrder clearOrder) {
-        return clearOrderVoMapper.syncOrderStatusByOrderId(clearOrder);
-    }
-}