18782137998 11 сар өмнө
parent
commit
c6a28ef5ba
19 өөрчлөгдсөн 708 нэмэгдсэн , 81 устгасан
  1. 72 0
      src/main/java/com/sckw/freight/entity/payment/PayMemberWalletAp.java
  2. 136 0
      src/main/java/com/sckw/freight/entity/payment/PayOrderSub.java
  3. 89 0
      src/main/java/com/sckw/freight/entity/payment/PayWalletWithdrawOrder.java
  4. 19 0
      src/main/java/com/sckw/freight/mapper/payment/PayMemberWalletApMapper.java
  5. 19 0
      src/main/java/com/sckw/freight/mapper/payment/PayOrderSubMapper.java
  6. 19 0
      src/main/java/com/sckw/freight/mapper/payment/PayWalletWithdrawOrderMapper.java
  7. 21 0
      src/main/java/com/sckw/freight/model/po/CheckResult.java
  8. 205 76
      src/main/java/com/sckw/freight/service/JobService.java
  9. 1 1
      src/main/java/com/sckw/freight/service/PayCenterService.java
  10. 4 4
      src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsServiceImpl.java
  11. 16 0
      src/main/java/com/sckw/freight/service/payment/IPayMemberWalletApService.java
  12. 16 0
      src/main/java/com/sckw/freight/service/payment/IPayOrderSubService.java
  13. 16 0
      src/main/java/com/sckw/freight/service/payment/IPayWalletWithdrawOrderService.java
  14. 20 0
      src/main/java/com/sckw/freight/service/payment/impl/PayMemberWalletApServiceImpl.java
  15. 20 0
      src/main/java/com/sckw/freight/service/payment/impl/PayOrderSubServiceImpl.java
  16. 20 0
      src/main/java/com/sckw/freight/service/payment/impl/PayWalletWithdrawOrderServiceImpl.java
  17. 5 0
      src/main/resources/com/sckw/freight/mapper/payment/PayMemberWalletApMapper.xml
  18. 5 0
      src/main/resources/com/sckw/freight/mapper/payment/PayOrderSubMapper.xml
  19. 5 0
      src/main/resources/com/sckw/freight/mapper/payment/PayWalletWithdrawOrderMapper.xml

+ 72 - 0
src/main/java/com/sckw/freight/entity/payment/PayMemberWalletAp.java

@@ -0,0 +1,72 @@
+package com.sckw.freight.entity.payment;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * AdvancePayment 钱包预付
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("pay_member_wallet_ap")
+public class PayMemberWalletAp implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 预付出款钱包
+     */
+    private Integer walletId;
+
+    /**
+     * 预付金额
+     */
+    private Integer money;
+
+    /**
+     * 预付订单号
+     */
+    private String apNo;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 预付状态
+     */
+    private Integer status;
+
+    /**
+     * 预付完成余额
+     */
+    private Integer apBalance;
+
+    /**
+     * 预付备注
+     */
+    private String remarks;
+
+
+}

+ 136 - 0
src/main/java/com/sckw/freight/entity/payment/PayOrderSub.java

@@ -0,0 +1,136 @@
+package com.sckw.freight.entity.payment;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 分账信息
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("pay_order_sub")
+public class PayOrderSub implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * uid
+     */
+    private String uid;
+
+    /**
+     * 订单id
+     */
+    private Integer orderId;
+
+    /**
+     * 分账订单号
+     */
+    private String subNo;
+
+    /**
+     * 平台单号
+     */
+    private String platformNo;
+
+    /**
+     * 分账金额,分
+     */
+    private Integer money;
+
+    /**
+     * 分账前,余额
+     */
+    private Integer beforeBalance;
+
+    /**
+     * 分账后,余额
+     */
+    private Integer afterBalance;
+
+    /**
+     * 收款人,uid
+     */
+    private String recvUid;
+
+    /**
+     * 收款人信息快照
+     */
+    private String recvInfoSnapshot;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 完成时间
+     */
+    private LocalDateTime finishTime;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /**
+     * 2:分账中,1:分账成功,0:分账失败
+     */
+    private Integer status;
+
+    /**
+     * 流水号,避免重复分账
+     */
+    private String businessNo;
+
+    private String filter;
+
+    private String channel;
+
+    /**
+     * 中信主体账号
+     */
+    private String mainAccount;
+
+    /**
+     * 预付订单号
+     */
+    private String apNo;
+
+    /**
+     * 凭证
+     */
+    private String voucher;
+
+    /**
+     * 单据来源1-客户端2-收银台
+     */
+    private Integer source;
+
+    /**
+     * 管理ID
+     */
+    private Integer operId;
+
+    /**
+     * 管理员名称
+     */
+    private String operName;
+
+
+}

