diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvSettlementProveDetailDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvSettlementProveDetailDao.java
new file mode 100644
index 0000000..3071220
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvSettlementProveDetailDao.java
@@ -0,0 +1,36 @@
+package com.heyu.api.data.dao.vv;
+/**
+*
+* 结算证明 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-26
+*/
+import com.heyu.api.data.entity.vv.VvSettlementProveDetailEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+@Mapper
+public interface VvSettlementProveDetailDao extends BaseMapper {
+
+
+ VvSettlementProveDetailEntity selectVvSettlementProveDetailById(@Param("id")Long id);
+
+
+ Long insertVvSettlementProveDetail(VvSettlementProveDetailEntity vvSettlementProveDetail);
+
+
+ Long insertOrUpdateVvSettlementProveDetail(VvSettlementProveDetailEntity vvSettlementProveDetail);
+
+
+ int updateVvSettlementProveDetailById(VvSettlementProveDetailEntity vvSettlementProveDetail);
+
+
+ int updateCoverVvSettlementProveDetailById(VvSettlementProveDetailEntity vvSettlementProveDetail);
+
+
+ int deleteVvSettlementProveDetailById(@Param("id")Long id);
+
+
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java
index 87c6d6a..3c38a7a 100644
--- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java
+++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java
@@ -7,8 +7,9 @@ package com.heyu.api.data.dao.vv;
* @author quyixiao
* @since 2025-08-23
*/
-import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
+
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.lz.mybatis.plugin.annotations.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -58,15 +59,18 @@ public interface VvTradeOrderLineDao extends BaseMapper
List selectVvTradeOrderLineByTradeOrderId(Long tradeOrderId);
-
-
-
List selectVvTradeOrderLineByTradeOrderIdNEStatus(Long tradeOrderId,
@IF @NE String status);
+ List selectVvTradeOrderLineByTradeOrderIdNEStatusList(Long tradeOrderId,
+ @IF @NE List status);
List selectVvTradeOrderLineByTradeOrderIdStatus(Long tradeOrderId,
@IF String status);
+
+ List selectVvTradeOrderLineByTradeOrderIdStatusAndReverseStatus(Long tradeOrderId,
+ @LBracket String status,
+ @RBracket @IN List reverseStatus);
}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSettlementProveDetailEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSettlementProveDetailEntity.java
new file mode 100644
index 0000000..ab7da63
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSettlementProveDetailEntity.java
@@ -0,0 +1,163 @@
+package com.heyu.api.data.entity.vv;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.lz.mybatis.plugin.annotations.AS;
+
+import java.math.BigDecimal;
+import java.util.Date;import java.util.Date;
+/**
+*结算证明
+* @author quyixiao
+* @since 2025-08-26
+*/
+
+@Data
+@TableName("vv_settlement_prove_detail")
+public class VvSettlementProveDetailEntity implements java.io.Serializable {
+private static final long serialVersionUID = 1L;
+
+ public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvSettlementProveDetailEntity:";
+
+ public final static String all = CLASS_NAME + "*";
+ public final static String id_ = CLASS_NAME + "id"; //
+ public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
+ public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
+ public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
+ public final static String type_ = CLASS_NAME + "type"; // image or video
+ public final static String resource_url = CLASS_NAME + "resource_url"; // url
+ public final static String settlement_prove_id = CLASS_NAME + "settlement_prove_id"; // 结算id
+ //
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+ //是否删除:0 否 1 删除
+ private Integer isDelete;
+ //创建时间
+ private Date createTime;
+ //修改时间
+ private Date modifyTime;
+ //image or video
+ private String type;
+ //url
+ private String resourceUrl;
+ //结算id
+ private Long settlementProveId;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 是否删除:0 否 1 删除
+ * @return
+ */
+ public Integer getIsDelete() {
+ return isDelete;
+ }
+ /**
+ * 是否删除:0 否 1 删除
+ * @param isDelete
+ */
+ public void setIsDelete(Integer isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ /**
+ * 创建时间
+ * @return
+ */
+ public Date getCreateTime() {
+ return createTime;
+ }
+ /**
+ * 创建时间
+ * @param createTime
+ */
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ /**
+ * 修改时间
+ * @return
+ */
+ public Date getModifyTime() {
+ return modifyTime;
+ }
+ /**
+ * 修改时间
+ * @param modifyTime
+ */
+ public void setModifyTime(Date modifyTime) {
+ this.modifyTime = modifyTime;
+ }
+
+ /**
+ * image or video
+ * @return
+ */
+ public String getType() {
+ return type;
+ }
+ /**
+ * image or video
+ * @param type
+ */
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /**
+ * url
+ * @return
+ */
+ public String getResourceUrl() {
+ return resourceUrl;
+ }
+ /**
+ * url
+ * @param resourceUrl
+ */
+ public void setResourceUrl(String resourceUrl) {
+ this.resourceUrl = resourceUrl;
+ }
+
+ /**
+ * 结算id
+ * @return
+ */
+ public Long getSettlementProveId() {
+ return settlementProveId;
+ }
+ /**
+ * 结算id
+ * @param settlementProveId
+ */
+ public void setSettlementProveId(Long settlementProveId) {
+ this.settlementProveId = settlementProveId;
+ }
+
+ @Override
+ public String toString() {
+ return "VvSettlementProveDetailEntity{" +
+ ",id=" + id +
+ ",isDelete=" + isDelete +
+ ",createTime=" + createTime +
+ ",modifyTime=" + modifyTime +
+ ",type=" + type +
+ ",resourceUrl=" + resourceUrl +
+ ",settlementProveId=" + settlementProveId +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSettlementProveEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSettlementProveEntity.java
index 0e3a2a6..3565821 100644
--- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSettlementProveEntity.java
+++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSettlementProveEntity.java
@@ -21,12 +21,11 @@ private static final long serialVersionUID = 1L;
public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvSettlementProveEntity:";
public final static String all = CLASS_NAME + "*";
- public final static String id_ = CLASS_NAME + "id"; //
- public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
- public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
- public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
- public final static String type_ = CLASS_NAME + "type"; // image or video
- public final static String resource_url = CLASS_NAME + "resource_url"; // url
+ public final static String id_ = CLASS_NAME + "id"; //
+ public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
+ public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
+ public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
+ public final static String login_user = CLASS_NAME + "login_user"; // 谁结算的
//
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@@ -36,10 +35,8 @@ private static final long serialVersionUID = 1L;
private Date createTime;
//修改时间
private Date modifyTime;
- //image or video
- private String type;
- //url
- private String resourceUrl;
+ //谁结算的
+ private String loginUser;
/**
*
* @return
@@ -101,33 +98,18 @@ private static final long serialVersionUID = 1L;
}
/**
- * image or video
+ * 谁结算的
* @return
*/
- public String getType() {
- return type;
+ public String getLoginUser() {
+ return loginUser;
}
/**
- * image or video
- * @param type
+ * 谁结算的
+ * @param loginUser
*/
- public void setType(String type) {
- this.type = type;
- }
-
- /**
- * url
- * @return
- */
- public String getResourceUrl() {
- return resourceUrl;
- }
- /**
- * url
- * @param resourceUrl
- */
- public void setResourceUrl(String resourceUrl) {
- this.resourceUrl = resourceUrl;
+ public void setLoginUser(String loginUser) {
+ this.loginUser = loginUser;
}
@Override
@@ -137,8 +119,7 @@ private static final long serialVersionUID = 1L;
",isDelete=" + isDelete +
",createTime=" + createTime +
",modifyTime=" + modifyTime +
- ",type=" + type +
- ",resourceUrl=" + resourceUrl +
+ ",loginUser=" + loginUser +
"}";
}
}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSkuEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSkuEntity.java
index c2e7285..f8f36a1 100644
--- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSkuEntity.java
+++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvSkuEntity.java
@@ -10,7 +10,7 @@ import java.util.Date;import java.util.Date;
/**
*sku详描
* @author quyixiao
-* @since 2025-08-25
+* @since 2025-08-26
*/
@Data
@@ -32,6 +32,7 @@ private static final long serialVersionUID = 1L;
public final static String stock_ = CLASS_NAME + "stock"; // 库存
public final static String real_sale_count = CLASS_NAME + "real_sale_count"; // 真实销售数量
public final static String show_sale_count = CLASS_NAME + "show_sale_count"; // 展示销售数量
+ public final static String promotion_price = CLASS_NAME + "promotion_price"; // 促销价格
//
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@@ -55,6 +56,8 @@ private static final long serialVersionUID = 1L;
private Integer realSaleCount;
//展示销售数量
private Integer showSaleCount;
+ //促销价格
+ private BigDecimal promotionPrice;
/**
*
* @return
@@ -220,6 +223,21 @@ private static final long serialVersionUID = 1L;
this.showSaleCount = showSaleCount;
}
+ /**
+ * 促销价格
+ * @return
+ */
+ public BigDecimal getPromotionPrice() {
+ return promotionPrice;
+ }
+ /**
+ * 促销价格
+ * @param promotionPrice
+ */
+ public void setPromotionPrice(BigDecimal promotionPrice) {
+ this.promotionPrice = promotionPrice;
+ }
+
@Override
public String toString() {
return "VvSkuEntity{" +
@@ -234,6 +252,7 @@ private static final long serialVersionUID = 1L;
",stock=" + stock +
",realSaleCount=" + realSaleCount +
",showSaleCount=" + showSaleCount +
+ ",promotionPrice=" + promotionPrice +
"}";
}
}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderEntity.java
index fc3074f..973696a 100644
--- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderEntity.java
+++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderEntity.java
@@ -31,7 +31,7 @@ private static final long serialVersionUID = 1L;
public final static String buyer_weixin = CLASS_NAME + "buyer_weixin"; // 买家微信
public final static String buyer_address = CLASS_NAME + "buyer_address"; // 买家收货地址
public final static String all_price = CLASS_NAME + "all_price"; // 总价
- public final static String status_ = CLASS_NAME + "status"; // wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款
+ public final static String status_ = CLASS_NAME + "status"; // wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered
public final static String refund_amount = CLASS_NAME + "refund_amount"; // 退款金额
public final static String refund_count = CLASS_NAME + "refund_count"; // 退货数量
public final static String buyer_id = CLASS_NAME + "buyer_id"; // 买家id
@@ -44,6 +44,9 @@ private static final long serialVersionUID = 1L;
public final static String buyer_detail_address = CLASS_NAME + "buyer_detail_address"; // 买家详细地址
public final static String gmt_down_order = CLASS_NAME + "gmt_down_order"; // 下单时间
public final static String gmt_pay = CLASS_NAME + "gmt_pay"; // 支付时间
+ public final static String reverse_status = CLASS_NAME + "reverse_status"; // all_refund:全部退款,part_refund,部分退款
+ public final static String settle_status = CLASS_NAME + "settle_status"; // 0 未结清,1 已经结清
+ public final static String profit_amount = CLASS_NAME + "profit_amount"; // 最终这笔单子的获利益
//
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@@ -65,7 +68,7 @@ private static final long serialVersionUID = 1L;
private String buyerAddress;
//总价
private BigDecimal allPrice;
- //wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款
+ //wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered
private String status;
//退款金额
private BigDecimal refundAmount;
@@ -91,6 +94,12 @@ private static final long serialVersionUID = 1L;
private Date gmtDownOrder;
//支付时间
private Date gmtPay;
+ //all_refund:全部退款,part_refund,部分退款
+ private String reverseStatus;
+ //0 未结清,1 已经结清
+ private Integer settleStatus;
+ //最终这笔单子的获利益
+ private BigDecimal profitAmount;
/**
*
* @return
@@ -242,14 +251,14 @@ private static final long serialVersionUID = 1L;
}
/**
- * wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款
+ * wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered
* @return
*/
public String getStatus() {
return status;
}
/**
- * wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款
+ * wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered
* @param status
*/
public void setStatus(String status) {
@@ -436,6 +445,51 @@ private static final long serialVersionUID = 1L;
this.gmtPay = gmtPay;
}
+ /**
+ * all_refund:全部退款,part_refund,部分退款
+ * @return
+ */
+ public String getReverseStatus() {
+ return reverseStatus;
+ }
+ /**
+ * all_refund:全部退款,part_refund,部分退款
+ * @param reverseStatus
+ */
+ public void setReverseStatus(String reverseStatus) {
+ this.reverseStatus = reverseStatus;
+ }
+
+ /**
+ * 0 未结清,1 已经结清
+ * @return
+ */
+ public Integer getSettleStatus() {
+ return settleStatus;
+ }
+ /**
+ * 0 未结清,1 已经结清
+ * @param settleStatus
+ */
+ public void setSettleStatus(Integer settleStatus) {
+ this.settleStatus = settleStatus;
+ }
+
+ /**
+ * 最终这笔单子的获利益
+ * @return
+ */
+ public BigDecimal getProfitAmount() {
+ return profitAmount;
+ }
+ /**
+ * 最终这笔单子的获利益
+ * @param profitAmount
+ */
+ public void setProfitAmount(BigDecimal profitAmount) {
+ this.profitAmount = profitAmount;
+ }
+
@Override
public String toString() {
return "VvTradeOrderEntity{" +
@@ -462,6 +516,9 @@ private static final long serialVersionUID = 1L;
",buyerDetailAddress=" + buyerDetailAddress +
",gmtDownOrder=" + gmtDownOrder +
",gmtPay=" + gmtPay +
+ ",reverseStatus=" + reverseStatus +
+ ",settleStatus=" + settleStatus +
+ ",profitAmount=" + profitAmount +
"}";
}
}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java
index 42c77aa..6d79aaf 100644
--- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java
+++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java
@@ -25,9 +25,8 @@ private static final long serialVersionUID = 1L;
public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
- public final static String single_price = CLASS_NAME + "single_price"; // 单价
+ public final static String sale_price = CLASS_NAME + "sale_price"; // 单价
public final static String num_ = CLASS_NAME + "num"; // 数量
- public final static String all_price = CLASS_NAME + "all_price"; // 总价
public final static String status_ = CLASS_NAME + "status"; // wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款
public final static String trade_order_id = CLASS_NAME + "trade_order_id"; // 订单号
public final static String refund_amount = CLASS_NAME + "refund_amount"; // 退款金额
@@ -48,7 +47,9 @@ private static final long serialVersionUID = 1L;
public final static String settle_status = CLASS_NAME + "settle_status"; // 0 未结算
public final static String gmt_settle = CLASS_NAME + "gmt_settle"; // 结算时间
public final static String seller_id = CLASS_NAME + "seller_id"; // 卖家id
- public final static String reverse_status = CLASS_NAME + "reverse_status"; // 逆向状态
+ public final static String reverse_status = CLASS_NAME + "reverse_status"; // 逆向状态。
+ public final static String profit_amount = CLASS_NAME + "profit_amount"; // 这笔子单获得利益
+ public final static String origin_price = CLASS_NAME + "origin_price"; // 原来价格
//
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@@ -59,11 +60,9 @@ private static final long serialVersionUID = 1L;
//修改时间
private Date modifyTime;
//单价
- private BigDecimal singlePrice;
+ private BigDecimal salePrice;
//数量
private Integer num;
- //总价
- private BigDecimal allPrice;
//wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款
private String status;
//订单号
@@ -104,8 +103,12 @@ private static final long serialVersionUID = 1L;
private Date gmtSettle;
//卖家id
private Long sellerId;
- //逆向状态
+ //逆向状态。
private String reverseStatus;
+ //这笔子单获得利益
+ private BigDecimal profitAmount;
+ //原来价格
+ private BigDecimal originPrice;
/**
*
* @return
@@ -170,15 +173,15 @@ private static final long serialVersionUID = 1L;
* 单价
* @return
*/
- public BigDecimal getSinglePrice() {
- return singlePrice;
+ public BigDecimal getSalePrice() {
+ return salePrice;
}
/**
* 单价
- * @param singlePrice
+ * @param salePrice
*/
- public void setSinglePrice(BigDecimal singlePrice) {
- this.singlePrice = singlePrice;
+ public void setSalePrice(BigDecimal salePrice) {
+ this.salePrice = salePrice;
}
/**
@@ -196,21 +199,6 @@ private static final long serialVersionUID = 1L;
this.num = num;
}
- /**
- * 总价
- * @return
- */
- public BigDecimal getAllPrice() {
- return allPrice;
- }
- /**
- * 总价
- * @param allPrice
- */
- public void setAllPrice(BigDecimal allPrice) {
- this.allPrice = allPrice;
- }
-
/**
* wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款
* @return
@@ -512,20 +500,50 @@ private static final long serialVersionUID = 1L;
}
/**
- * 逆向状态
+ * 逆向状态。
* @return
*/
public String getReverseStatus() {
return reverseStatus;
}
/**
- * 逆向状态
+ * 逆向状态。
* @param reverseStatus
*/
public void setReverseStatus(String reverseStatus) {
this.reverseStatus = reverseStatus;
}
+ /**
+ * 这笔子单获得利益
+ * @return
+ */
+ public BigDecimal getProfitAmount() {
+ return profitAmount;
+ }
+ /**
+ * 这笔子单获得利益
+ * @param profitAmount
+ */
+ public void setProfitAmount(BigDecimal profitAmount) {
+ this.profitAmount = profitAmount;
+ }
+
+ /**
+ * 原来价格
+ * @return
+ */
+ public BigDecimal getOriginPrice() {
+ return originPrice;
+ }
+ /**
+ * 原来价格
+ * @param originPrice
+ */
+ public void setOriginPrice(BigDecimal originPrice) {
+ this.originPrice = originPrice;
+ }
+
@Override
public String toString() {
return "VvTradeOrderLineEntity{" +
@@ -533,9 +551,8 @@ private static final long serialVersionUID = 1L;
",isDelete=" + isDelete +
",createTime=" + createTime +
",modifyTime=" + modifyTime +
- ",singlePrice=" + singlePrice +
+ ",salePrice=" + salePrice +
",num=" + num +
- ",allPrice=" + allPrice +
",status=" + status +
",tradeOrderId=" + tradeOrderId +
",refundAmount=" + refundAmount +
@@ -557,6 +574,8 @@ private static final long serialVersionUID = 1L;
",gmtSettle=" + gmtSettle +
",sellerId=" + sellerId +
",reverseStatus=" + reverseStatus +
+ ",profitAmount=" + profitAmount +
+ ",originPrice=" + originPrice +
"}";
}
}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineSettlementProveEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineSettlementProveEntity.java
index d812640..7b456a6 100644
--- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineSettlementProveEntity.java
+++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineSettlementProveEntity.java
@@ -21,10 +21,12 @@ private static final long serialVersionUID = 1L;
public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvTradeOrderLineSettlementProveEntity:";
public final static String all = CLASS_NAME + "*";
- public final static String id_ = CLASS_NAME + "id"; //
- public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
- public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
- public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
+ public final static String id_ = CLASS_NAME + "id"; //
+ public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
+ public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
+ public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
+ public final static String trade_order_line_id = CLASS_NAME + "trade_order_line_id"; //
+ public final static String settlement_prove_id = CLASS_NAME + "settlement_prove_id"; //
//
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@@ -34,6 +36,10 @@ private static final long serialVersionUID = 1L;
private Date createTime;
//修改时间
private Date modifyTime;
+ //
+ private Long tradeOrderLineId;
+ //
+ private Long settlementProveId;
/**
*
* @return
@@ -94,6 +100,36 @@ private static final long serialVersionUID = 1L;
this.modifyTime = modifyTime;
}
+ /**
+ *
+ * @return
+ */
+ public Long getTradeOrderLineId() {
+ return tradeOrderLineId;
+ }
+ /**
+ *
+ * @param tradeOrderLineId
+ */
+ public void setTradeOrderLineId(Long tradeOrderLineId) {
+ this.tradeOrderLineId = tradeOrderLineId;
+ }
+
+ /**
+ *
+ * @return
+ */
+ public Long getSettlementProveId() {
+ return settlementProveId;
+ }
+ /**
+ *
+ * @param settlementProveId
+ */
+ public void setSettlementProveId(Long settlementProveId) {
+ this.settlementProveId = settlementProveId;
+ }
+
@Override
public String toString() {
return "VvTradeOrderLineSettlementProveEntity{" +
@@ -101,6 +137,8 @@ private static final long serialVersionUID = 1L;
",isDelete=" + isDelete +
",createTime=" + createTime +
",modifyTime=" + modifyTime +
+ ",tradeOrderLineId=" + tradeOrderLineId +
+ ",settlementProveId=" + settlementProveId +
"}";
}
}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvSettlementProveDetailServiceImpl.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvSettlementProveDetailServiceImpl.java
new file mode 100644
index 0000000..20ab6e0
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvSettlementProveDetailServiceImpl.java
@@ -0,0 +1,68 @@
+package com.heyu.api.data.service.impl.vv;
+/**
+*
+* 结算证明 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-26
+*/
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.heyu.api.data.dao.vv.VvSettlementProveDetailDao;
+import com.heyu.api.data.entity.vv.VvSettlementProveDetailEntity;
+import com.heyu.api.data.service.vv.VvSettlementProveDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+@Service
+public class VvSettlementProveDetailServiceImpl extends ServiceImpl implements VvSettlementProveDetailService {
+
+
+ @Autowired
+ private VvSettlementProveDetailDao vvSettlementProveDetailDao;
+
+
+
+ @Override
+ public VvSettlementProveDetailEntity selectVvSettlementProveDetailById(Long id){
+ return vvSettlementProveDetailDao.selectVvSettlementProveDetailById(id);
+ }
+
+
+
+ @Override
+ public Long insertVvSettlementProveDetail(VvSettlementProveDetailEntity vvSettlementProveDetail){
+ return vvSettlementProveDetailDao.insertVvSettlementProveDetail(vvSettlementProveDetail);
+ }
+
+
+
+ @Override
+ public Long insertOrUpdateVvSettlementProveDetail(VvSettlementProveDetailEntity vvSettlementProveDetail){
+ return vvSettlementProveDetailDao.insertOrUpdateVvSettlementProveDetail(vvSettlementProveDetail);
+ }
+
+
+
+ @Override
+ public int updateVvSettlementProveDetailById(VvSettlementProveDetailEntity vvSettlementProveDetail){
+ return vvSettlementProveDetailDao.updateVvSettlementProveDetailById(vvSettlementProveDetail);
+ }
+
+
+
+ @Override
+ public int updateCoverVvSettlementProveDetailById(VvSettlementProveDetailEntity vvSettlementProveDetail){
+ return vvSettlementProveDetailDao.updateCoverVvSettlementProveDetailById(vvSettlementProveDetail);
+ }
+
+
+
+ @Override
+ public int deleteVvSettlementProveDetailById(Long id){
+ return vvSettlementProveDetailDao.deleteVvSettlementProveDetailById(id);
+ }
+
+
+
+}
diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvSettlementProveDetailService.java b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvSettlementProveDetailService.java
new file mode 100644
index 0000000..fd9cbce
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvSettlementProveDetailService.java
@@ -0,0 +1,34 @@
+package com.heyu.api.data.service.vv;
+/**
+*
+* 结算证明 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-26
+*/
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.heyu.api.data.entity.vv.VvSettlementProveDetailEntity;
+public interface VvSettlementProveDetailService extends IService {
+
+
+
+ VvSettlementProveDetailEntity selectVvSettlementProveDetailById(Long id);
+
+
+ Long insertVvSettlementProveDetail(VvSettlementProveDetailEntity vvSettlementProveDetail);
+
+
+ Long insertOrUpdateVvSettlementProveDetail(VvSettlementProveDetailEntity vvSettlementProveDetail);
+
+
+ int updateVvSettlementProveDetailById(VvSettlementProveDetailEntity vvSettlementProveDetail);
+
+
+ int updateCoverVvSettlementProveDetailById(VvSettlementProveDetailEntity vvSettlementProveDetail);
+
+
+ int deleteVvSettlementProveDetailById(Long id);
+
+
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/resources/mapper/vv/VvSettlementProveDetailDao.xml b/api-mapper/src/main/resources/mapper/vv/VvSettlementProveDetailDao.xml
new file mode 100644
index 0000000..d882165
--- /dev/null
+++ b/api-mapper/src/main/resources/mapper/vv/VvSettlementProveDetailDao.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java
index 04eef2b..f6c235c 100644
--- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java
+++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java
@@ -94,7 +94,7 @@ public class MysqlMain_insert {
List list = new ArrayList();
- list.add(new TablesBean("vv_reverse_order_prove"));
+ list.add(new TablesBean("vv_settlement_prove_detail"));
diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java
index 861399e..84cfea8 100644
--- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java
+++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java
@@ -49,7 +49,7 @@ public class MysqlMain_update {
List list = new ArrayList();
- String a = "vv_product";
+ String a = "vv_trade_order_line_settlement_prove";
for (String s : a.split(",")) {
list.add(new TablesBean(s));
}
diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/ReverseStatusEnums.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/ReverseStatusEnums.java
new file mode 100644
index 0000000..a92639c
--- /dev/null
+++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/ReverseStatusEnums.java
@@ -0,0 +1,49 @@
+package com.heyu.api.alibaba.request.mm.enums;
+
+public enum ReverseStatusEnums {
+
+ // 逆向状态状态 wait_seller_agree 等待卖家同意 ,
+ // wait_buyer_post 等待买家寄东西,
+ // shipping 运送中,
+ // delivered 妥投,
+ // reject_delivered 拒绝妥投,
+ // agree_refunded 同意退款 ,
+ // refunded 退款完成 ,
+ // close 退款关闭
+ wait_seller_agree("wait_seller_agree","等待卖家同意"),
+ wait_buyer_post("wait_buyer_post","买家邮寄"),
+ shipping("shipping","运送中"),
+ delivered("delivered","已签收"),
+ reject_delivered("reject_delivered","拒绝接收"),
+ agree_refunded("agree_refunded","同意退款"),
+ refunded("refunded","退款完成"),
+ close("close","退款关闭"),;
+
+
+
+ ReverseStatusEnums(String status, String desc) {
+ this.status = status;
+ this.desc = desc;
+ }
+
+ private String status;
+
+ private String desc;
+
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+
+ public void setDesc(String desc) {
+ this.desc = desc;
+ }
+}
diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/SettleStatusEnums.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/SettleStatusEnums.java
new file mode 100644
index 0000000..5924170
--- /dev/null
+++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/SettleStatusEnums.java
@@ -0,0 +1,33 @@
+package com.heyu.api.alibaba.request.mm.enums;
+
+public enum SettleStatusEnums {
+
+
+ not_settle(0,"未结算"),
+ settle_finished(1,"结算完成"),
+ ;
+ SettleStatusEnums(int status, String desc) {
+ this.status = status;
+ this.desc = desc;
+ }
+
+ private int status;
+
+ private String desc;
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+
+ public void setDesc(String desc) {
+ this.desc = desc;
+ }
+}
diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/ResourceDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/ResourceDTO.java
new file mode 100644
index 0000000..db85e14
--- /dev/null
+++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/ResourceDTO.java
@@ -0,0 +1,19 @@
+package com.heyu.api.alibaba.request.mm.order;
+
+
+import lombok.Data;
+
+@Data
+public class ResourceDTO {
+
+ /***
+ * 类型
+ */
+ private String type ;
+
+ /***
+ * 资源
+ */
+ private String resourceUrl;
+
+}
diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvSettleProveDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvSettleProveDTO.java
new file mode 100644
index 0000000..192a8c8
--- /dev/null
+++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvSettleProveDTO.java
@@ -0,0 +1,23 @@
+package com.heyu.api.alibaba.request.mm.order;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class VvSettleProveDTO {
+
+ /***
+ * 子订单号
+ */
+ private List tradeOrderLineIds;
+
+ /***
+ * 资源信息
+ */
+ private List resources;
+
+}
+
+
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java
index edf51d7..aa45078 100644
--- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java
@@ -4,17 +4,13 @@ package com.heyu.api.controller.mm;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.mm.enums.OrderStatusEnums;
-import com.heyu.api.alibaba.request.mm.order.VVOrderRequest;
-import com.heyu.api.alibaba.request.mm.order.VvDeliveredDTO;
-import com.heyu.api.alibaba.request.mm.order.VvToPackDTO;
+import com.heyu.api.alibaba.request.mm.enums.ReverseStatusEnums;
+import com.heyu.api.alibaba.request.mm.order.*;
import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
-import com.heyu.api.data.dao.vv.VvPackageDao;
-import com.heyu.api.data.dao.vv.VvTradeOrderDao;
-import com.heyu.api.data.dao.vv.VvTradeOrderLineDao;
-import com.heyu.api.data.entity.vv.VvPackageEntity;
-import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
-import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
+import com.heyu.api.data.dao.vv.*;
+import com.heyu.api.data.entity.vv.*;
+import com.heyu.api.data.utils.BigDecimalUtil;
import com.heyu.api.data.utils.R;
import com.heyu.api.data.utils.StringUtils;
import com.heyu.api.utils.ISelect;
@@ -27,10 +23,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.util.*;
@Slf4j
@RestController
@@ -49,6 +43,15 @@ public class OrderController {
@Autowired
private VvPackageDao vvPackageDao;
+ @Autowired
+ private VvSettlementProveDao vvSettlementProveDao;
+
+ @Autowired
+ private VvSettlementProveDetailDao vvSettlementProveDetailDao;
+
+ @Autowired
+ private VvTradeOrderLineSettlementProveDao vvTradeOrderLineSettlementProveDao;
+
/***
* 列表
*/
@@ -231,7 +234,7 @@ public class OrderController {
* 订单打包
*/
@RequestMapping("/delivered")
- public R topack(@RequestBody VvDeliveredDTO vvDeliveredDTO) {
+ public R delivered(@RequestBody VvDeliveredDTO vvDeliveredDTO) {
List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvDeliveredDTO.getTradeOrderLineIds());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
if(!OrderStatusEnums.shipping.getStatus().equals(tradeOrderLineEntity.getStatus())){
@@ -253,4 +256,68 @@ public class OrderController {
}
+
+ /***
+ * 上传结算证据
+ */
+ @RequestMapping("/upload/settlement/prove")
+ public R settlement(@RequestBody VvSettleProveDTO vvSettleProveDTO) {
+ List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvSettleProveDTO.getTradeOrderLineIds());
+
+ List tradeOrderIds = new ArrayList<>();
+
+ VvSettlementProveEntity vvSettlementProveEntity = new VvSettlementProveEntity();
+
+ vvSettlementProveDao.insertOrUpdateVvSettlementProve(vvSettlementProveEntity);
+
+
+ for (ResourceDTO resource : vvSettleProveDTO.getResources()) {
+
+ VvSettlementProveDetailEntity vvSettlementProveDetailEntity = new VvSettlementProveDetailEntity();
+ vvSettlementProveDetailEntity.setType(resource.getType());
+ vvSettlementProveDetailEntity.setResourceUrl(resource.getResourceUrl());
+ vvSettlementProveDetailEntity.setSettlementProveId(vvSettlementProveEntity.getId());
+ vvSettlementProveDetailDao.insertOrUpdateVvSettlementProveDetail(vvSettlementProveDetailEntity);
+ }
+
+ for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
+ tradeOrderIds.add(tradeOrderLineEntity.getTradeOrderId());
+ tradeOrderLineEntity.setSettleStatus(1);
+ // 更新利润
+ tradeOrderLineEntity.setProfitAmount(BigDecimalUtil.subtract(tradeOrderLineEntity.getSalePrice(), tradeOrderLineEntity.getOriginPrice()));
+ vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity);
+
+
+
+ // 将子单和证据关联
+ VvTradeOrderLineSettlementProveEntity vvTradeOrderLineSettlementProveEntity = new VvTradeOrderLineSettlementProveEntity();
+ vvTradeOrderLineSettlementProveEntity.setTradeOrderLineId(tradeOrderLineEntity.getId());
+ vvTradeOrderLineSettlementProveEntity.setSettlementProveId(vvSettlementProveEntity.getId());
+ vvTradeOrderLineSettlementProveDao.insertOrUpdateVvTradeOrderLineSettlementProve(vvTradeOrderLineSettlementProveEntity);
+ }
+
+ // 设置这笔订单已经结算
+ for (Long tradeOrderId : tradeOrderIds) {
+ VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(tradeOrderId);
+ List vvTradeOrderLineList0 = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderIdStatusAndReverseStatus(
+ tradeOrderId, OrderStatusEnums.delivered.getStatus(),
+ Arrays.asList(ReverseStatusEnums.refunded.getStatus(), ReverseStatusEnums.close.getStatus())
+ );
+
+ List vvTradeOrderLineList1 = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(tradeOrderId);
+ if (CollectionUtils.isNotEmpty(vvTradeOrderLineList0)
+ && CollectionUtils.isNotEmpty(vvTradeOrderLineList1)
+ && vvTradeOrderLineList0.size() == vvTradeOrderLineList1.size()) {
+ vvTradeOrderEntity.setSettleStatus(1);
+ BigDecimal profitAmount = BigDecimal.ZERO;
+ for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineList1) {
+ profitAmount= BigDecimalUtil.add(profitAmount, tradeOrderLineEntity.getProfitAmount());
+ }
+ vvTradeOrderEntity.setProfitAmount(profitAmount);
+ vvTradeOrderDao.updateVvTradeOrderById(vvTradeOrderEntity);
+ }
+ }
+ return R.ok();
+ }
+
}