diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java
index 1de3fa38b..765e52e64 100644
--- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java
+++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java
@@ -1016,9 +1016,12 @@ public class OrderService {
MemberAdapayRecord memberAdapayRecord = new MemberAdapayRecord();
memberAdapayRecord.setMemberId(memberId);
memberAdapayRecord.setPaymentId(adapayCallbackRecord.getPaymentId());
- memberAdapayRecord.setPaymentOrderNo(adapayCallbackRecord.getOrderNo());
+ memberAdapayRecord.setPaymentOrderNo(adapayCallbackRecord.getOutTransId());
memberAdapayRecord.setScenarioType(ScenarioEnum.BALANCE.getValue());
memberAdapayRecord.setPayAmt(amount);
+ memberAdapayRecord.setRefundAmt(BigDecimal.ZERO);
+ memberAdapayRecord.setSpendAmt(BigDecimal.ZERO);
+ memberAdapayRecord.setBalanceAmt(amount);
memberAdapayRecordService.insertSelective(memberAdapayRecord);
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberAdapayRecord.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberAdapayRecord.java
index 099945643..b02c45ce0 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberAdapayRecord.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberAdapayRecord.java
@@ -1,16 +1,13 @@
package com.jsowell.pile.domain;
+import lombok.*;
+
import java.math.BigDecimal;
import java.util.Date;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
/**
- * 会员汇付支付记录表
- */
+ * 会员汇付支付记录表
+ */
@Getter
@Setter
@Builder
@@ -20,62 +17,67 @@ public class MemberAdapayRecord {
private Integer id;
/**
- * 会员id
- */
+ * 会员id
+ */
private String memberId;
/**
- * 场景类型(order, balance)
- */
+ * 场景类型(order, balance)
+ */
private String scenarioType;
/**
- * 汇付支付id
- */
+ * 汇付支付id
+ */
private String paymentId;
/**
- * 汇付支付单号
- */
+ * 汇付支付单号
+ */
private String paymentOrderNo;
/**
- * 支付金额
- */
+ * 支付金额
+ */
private BigDecimal payAmt;
/**
- * 退款金额
- */
+ * 退款金额
+ */
private BigDecimal refundAmt;
/**
- * 消费金额
- */
+ * 消费金额
+ */
private BigDecimal spendAmt;
/**
- * 创建人
- */
+ * 剩余金额
+ */
+ private BigDecimal balanceAmt;
+
+ /**
+ * 创建人
+ */
private String createBy;
/**
- * 创建时间
- */
+ * 创建时间
+ */
private Date createTime;
/**
- * 更新人
- */
+ * 更新人
+ */
private String updateBy;
/**
- * 更新时间
- */
+ * 更新时间
+ */
private Date updateTime;
/**
- * 删除标识
- */
+ * 删除标识
+ */
private String delFlag;
}
\ No newline at end of file
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberAdapayRecordMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberAdapayRecordMapper.java
index 75fbe6cb4..f987f6433 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberAdapayRecordMapper.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberAdapayRecordMapper.java
@@ -1,12 +1,14 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.MemberAdapayRecord;
-import java.util.List;
import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
public interface MemberAdapayRecordMapper {
/**
* insert record to table selective
+ *
* @param record the record
* @return insert count
*/
@@ -14,6 +16,7 @@ public interface MemberAdapayRecordMapper {
/**
* select by primary key
+ *
* @param id primary key
* @return object by primary key
*/
@@ -21,6 +24,7 @@ public interface MemberAdapayRecordMapper {
/**
* update record selective
+ *
* @param record the updated record
* @return update count
*/
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java
index c1d48058b..f0c27a4a5 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java
@@ -632,6 +632,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
public void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
logger.info("结算订单start data:{}, orderBasicInfo:{}", data.toString(), orderBasicInfo.toString());
String orderCode = orderBasicInfo.getOrderCode();
+ String memberId = orderBasicInfo.getMemberId();
// 判断订单状态
if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) {
@@ -1111,6 +1112,29 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
return result;
}
+ /**
+ * 余额支付订单,使用余额支付转账
+ * @param orderBasicInfo
+ * @param adapayMemberAccount
+ * @return
+ */
+ public OrderSettleResult doBalancePaymentV2(OrderBasicInfo orderBasicInfo, AdapayMemberAccount adapayMemberAccount) throws BaseAdaPayException {
+ // 计算应该支付金额,和手续费
+ SplitSettleAmountVO splitSettleAmountVO = splitSettleAmount(orderBasicInfo.getSettleAmount());
+ BigDecimal feeAmount = splitSettleAmountVO.getFeeAmount();
+ BigDecimal tradeAmount = splitSettleAmountVO.getTradeAmount();
+ logger.info("余额支付订单使用余额支付转账, orderCode:{}, inMemberId:{}, transAmt:{}", orderBasicInfo.getOrderCode(), orderBasicInfo, tradeAmount);
+
+ // 查询会员的余额充值记录
+
+ // 分账
+
+ // 更新余额充值记录
+
+
+ return null;
+ }
+
/**
* 延迟交易订单 交易确认
* @param orderBasicInfo 订单
diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberAdapayRecordMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberAdapayRecordMapper.xml
index f4ec2a99e..00b829000 100644
--- a/jsowell-pile/src/main/resources/mapper/pile/MemberAdapayRecordMapper.xml
+++ b/jsowell-pile/src/main/resources/mapper/pile/MemberAdapayRecordMapper.xml
@@ -12,6 +12,7 @@
+
@@ -21,7 +22,7 @@
id, member_id, scenario_type, payment_id, payment_order_no, pay_amt, refund_amt,
- spend_amt, create_by, create_time, update_by, update_time, del_flag
+ spend_amt, balance_amt, create_by, create_time, update_by, update_time, del_flag
-
+
insert into member_adapay_record
-
- id,
-
member_id,
@@ -58,6 +56,9 @@
spend_amt,
+
+ balance_amt,
+
create_by,
@@ -75,9 +76,6 @@
-
- #{id,jdbcType=INTEGER},
-
#{memberId,jdbcType=VARCHAR},
@@ -99,6 +97,9 @@
#{spendAmt,jdbcType=DECIMAL},
+
+ #{balanceAmt,jdbcType=DECIMAL},
+
#{createBy,jdbcType=VARCHAR},
@@ -141,6 +142,9 @@
spend_amt = #{spendAmt,jdbcType=DECIMAL},
+
+ balance_amt = #{balanceAmt,jdbcType=DECIMAL},
+
create_by = #{createBy,jdbcType=VARCHAR},
@@ -198,6 +202,11 @@
when id = #{item.id,jdbcType=INTEGER} then #{item.spendAmt,jdbcType=DECIMAL}
+
+
+ when id = #{item.id,jdbcType=INTEGER} then #{item.balanceAmt,jdbcType=DECIMAL}
+
+
when id = #{item.id,jdbcType=INTEGER} then #{item.createBy,jdbcType=VARCHAR}
@@ -229,47 +238,81 @@
#{item.id,jdbcType=INTEGER}
-
+
insert into member_adapay_record
- (id, member_id, scenario_type, payment_id, payment_order_no, pay_amt, refund_amt,
- spend_amt, create_by, create_time, update_by, update_time, del_flag)
+ (member_id, scenario_type, payment_id, payment_order_no, pay_amt, refund_amt, spend_amt,
+ balance_amt, create_by, create_time, update_by, update_time, del_flag)
values
- (#{item.id,jdbcType=INTEGER}, #{item.memberId,jdbcType=VARCHAR}, #{item.scenarioType,jdbcType=VARCHAR},
- #{item.paymentId,jdbcType=VARCHAR}, #{item.paymentOrderNo,jdbcType=VARCHAR}, #{item.payAmt,jdbcType=DECIMAL},
- #{item.refundAmt,jdbcType=DECIMAL}, #{item.spendAmt,jdbcType=DECIMAL}, #{item.createBy,jdbcType=VARCHAR},
+ (#{item.memberId,jdbcType=VARCHAR}, #{item.scenarioType,jdbcType=VARCHAR}, #{item.paymentId,jdbcType=VARCHAR},
+ #{item.paymentOrderNo,jdbcType=VARCHAR}, #{item.payAmt,jdbcType=DECIMAL}, #{item.refundAmt,jdbcType=DECIMAL},
+ #{item.spendAmt,jdbcType=DECIMAL}, #{item.balanceAmt,jdbcType=DECIMAL}, #{item.createBy,jdbcType=VARCHAR},
#{item.createTime,jdbcType=TIMESTAMP}, #{item.updateBy,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
#{item.delFlag,jdbcType=VARCHAR})
-
+
insert into member_adapay_record
- (id, member_id, scenario_type, payment_id, payment_order_no, pay_amt, refund_amt,
- spend_amt, create_by, create_time, update_by, update_time, del_flag)
+
+
+ id,
+
+ member_id,
+ scenario_type,
+ payment_id,
+ payment_order_no,
+ pay_amt,
+ refund_amt,
+ spend_amt,
+ balance_amt,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ del_flag,
+
values
- (#{id,jdbcType=INTEGER}, #{memberId,jdbcType=VARCHAR}, #{scenarioType,jdbcType=VARCHAR},
- #{paymentId,jdbcType=VARCHAR}, #{paymentOrderNo,jdbcType=VARCHAR}, #{payAmt,jdbcType=DECIMAL},
- #{refundAmt,jdbcType=DECIMAL}, #{spendAmt,jdbcType=DECIMAL}, #{createBy,jdbcType=VARCHAR},
- #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
- #{delFlag,jdbcType=VARCHAR})
+
+
+ #{id,jdbcType=INTEGER},
+
+ #{memberId,jdbcType=VARCHAR},
+ #{scenarioType,jdbcType=VARCHAR},
+ #{paymentId,jdbcType=VARCHAR},
+ #{paymentOrderNo,jdbcType=VARCHAR},
+ #{payAmt,jdbcType=DECIMAL},
+ #{refundAmt,jdbcType=DECIMAL},
+ #{spendAmt,jdbcType=DECIMAL},
+ #{balanceAmt,jdbcType=DECIMAL},
+ #{createBy,jdbcType=VARCHAR},
+ #{createTime,jdbcType=TIMESTAMP},
+ #{updateBy,jdbcType=VARCHAR},
+ #{updateTime,jdbcType=TIMESTAMP},
+ #{delFlag,jdbcType=VARCHAR},
+
on duplicate key update
- id = #{id,jdbcType=INTEGER},
- member_id = #{memberId,jdbcType=VARCHAR},
- scenario_type = #{scenarioType,jdbcType=VARCHAR},
- payment_id = #{paymentId,jdbcType=VARCHAR},
- payment_order_no = #{paymentOrderNo,jdbcType=VARCHAR},
- pay_amt = #{payAmt,jdbcType=DECIMAL},
- refund_amt = #{refundAmt,jdbcType=DECIMAL},
- spend_amt = #{spendAmt,jdbcType=DECIMAL},
- create_by = #{createBy,jdbcType=VARCHAR},
- create_time = #{createTime,jdbcType=TIMESTAMP},
- update_by = #{updateBy,jdbcType=VARCHAR},
- update_time = #{updateTime,jdbcType=TIMESTAMP},
- del_flag = #{delFlag,jdbcType=VARCHAR}
+
+
+ id = #{id,jdbcType=INTEGER},
+
+ member_id = #{memberId,jdbcType=VARCHAR},
+ scenario_type = #{scenarioType,jdbcType=VARCHAR},
+ payment_id = #{paymentId,jdbcType=VARCHAR},
+ payment_order_no = #{paymentOrderNo,jdbcType=VARCHAR},
+ pay_amt = #{payAmt,jdbcType=DECIMAL},
+ refund_amt = #{refundAmt,jdbcType=DECIMAL},
+ spend_amt = #{spendAmt,jdbcType=DECIMAL},
+ balance_amt = #{balanceAmt,jdbcType=DECIMAL},
+ create_by = #{createBy,jdbcType=VARCHAR},
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+ update_by = #{updateBy,jdbcType=VARCHAR},
+ update_time = #{updateTime,jdbcType=TIMESTAMP},
+ del_flag = #{delFlag,jdbcType=VARCHAR},
+
-
+
insert into member_adapay_record
@@ -297,6 +340,9 @@
spend_amt,
+
+ balance_amt,
+
create_by,
@@ -339,6 +385,9 @@
#{spendAmt,jdbcType=DECIMAL},
+
+ #{balanceAmt,jdbcType=DECIMAL},
+
#{createBy,jdbcType=VARCHAR},
@@ -381,6 +430,9 @@
spend_amt = #{spendAmt,jdbcType=DECIMAL},
+
+ balance_amt = #{balanceAmt,jdbcType=DECIMAL},
+
create_by = #{createBy,jdbcType=VARCHAR},