+ 89 - 0
src/main/java/com/sckw/freight/entity/payment/PayWalletWithdrawOrder.java

@@ -0,0 +1,89 @@
+package com.sckw.freight.entity.payment;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 提现订单
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("pay_wallet_withdraw_order")
+public class PayWalletWithdrawOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 钱包ID
+     */
+    private Integer walletId;
+
+    /**
+     * 提现订单号
+     */
+    private String orderNo;
+
+    /**
+     * 提现金额
+     */
+    private Integer money;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 完成时间
+     */
+    private LocalDateTime finishTime;
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
+    /**
+     * 提现后余额
+     */
+    private Integer balance;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    private String platformNo;
+
+    /**
+     * 单据来源1-客户端2-收银台
+     */
+    private Integer source;
+
+    /**
+     * 管理ID
+     */
+    private Integer operId;
+
+    /**
+     * 管理员名称
+     */
+    private String operName;
+
+
+}

+ 19 - 0
src/main/java/com/sckw/freight/mapper/payment/PayMemberWalletApMapper.java

@@ -0,0 +1,19 @@
+package com.sckw.freight.mapper.payment;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.config.DataSourceNames;
+import com.sckw.freight.entity.payment.PayMemberWalletAp;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * AdvancePayment 钱包预付 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+@DS(DataSourceNames.PAYMENT)
+public interface PayMemberWalletApMapper extends BaseMapper<PayMemberWalletAp> {
+
+}

+ 19 - 0
src/main/java/com/sckw/freight/mapper/payment/PayOrderSubMapper.java

@@ -0,0 +1,19 @@
+package com.sckw.freight.mapper.payment;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.config.DataSourceNames;
+import com.sckw.freight.entity.payment.PayOrderSub;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 分账信息 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+@DS(DataSourceNames.PAYMENT)
+public interface PayOrderSubMapper extends BaseMapper<PayOrderSub> {
+
+}

+ 19 - 0
src/main/java/com/sckw/freight/mapper/payment/PayWalletWithdrawOrderMapper.java

@@ -0,0 +1,19 @@
+package com.sckw.freight.mapper.payment;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.config.DataSourceNames;
+import com.sckw.freight.entity.payment.PayWalletWithdrawOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 提现订单 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+@DS(DataSourceNames.PAYMENT)
+public interface PayWalletWithdrawOrderMapper extends BaseMapper<PayWalletWithdrawOrder> {
+
+}

+ 21 - 0
src/main/java/com/sckw/freight/model/po/CheckResult.java

@@ -0,0 +1,21 @@
+package com.sckw.freight.model.po;
+
+import lombok.Data;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.po
+ * @Author: xj
+ * @CreateTime: 2025-02-10  14:02
+ * @Description: TODO
+ * @Version: 1.0
+ */
+@Data
+public class CheckResult<T> {
+    //true:成功,false:失败
+    private boolean status=false;
+    //业务单号
+    private String businessNo=" ";
+    //业务单据数据
+    private T data;
+}

+ 205 - 76
src/main/java/com/sckw/freight/service/JobService.java

@@ -2,15 +2,22 @@ package com.sckw.freight.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sckw.freight.entity.freight.KwpSettlementLogistics;
+import com.sckw.freight.entity.payment.PayMemberWalletAp;
 import com.sckw.freight.entity.payment.PayOrder;
+import com.sckw.freight.entity.payment.PayOrderSub;
+import com.sckw.freight.entity.payment.PayWalletWithdrawOrder;
 import com.sckw.freight.mapper.freight.KwpLedgerLogisticsMapper;
 import com.sckw.freight.mapper.freight.KwpSettlementLogisticsMapper;
+import com.sckw.freight.mapper.payment.PayMemberWalletApMapper;
 import com.sckw.freight.mapper.payment.PayOrderMapper;
+import com.sckw.freight.mapper.payment.PayOrderSubMapper;
+import com.sckw.freight.mapper.payment.PayWalletWithdrawOrderMapper;
 import com.sckw.freight.model.dto.BusinessNo;
 import com.sckw.freight.model.dto.Order;
 import com.sckw.freight.model.dto.PatchPay;
 import com.sckw.freight.model.enums.ChannelEnum;
 import com.sckw.freight.model.enums.KwpSettlementLogisticsStatusEnum;
+import com.sckw.freight.model.po.CheckResult;
 import com.sckw.freight.model.po.LedgerLogisticsAndBuySellInfo;
 import com.sckw.freight.service.freight.IKwpLedgerLogisticsService;
 import com.sckw.freight.service.freight.IKwpSettlementLogisticsService;
@@ -48,6 +55,12 @@ public class JobService {
     KwpSettlementLogisticsMapper kwpSettlementLogisticsMapper;
     @Autowired
     PayOrderMapper payOrderMapper;
+    @Autowired
+    PayOrderSubMapper payOrderSubMapper;
+    @Autowired
+    PayWalletWithdrawOrderMapper payWalletWithdrawOrderMapper;
+    @Autowired
+    PayMemberWalletApMapper payMemberWalletApMapper;
 
     /**
      * 【轮循程序】
@@ -87,100 +100,58 @@ public class JobService {
                         continue;
                     }
                     for (KwpSettlementLogistics settlementLogisticsInfo : settlementLogistics) {
-                        boolean _cz = false, _yp = false, _qf = false, _tx = false;
+                        String _cz = " ", _yp = " ", _qf = " ", _tx = " ";
                         try {
 
-//                            R<PayOrderDetail> details = payCenterService.getPayDetailByOrderNo(settlementLogisticsInfo.getSlOrderNo());
-//                            if (details == null || details.getCode() != 200 || details.getData() == null || !details.getStatus()) {
-//                                continue;
-//                            }
-                            //记录先关单号,防止重复调用 (0-失败,1一成功) remark=充值状态|预付状态|清分状态|提现状态
+                            //记录关联单号,防止重复调用 (有值-表示已生成对应单据,无值一表示没有业务单据) remark=已支付的充值单号|预付单号|清分单号|提现单号
                             String remark = settlementLogisticsInfo.getRemark();
                             if (!StringUtils.isBlank(remark)) {
                                 String[] split = remark.split("\\|");
                                 if (split.length == 4) {
-                                    _cz = split[0].equals("1");
-                                    _yp = split[1].equals("1");
-                                    _qf = split[2].equals("1");
-                                    _tx = split[3].equals("1");
+                                    _cz = split[0];
+                                    _yp = split[1];
+                                    _qf = split[2];
+                                    _tx = split[3];
                                 }
                             }
-                            //只接查充值订单
-                            LambdaQueryWrapper<PayOrder> payOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
-                            payOrderLambdaQueryWrapper.eq(PayOrder::getOrderNo, settlementLogisticsInfo.getSlOrderNo());
-                            payOrderLambdaQueryWrapper.eq(PayOrder::getStatus, 1);//已支付
-                            List<PayOrder> payOrders = payOrderMapper.selectList(payOrderLambdaQueryWrapper);
-                            if (payOrders == null || payOrders.isEmpty()) {
-                                _cz = false;
+                            //检查充值
+                            CheckResult<PayOrder> checkResultPayOrder = checkPayOrder(_cz, settlementLogisticsInfo);
+                            if (!checkResultPayOrder.isStatus()) continue;
+                            //已经充值成功
+                            _cz = checkResultPayOrder.getData().getOrderNo();
+
+                            //支付金额
+                            BigDecimal money = MoneyChange.smallMoney(new BigDecimal(checkResultPayOrder.getData().getMoney()));
+
+                            // 检查预付
+                            CheckResult checkAdvancePay = checkAdvancePay(_yp, logisticsAndBuySellInfo, money);
+                            if (!checkAdvancePay.isStatus()) {
+                                _yp = checkAdvancePay.getBusinessNo();
                                 continue;
                             }
-                            _cz = true;
-                            PayOrder details = payOrders.get(0);
-                            BigDecimal money = MoneyChange.smallMoney(new BigDecimal(details.getMoney()));
-                            //根据充值订单状态 处理结算状态
-                            //if (details.getData().getStatus() == 1) {//已支付
-                            if (!_yp) {                            //发起预付
-                                R<Order> orderR = payCenterService.advancePayApply(logisticsAndBuySellInfo.getBuyUid(), ChannelEnum.XW,
-                                        logisticsAndBuySellInfo.getSellUid(), MoneyChange.bigMoney(money));
-                                if (orderR == null || !orderR.getStatus() || orderR.getData() == null) {
-                                    _yp = false;
-                                    continue;
-                                }
-                                _yp = true;
-                            }
-                            if (_yp && !_qf) {
-                                // 1.记账
-                                List<PatchPay> list = new ArrayList<>();
-                                PatchPay patchPay = new PatchPay();
-                                patchPay.setUid(logisticsAndBuySellInfo.getSellUid());
-                                patchPay.setMoney(MoneyChange.bigMoney(money));
-                                patchPay.setRemark("对账单结算");
-                                list.add(patchPay);
-                                try {
-
-                                    //清分
-                                    R<BusinessNo> businessNoR = payCenterService.payAgentPayV2(logisticsAndBuySellInfo.getBuyUid(), logisticsAndBuySellInfo.getSellUid(), ChannelEnum.XW,
-                                            MoneyChange.bigMoney(money), list, settlementLogisticsInfo.getSlOrderNo(), "1");
-                                    if (businessNoR == null || !businessNoR.getStatus() || businessNoR.getData() == null) {
-                                        _qf = false;
-                                        continue;
-                                    }
-                                    _qf = true;
-                                } catch (Exception e) {
-                                    _qf = false;
-                                    log.error("发起预付异常", e);
-                                }
 
+                            //检查清分
+                            CheckResult checkAgentPay = checkAgentPay(_qf, settlementLogisticsInfo, logisticsAndBuySellInfo, money);
+                            if (!checkAgentPay.isStatus()) {
+                                _qf = checkAgentPay.getBusinessNo();
+                                continue;
                             }
-                            if (_qf && !_tx) {
-                                try {
-                                    //提现
-                                    R<Order> withdrawTake = payCenterService.withdrawTake(logisticsAndBuySellInfo.getSellUid(), ChannelEnum.XW,
-                                            MoneyChange.bigMoney(money),
-                                            "提现");
-                                    if (withdrawTake == null || !withdrawTake.getStatus() || withdrawTake.getData() == null) {
-                                        _tx = false;
-                                        continue;
-                                    }
-                                    _tx = true;
-
-                                } catch (Exception e) {
-                                    _tx = false;
-                                    continue;
-                                }
+                            //检查提现
+                            CheckResult checkWithdrawTake = checkWithdrawTake(_tx, logisticsAndBuySellInfo, money);
+                            if (!checkWithdrawTake.isStatus()) {
+                                _tx = checkWithdrawTake.getBusinessNo();
+                                continue;
                             }
-                            if (_tx) {
-                                //修改结算单状态
-                                iKwpSettlementLogisticsService.updateSettlementLogisticsStatusPaid(settlementLogisticsInfo, details);
-                            }    // }
+                            //修改结算单状态
+                            iKwpSettlementLogisticsService.updateSettlementLogisticsStatusPaid(settlementLogisticsInfo, checkResultPayOrder.getData());
+
                         } catch (Exception e) {
                             log.error("获取/处理 充值详情异常", e);
-                        }
-                        finally {
+                        } finally {
                             try {
                                 KwpSettlementLogistics newSetlementLogistics = new KwpSettlementLogistics();
                                 newSetlementLogistics.setId(settlementLogisticsInfo.getId());
-                                String remark =(_cz?"1":"0")+"|"+(_yp?"1":"0")+"|"+(_qf?"1":"0")+"|"+(_tx?"1":"0");
+                                String remark = (_cz) + "|" + (_yp) + "|" + (_qf) + "|" + (_tx);
                                 newSetlementLogistics.setRemark(remark);
                                 kwpSettlementLogisticsMapper.updateById(newSetlementLogistics);
                             } catch (Exception e) {
@@ -205,4 +176,162 @@ public class JobService {
         }
     }
 
+    /**
+     * @description:检查充值订单
+     * @author: xj
+     * @date: 2025/2/10 星期一 14:17
+     * @param:
+     * @return:
+     **/
+    private CheckResult<PayOrder> checkPayOrder(String _cz, KwpSettlementLogistics settlementLogisticsInfo) {
+        CheckResult<PayOrder> checkResult = new CheckResult<PayOrder>();
+        //直接查充值订单
+        LambdaQueryWrapper<PayOrder> payOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        payOrderLambdaQueryWrapper.eq(PayOrder::getOrderNo, settlementLogisticsInfo.getSlOrderNo());
+        payOrderLambdaQueryWrapper.eq(PayOrder::getStatus, 1);//已支付
+        List<PayOrder> payOrders = payOrderMapper.selectList(payOrderLambdaQueryWrapper);
+        if (payOrders == null || payOrders.isEmpty()) {
+            //没有已支付的充值订单信息,不做处理
+            checkResult.setStatus(false);
+        } else {
+            PayOrder details = payOrders.get(0);
+            checkResult.setStatus(true);
+            checkResult.setBusinessNo(details.getOrderNo());
+            checkResult.setData(details);
+        }
+        return checkResult;
+    }
+
+    /**
+     * @description:检查预付单状态
+     * @author: xj
+     * @date: 2025/2/10 星期一 14:24
+     * @param:
+     * @return: null
+     **/
+    private CheckResult checkAdvancePay(String _yp, LedgerLogisticsAndBuySellInfo logisticsAndBuySellInfo, BigDecimal money) {
+        CheckResult checkResult = new CheckResult();
+        // 检查预付
+        if (StringUtils.isBlank(_yp)) {
+
+            try {
+                //发起预付
+                R<Order> orderR = payCenterService.advancePayApply(logisticsAndBuySellInfo.getBuyUid(), ChannelEnum.XW,
+                        logisticsAndBuySellInfo.getSellUid(), MoneyChange.bigMoney(money));
+                if (orderR == null || !orderR.getStatus() || orderR.getData() == null) {
+                    checkResult.setStatus(false);
+                    return checkResult;
+                } else {
+                    _yp = orderR.getData().getOrderNo();
+                }
+            } catch (Exception e) {
+                log.error("检查预付异常", e);
+                checkResult.setStatus(false);
+                return checkResult;
+            }
+        }
+        LambdaQueryWrapper<PayMemberWalletAp> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(PayMemberWalletAp::getApNo, _yp);
+        PayMemberWalletAp walletAp = payMemberWalletApMapper.selectOne(wrapper);
+        checkResult.setBusinessNo(_yp);
+        if (walletAp.getStatus().equals(2)) {
+            checkResult.setStatus(true);
+        } else {
+            checkResult.setStatus(false);
+        }
+        return checkResult;
+    }
+
+    /**
+     * @description:检查清分
+     * @author: xj
+     * @date: 2025/2/10 星期一 14:28
+     * @param:
+     * @return: null
+     **/
+    private CheckResult checkAgentPay(String _qf, KwpSettlementLogistics settlementLogisticsInfo, LedgerLogisticsAndBuySellInfo logisticsAndBuySellInfo, BigDecimal money) {
+        CheckResult<PayOrderSub> checkResult = new CheckResult<>();
+
+        if (StringUtils.isBlank(_qf)) {
+            // 1.记账
+            List<PatchPay> list = new ArrayList<>();
+            PatchPay patchPay = new PatchPay();
+            patchPay.setUid(logisticsAndBuySellInfo.getSellUid());
+            patchPay.setMoney(MoneyChange.bigMoney(money));
+            patchPay.setRemark("对账单结算");
+            list.add(patchPay);
+            try {
+                //清分
+                R<BusinessNo> businessNoR = payCenterService.payAgentPayV2(logisticsAndBuySellInfo.getBuyUid(), logisticsAndBuySellInfo.getSellUid(), ChannelEnum.XW,
+                        MoneyChange.bigMoney(money), list, settlementLogisticsInfo.getSlOrderNo(), "1");
+                log.info("发起清分结果->{}", businessNoR);
+                if (businessNoR == null || !businessNoR.getStatus() || businessNoR.getData() == null) {
+                    checkResult.setStatus(false);
+                    return checkResult;
+                }
+                _qf = businessNoR.getData().getBusinessNo();
+            } catch (Exception e) {
+                log.error("发起清分异常", e);
+                checkResult.setStatus(false);
+                return checkResult;
+            }
+        }
+        LambdaQueryWrapper<PayOrderSub> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(PayOrderSub::getSubNo, _qf);
+
+        List<PayOrderSub> orderSubs = payOrderSubMapper.selectList(wrapper);
+        if (orderSubs == null || orderSubs.isEmpty()) {
+            checkResult.setStatus(false);
+            return checkResult;
+        } else {
+            PayOrderSub orderSub = orderSubs.get(0);
+            if (orderSub.getStatus().equals(1)) {
+                checkResult.setStatus(true);
+            } else {
+                checkResult.setStatus(false);
+            }
+            checkResult.setBusinessNo(_qf);
+            checkResult.setData(orderSubs.get(0));
+        }
+        return checkResult;
+    }
+
+    /**
+     * @description: 检查提现
+     * @author: xj
+     * @date: 2025/2/10 星期一 14:56
+     * @param:
+     * @return: null
+     **/
+    private CheckResult checkWithdrawTake(String _tx, LedgerLogisticsAndBuySellInfo logisticsAndBuySellInfo, BigDecimal money) {
+        CheckResult checkResult = new CheckResult();
+
+        if (StringUtils.isBlank(_tx)) {
+            try {
+                //提现
+                R<Order> withdrawTake = payCenterService.withdrawTake(logisticsAndBuySellInfo.getSellUid(), ChannelEnum.XW,
+                        MoneyChange.bigMoney(money), "提现");
+                if (withdrawTake == null || !withdrawTake.getStatus() || withdrawTake.getData() == null) {
+                    checkResult.setStatus(false);
+                    return checkResult;
+                }
+                _tx = withdrawTake.getData().getOrderNo();
+
+            } catch (Exception e) {
+                checkResult.setStatus(false);
+                return checkResult;
+            }
+        }
+        checkResult.setBusinessNo(_tx);
+        LambdaQueryWrapper<PayWalletWithdrawOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(PayWalletWithdrawOrder::getOrderNo, _tx);
+        PayWalletWithdrawOrder payWalletWithdrawOrder = payWalletWithdrawOrderMapper.selectOne(wrapper);
+        checkResult.setData(payWalletWithdrawOrder);
+        if (payWalletWithdrawOrder.getStatus().equals(1)) {
+            checkResult.setStatus(true);
+        } else {
+            checkResult.setStatus(false);
+        }
+        return checkResult;
+    }
 }

+ 1 - 1
src/main/java/com/sckw/freight/service/PayCenterService.java

@@ -142,7 +142,7 @@ public class PayCenterService {
     }
 
     private String changeRes(String sync) {
-        if (StringUtils.isEmpty(sync)) {
+        if (StringUtils.isBlank(sync)) {
             return sync;
         }
         JSONObject jsonObject = JSONObject.parseObject(sync);

+ 4 - 4
src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsServiceImpl.java

@@ -233,10 +233,10 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
          * 3:组装数据
          */
         LambdaQueryWrapper<KwpLedgerLogistics> wrapper = new LambdaQueryWrapper<>();
-        if (!StringUtils.isEmpty(requestPageInfo.getName())) {
+        if (!StringUtils.isBlank(requestPageInfo.getName())) {
             wrapper.like(KwpLedgerLogistics::getName, requestPageInfo.getName());
         }
-        if (!StringUtils.isEmpty(requestPageInfo.getLLedgerNo())) {
+        if (!StringUtils.isBlank(requestPageInfo.getLLedgerNo())) {
             wrapper.eq(KwpLedgerLogistics::getLLedgerNo, requestPageInfo.getLLedgerNo());
         }
         if (requestPageInfo.getStatus() != null) {
@@ -547,7 +547,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
         if (saasCompanyS == null) {
             return R.failed("收款方【" + entId + "】账户不存在");
         }
-        if (StringUtils.isEmpty(saasCompanyS.getPayPlatformUid())) {
+        if (StringUtils.isBlank(saasCompanyS.getPayPlatformUid())) {
             return R.failed("收款方【" + entId + "】钱包账户不存在");
         }
         //查询付款方(买方-付款方)  账户信息
@@ -561,7 +561,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
         if (saasCompanyP == null) {
             return R.failed("付款方【" + ledgerLogistics.getCompanyId() + "】账户不存在");
         }
-        if (StringUtils.isEmpty(saasCompanyP.getPayPlatformUid())) {
+        if (StringUtils.isBlank(saasCompanyP.getPayPlatformUid())) {
             return R.failed("付款方【" + ledgerLogistics.getCompanyId() + "】钱包账户不存在");
         }
         //调用支付中台的【在线充值】接口

+ 16 - 0
src/main/java/com/sckw/freight/service/payment/IPayMemberWalletApService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.payment;
+
+import com.sckw.freight.entity.payment.PayMemberWalletAp;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * AdvancePayment 钱包预付 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+public interface IPayMemberWalletApService extends IService<PayMemberWalletAp> {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/payment/IPayOrderSubService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.payment;
+
+import com.sckw.freight.entity.payment.PayOrderSub;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 分账信息 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+public interface IPayOrderSubService extends IService<PayOrderSub> {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/payment/IPayWalletWithdrawOrderService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.payment;
+
+import com.sckw.freight.entity.payment.PayWalletWithdrawOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 提现订单 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+public interface IPayWalletWithdrawOrderService extends IService<PayWalletWithdrawOrder> {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/payment/impl/PayMemberWalletApServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.payment.impl;
+
+import com.sckw.freight.entity.payment.PayMemberWalletAp;
+import com.sckw.freight.mapper.payment.PayMemberWalletApMapper;
+import com.sckw.freight.service.payment.IPayMemberWalletApService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * AdvancePayment 钱包预付 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+@Service
+public class PayMemberWalletApServiceImpl extends ServiceImpl<PayMemberWalletApMapper, PayMemberWalletAp> implements IPayMemberWalletApService {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/payment/impl/PayOrderSubServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.payment.impl;
+
+import com.sckw.freight.entity.payment.PayOrderSub;
+import com.sckw.freight.mapper.payment.PayOrderSubMapper;
+import com.sckw.freight.service.payment.IPayOrderSubService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 分账信息 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+@Service
+public class PayOrderSubServiceImpl extends ServiceImpl<PayOrderSubMapper, PayOrderSub> implements IPayOrderSubService {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/payment/impl/PayWalletWithdrawOrderServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.payment.impl;
+
+import com.sckw.freight.entity.payment.PayWalletWithdrawOrder;
+import com.sckw.freight.mapper.payment.PayWalletWithdrawOrderMapper;
+import com.sckw.freight.service.payment.IPayWalletWithdrawOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 提现订单 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-02-10
+ */
+@Service
+public class PayWalletWithdrawOrderServiceImpl extends ServiceImpl<PayWalletWithdrawOrderMapper, PayWalletWithdrawOrder> implements IPayWalletWithdrawOrderService {
+
+}

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/payment/PayMemberWalletApMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.freight.mapper.payment.PayMemberWalletApMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/payment/PayOrderSubMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.freight.mapper.payment.PayOrderSubMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/payment/PayWalletWithdrawOrderMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.freight.mapper.payment.PayWalletWithdrawOrderMapper">
+
+</mapper>