Quellcode durchsuchen

新增货到付款记录表,调用中台提供的预付款消费记录接口

xucaiqin vor 2 Jahren
Ursprung
Commit
0e34c35ef7
17 geänderte Dateien mit 519 neuen und 32 gelöschten Zeilen
  1. 23 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/WalletController.java
  2. 18 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletReceiveMapper.java
  3. 8 2
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletTransferMapper.java
  4. 109 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletReceive.java
  5. 6 6
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletTransfer.java
  6. 1 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/PayCenterEnum.java
  7. 52 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/ReceiveEnum.java
  8. 20 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/page/PrePayLogsPage.java
  9. 51 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/wallet/PrePayLogs.java
  10. 24 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/PrePayLogsVo.java
  11. 1 4
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementWalletService.java
  12. 32 7
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/PayCenterService.java
  13. 38 5
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletBusinessService.java
  14. 0 2
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletOrderService.java
  15. 85 5
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletService.java
  16. 47 0
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletReceiveMapper.xml
  17. 4 1
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletTransferMapper.xml

+ 23 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/WalletController.java

@@ -179,6 +179,7 @@ public class WalletController {
         return HttpResult.ok(walletService.prePayList(prePayPage));
     }
 
+
     /**
      * 预付列表-按渠道统计数量
      *
@@ -340,6 +341,17 @@ public class WalletController {
         return HttpResult.ok(walletService.transferOrder(moneyPage));
     }
 
+    /**
+     * 货到付款订单
+     *
+     * @param moneyPage
+     * @return
+     */
+    @PostMapping("receiveOrder")
+    public HttpResult receiveOrder(@RequestBody @Valid MoneyPage moneyPage) {
+        return HttpResult.ok(walletService.transferReceiveOrder(moneyPage));
+    }
+
     /**
      * 退款订单
      *
@@ -397,6 +409,17 @@ public class WalletController {
     public HttpResult prePayRefund(@RequestBody @Valid MoneyPage moneyPage) {
         return HttpResult.ok(walletService.prePayRefund(moneyPage));
     }
+
+    /**
+     * 预付消费日志
+     *
+     * @param moneyPage
+     * @return
+     */
+    @GetMapping("prePayLogs")
+    public HttpResult prePayLogs(@RequestBody @Valid MoneyPage moneyPage) {
+        return HttpResult.ok(walletService.prePayLogs(moneyPage));
+    }
     /*预收-详细记录*/
 
     /**

+ 18 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletReceiveMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.payment.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.payment.model.KwpWalletReceive;
+import com.sckw.payment.model.vo.req.page.MoneyPage;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+* @date 2023-10-18 12:57:05
+* @author xucaiqin
+*/
+@Mapper
+public interface KwpWalletReceiveMapper extends BaseMapper<KwpWalletReceive> {
+    List<KwpWalletReceive> pageList(@Param("moneyPage") MoneyPage moneyPage);
+}

+ 8 - 2
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpWalletTransferMapper.java

@@ -16,6 +16,12 @@ import java.util.List;
  */
 @Mapper
 public interface KwpWalletTransferMapper extends BaseMapper<KwpWalletTransfer> {
+    /**
+     * 转账记录
+     *
+     * @param moneyPage
+     * @return
+     */
     List<KwpWalletTransfer> pageList(@Param("moneyPage") MoneyPage moneyPage);
 
     /**
@@ -24,5 +30,5 @@ public interface KwpWalletTransferMapper extends BaseMapper<KwpWalletTransfer> {
      * @param fundVo
      * @return
      */
-    BigDecimal sumMoney(@Param("fundVo")FundVo fundVo);
-}
+    BigDecimal sumMoney(@Param("fundVo") FundVo fundVo);
+}

+ 109 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletReceive.java

@@ -0,0 +1,109 @@
+package com.sckw.payment.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 货到付款记录表
+* @date 2023-10-18 12:57:05
+* @author xucaiqin
+*/
+@Data
+@TableName(value = "kwp_wallet_receive")
+public class KwpWalletReceive {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long id;
+
+    /**
+     * 流水号
+     */
+    @TableField(value = "order_no")
+    private String orderNo;
+
+    /**
+     * uid
+     */
+    @TableField(value = "`uid`")
+    private String uid;
+
+    /**
+     * 企业id
+     */
+    @TableField(value = "from_ent")
+    private Long fromEnt;
+
+    /**
+     * filter
+     */
+    @TableField(value = "`filter`")
+    private String filter;
+
+    /**
+     * 企业id
+     */
+    @TableField(value = "to_ent")
+    private Long toEnt;
+
+    /**
+     * 电子钱包渠道
+     */
+    @TableField(value = "channel")
+    private String channel;
+
+    /**
+     * 转账金额
+     */
+    @TableField(value = "money")
+    private BigDecimal money;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "remark")
+    private String remark;
+
+    /**
+     * 1-已提交 2-转帐中 3-转账失败 4-转账成功
+     */
+    @TableField(value = "`status`")
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(value = "update_by")
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "update_time")
+    private LocalDateTime updateTime;
+
+    /**
+     * 0-正常 1-删除
+     */
+    @TableField(value = "del_flag")
+    private Integer delFlag;
+}

+ 6 - 6
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpWalletTransfer.java

@@ -71,6 +71,12 @@ public class KwpWalletTransfer {
     @TableField(value = "remark")
     private String remark;
 
+    /**
+     * 1-已提交 2-转帐中 3-转账失败 4-转账成功
+     */
+    @TableField(value = "`status`")
+    private Integer status;
+
     /**
      * 创建人
      */
@@ -100,10 +106,4 @@ public class KwpWalletTransfer {
      */
     @TableField(value = "del_flag")
     private Integer delFlag;
-
-    /**
-     * 1-转帐中
-     */
-    @TableField(value = "`status`")
-    private Integer status;
 }

+ 1 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/PayCenterEnum.java

@@ -37,6 +37,7 @@ public enum PayCenterEnum {
     ADVANCE_PAY_WALLETS("/v2/advancepay/wallets", "钱包预付列表"),
     ADVANCE_PAY_PAY_CHANNELS("/v2/advancepay/pay/channels", "钱包预付通道统计"),
     ADVANCE_PAY_RECEIVE("/v2/advancepay/receives", "钱包预收列表"),
+    ADVANCE_PAY_LOGS("/v2/advancepay/operate/logs", "预付支出记录"),
     ADVANCE_PAY_RECEIVE_CHANNELS("/v2/advancepay/receive/channels", "钱包预收通道统计"),
     ADVANCE_PAY_STATUS("/v1/wallet/advancepay/statusCategory", "预付订单状态"),
     INDEX("/v1/index/index", "获取通道清单"),

+ 52 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/ReceiveEnum.java

@@ -0,0 +1,52 @@
+package com.sckw.payment.model.constant;
+
+import java.util.Objects;
+
+/**
+ * 货到付款枚举
+ *
+ * @author xucaiqin
+ * @date 2023-07-11 12:00:52
+ */
+public enum ReceiveEnum {
+    APPLY(1, "已提交", "1"),
+    TRANSFERRING(2, "支付中", "2"),
+    FAILED(3, "支付失败", "3"),
+    SUCCESS(4, "支付成功", "4");
+
+    private final int status;
+    private final String desc;
+    private final String label;
+
+    ReceiveEnum(int status, String desc, String label) {
+        this.status = status;
+        this.label = label;
+        this.desc = desc;
+    }
+
+    public static String getDesc(Integer status) {
+        if (Objects.isNull(status)) {
+            return "";
+        }
+        for (ReceiveEnum value : values()) {
+            if (status == value.getStatus()) {
+                return value.getDesc();
+            }
+        }
+        return "";
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public int getStatus() {
+        return status;
+    }
+
+
+    public String getDesc() {
+        return desc;
+    }
+
+}

+ 20 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/page/PrePayLogsPage.java

@@ -0,0 +1,20 @@
+package com.sckw.payment.model.dto.page;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.sckw.payment.model.dto.common.Page;
+import com.sckw.payment.model.dto.wallet.PrePayLogs;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+
+/**
+ * @author xucaiqin
+ * @date 2023-07-25 16:23:34
+ */
+@Getter
+@Setter
+public class PrePayLogsPage extends Page<PrePayLogs> {
+    @Serial
+    private static final long serialVersionUID = 8374847700935135347L;
+}

+ 51 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/wallet/PrePayLogs.java

@@ -0,0 +1,51 @@
+package com.sckw.payment.model.dto.wallet;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author xucaiqin
+ */
+@Getter
+@Setter
+public class PrePayLogs implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 3873082194808838563L;
+    private Long id;
+
+    @JSONField(name = "filter")
+    private String filter;
+
+    @JSONField(name = "channel")
+    private String channel;
+
+    @JSONField(name = "channel_label")
+    private String channelLabel;
+    /**
+     * 单号
+     */
+    @JSONField(name = "order_no")
+    private String orderNo;
+
+    /**
+     * 变动金额
+     */
+    @JSONField(name = "money")
+    private BigDecimal money;
+    /**
+     * 预付金额
+     */
+    @JSONField(name = "ap_money")
+    private BigDecimal apMoney;
+    /**
+     * 时间
+     */
+    @JSONField(name = "create_time")
+    private String createTime;
+
+}

+ 24 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/PrePayLogsVo.java

@@ -0,0 +1,24 @@
+package com.sckw.payment.model.vo.res;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 预付详细记录
+ *
+ * @author xucaiqin
+ * @date 2023-08-28 15:43:49
+ */
+@Getter
+@Setter
+public class PrePayLogsVo extends WalletDetailBase {
+    private Long id;
+    /**
+     * 预付金额
+     */
+    private BigDecimal apMoney;
+
+
+}

+ 1 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementWalletService.java

@@ -20,10 +20,7 @@ import com.sckw.order.api.model.UpdateOrderStatusParam;
 import com.sckw.payment.api.model.constant.ChannelEnum;
 import com.sckw.payment.api.model.dto.WalletDto;
 import com.sckw.payment.api.model.dto.common.R;
-import com.sckw.payment.dao.KwpLedgerLogisticsMapper;
-import com.sckw.payment.dao.KwpSettlementLogisticsMapper;
-import com.sckw.payment.dao.KwpSettlementLogisticsTrackMapper;
-import com.sckw.payment.dao.KwpSettlementWalletMapper;
+import com.sckw.payment.dao.*;
 import com.sckw.payment.model.*;
 import com.sckw.payment.model.constant.*;
 import com.sckw.payment.model.dto.LedgerUnitDto;

+ 32 - 7
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/PayCenterService.java

@@ -13,10 +13,7 @@ import com.sckw.payment.api.model.dto.common.R;
 import com.sckw.payment.model.constant.PayCenterEnum;
 import com.sckw.payment.model.dto.common.BusinessNo;
 import com.sckw.payment.model.dto.common.Page;
-import com.sckw.payment.model.dto.page.CashPage;
-import com.sckw.payment.model.dto.page.PrePayIndexPage;
-import com.sckw.payment.model.dto.page.PrePayWalletPage;
-import com.sckw.payment.model.dto.page.RecordPage;
+import com.sckw.payment.model.dto.page.*;
 import com.sckw.payment.model.dto.wallet.*;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
@@ -200,7 +197,7 @@ public class PayCenterService {
      * @param uid
      * @return
      */
-    public R<JSONObject> user(String uid,ChannelEnum channelEnum) {
+    public R<JSONObject> user(String uid, ChannelEnum channelEnum) {
         String sync = getHttp(PayCenterEnum.USER, new HashMap<>() {{
             put("uid", uid);
             put("channel", channelEnum);
@@ -612,7 +609,7 @@ public class PayCenterService {
      * @param pageSize
      * @return
      */
-    public R<Page<PrePayIndex2>> advancePayIndex2(String uid, ChannelEnum channel, String filter, Integer page, Integer pageSize,String keyword) {
+    public R<Page<PrePayIndex2>> advancePayIndex2(String uid, ChannelEnum channel, String filter, Integer page, Integer pageSize, String keyword) {
         String sync = getHttp(PayCenterEnum.ADVANCE_PAY_INDEX2, new HashMap<>() {{
             put("uid", uid);
             put("channel", channel);
@@ -685,6 +682,34 @@ public class PayCenterService {
         });
     }
 
+    /**
+     * 预付支出记录
+     *
+     * @param uid
+     * @param channel
+     * @param filter
+     * @param orderNo
+     * @param startDate
+     * @param endDate
+     * @param page
+     * @param pageSize
+     * @return
+     */
+    public R<PrePayLogsPage> advancePayLogs(String uid, ChannelEnum channel, String filter, String orderNo, String startDate, String endDate, Integer page, Integer pageSize) {
+        String sync = getHttp(PayCenterEnum.ADVANCE_PAY_LOGS, new HashMap<>() {{
+            put("uid", uid);
+            put("channel", channel);
+            put("filter", filter);
+            put("orderNo", orderNo);
+            put("startDate", startDate);
+            put("endDate", endDate);
+            put("page", page);
+            put("pageSize", pageSize);
+        }});
+        return JSONObject.parseObject(sync, new TypeReference<>() {
+        });
+    }
+
     /**
      * 钱包预收通道统计
      *
@@ -771,7 +796,7 @@ public class PayCenterService {
      * @param pageSize
      * @return
      */
-    public R<RechargePage> rechargeOrder(String uid, String filter,ChannelEnum channelEnum,String startDate, String endDate, String keyword, Integer page, Integer pageSize) {
+    public R<RechargePage> rechargeOrder(String uid, String filter, ChannelEnum channelEnum, String startDate, String endDate, String keyword, Integer page, Integer pageSize) {
         if (Objects.isNull(page)) {
             page = 1;
         }

+ 38 - 5
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletBusinessService.java

@@ -1,21 +1,28 @@
 package com.sckw.payment.service;
 
+import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.exception.BusinessException;
-import com.sckw.core.utils.StringUtils;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.payment.api.model.constant.ChannelEnum;
 import com.sckw.payment.api.model.dto.common.R;
+import com.sckw.payment.dao.KwpWalletReceiveMapper;
+import com.sckw.payment.model.KwpWalletReceive;
+import com.sckw.payment.model.constant.ReceiveEnum;
 import com.sckw.payment.model.dto.common.BusinessNo;
 import com.sckw.payment.model.dto.wallet.PatchPay;
 import com.sckw.payment.model.dto.wallet.WalletInfo;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.time.LocalDateTime;
+import java.util.*;
+import java.util.function.Consumer;
 
 /**
  * @author xucaiqin
@@ -26,6 +33,8 @@ import java.util.Objects;
 @RequiredArgsConstructor
 public class WalletBusinessService {
     private final PayCenterService payCenterService;
+    private final KwpWalletReceiveMapper kwpWalletReceiveMapper;
+    private final KwpWalletRelationService walletRelationService;
 
     /**
      * 校验付款金额是否超过钱包可用余额
@@ -59,7 +68,7 @@ public class WalletBusinessService {
      * @param filter
      * @param channelEnum
      * @param price       清分金额
-     * @param payType     支付方式 支付类型0-默认1-仅预付支付2-仅余额支付
+     * @param payType     支付方式 支付类型0-默认1-仅预付支付2-仅余额支付(货到付款)
      */
     public void splitMoney(String businessNo, String uid, String filter, ChannelEnum channelEnum, BigDecimal price, String payType) {
         long value = price.multiply(new BigDecimal("100")).longValueExact();
@@ -67,6 +76,30 @@ public class WalletBusinessService {
             add(new PatchPay(filter, value, uid + "清分" + value + "至" + filter));
         }};
         R<BusinessNo> businessNoR = payCenterService.payAgentPayV2(uid, filter, channelEnum, value, split, businessNo, payType);
+        Map<String, Consumer<Boolean>> map = new HashMap<>();
+        map.put("2", (b) -> {
+            KwpWalletReceive walletReceive = new KwpWalletReceive();
+            walletReceive.setId(new IdWorker(NumberConstant.ONE).nextId());
+            walletReceive.setOrderNo(businessNo);
+            walletReceive.setUid(uid);
+            walletReceive.setFromEnt(walletRelationService.getEnt(uid));
+            walletReceive.setFilter(filter);
+            walletReceive.setToEnt(walletRelationService.getEnt(filter));
+            walletReceive.setChannel(channelEnum.getChannel());
+            walletReceive.setMoney(price);
+            walletReceive.setRemark("货到付款清分");
+            walletReceive.setCreateBy(LoginUserHolder.getUserId());
+            walletReceive.setCreateTime(LocalDateTime.now());
+            walletReceive.setUpdateBy(LoginUserHolder.getUserId());
+            walletReceive.setUpdateTime(LocalDateTime.now());
+            walletReceive.setDelFlag(Global.UN_DELETED);
+            walletReceive.setStatus(b ? ReceiveEnum.APPLY.getStatus() : ReceiveEnum.FAILED.getStatus());
+            kwpWalletReceiveMapper.insert(walletReceive);
+        });
+        Consumer<Boolean> booleanConsumer = map.get(payType);
+        if (Objects.nonNull(booleanConsumer)) {
+            booleanConsumer.accept(businessNoR.getStatus());
+        }
         if (!businessNoR.getStatus()) {
             log.error("流水号:{} uid:{} filter:{} channel:{} price:{} payType:{}", businessNoR, uid, filter, channelEnum, price, payType);
             throw new BusinessException(businessNoR.getMsg());

+ 0 - 2
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletOrderService.java

@@ -6,7 +6,6 @@ import com.github.pagehelper.PageInfo;
 import com.sckw.core.model.page.PageRes;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.payment.dao.KwpWalletRefundMapper;
-import com.sckw.payment.dao.KwpWalletTransferMapper;
 import com.sckw.payment.model.KwpWalletRefund;
 import com.sckw.payment.model.constant.RefundEnum;
 import com.sckw.payment.model.vo.req.page.RefundPage;
@@ -28,7 +27,6 @@ import java.util.List;
 @RequiredArgsConstructor
 public class WalletOrderService {
     private final KwpWalletRefundMapper kwpWalletRefundMapper;
-    private final KwpWalletTransferMapper kwpWalletTransferMapper;
 
     /**
      * 预付、预收 查询退款中金额

+ 85 - 5
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletService.java

@@ -15,19 +15,18 @@ import com.sckw.manage.api.model.dto.res.FindEntCooperateResVo;
 import com.sckw.payment.api.model.constant.ChannelEnum;
 import com.sckw.payment.api.model.dto.WalletDto;
 import com.sckw.payment.api.model.dto.common.R;
+import com.sckw.payment.dao.KwpWalletReceiveMapper;
 import com.sckw.payment.dao.KwpWalletRefundMapper;
 import com.sckw.payment.dao.KwpWalletTransferMapper;
 import com.sckw.payment.job.AsyncPool;
-import com.sckw.payment.model.KwpWallet;
-import com.sckw.payment.model.KwpWalletRefund;
-import com.sckw.payment.model.KwpWalletRelation;
-import com.sckw.payment.model.KwpWalletTransfer;
+import com.sckw.payment.model.*;
 import com.sckw.payment.model.constant.*;
 import com.sckw.payment.model.dto.WalletInfoDto;
 import com.sckw.payment.model.dto.WalletRelationDto;
 import com.sckw.payment.model.dto.common.BusinessNo;
 import com.sckw.payment.model.dto.common.Page;
 import com.sckw.payment.model.dto.page.CashPage;
+import com.sckw.payment.model.dto.page.PrePayLogsPage;
 import com.sckw.payment.model.dto.page.PrePayWalletPage;
 import com.sckw.payment.model.dto.wallet.*;
 import com.sckw.payment.model.vo.PrePayWalletVo;
@@ -75,6 +74,7 @@ public class WalletService {
     private final WalletOrderService walletOrderService;
     private final KwpWalletRefundMapper kwpWalletRefundMapper;
     private final KwpWalletTransferMapper kwpWalletTransferMapper;
+    private final KwpWalletReceiveMapper kwpWalletReceiveMapper;
     private final RedisLockUtil redisLockUtil;
     private final KwpWalletRefundSubService kwpWalletRefundSubService;
     private final KwpWalletService kwpWalletService;
@@ -223,6 +223,7 @@ public class WalletService {
     private void time(PrePayWalletVo prePayWalletVo) {
         prePayWalletVo.setUpdateTime(kwpWalletService.queryTime(prePayWalletVo.getUid(), prePayWalletVo.getFilter(), prePayWalletVo.getChannel()));
     }
+
     private void timeReceive(PrePayWalletVo prePayWalletVo) {
         prePayWalletVo.setUpdateTime(kwpWalletService.queryTime(prePayWalletVo.getFilter(), prePayWalletVo.getUid(), prePayWalletVo.getChannel()));
     }
@@ -761,7 +762,7 @@ public class WalletService {
                 PatchPay patchPay = new PatchPay();
                 patchPay.setUid(transferReq.getFilter());
                 patchPay.setMoney(transferReq.bigMoney(transferReq.getMoney()));
-                patchPay.setRemark(transferReq.getRemark());
+                patchPay.setRemark(StringUtils.isBlank(transferReq.getRemark()) ? "[" + transferReq.getUid() + "]转账" + transferReq.getMoney() + "给[" + transferReq.getFilter() + "]" : transferReq.getRemark());
                 list.add(patchPay);
                 R<BusinessNo> businessNoR1 = payCenterService.payAgentPayV2(transferReq.getUid(), transferReq.getFilter(), channelEnum, transferReq.bigMoney(transferReq.getMoney()), list, orderNo, "2");
                 if (!businessNoR1.getStatus()) {
@@ -1747,6 +1748,39 @@ public class WalletService {
         return PageRes.build(pageInfo, res);
     }
 
+    /**
+     * 资金明细-货到付款
+     *
+     * @param moneyPage
+     * @return
+     */
+    public PageRes<WalletDetailBase> transferReceiveOrder(MoneyPage moneyPage) {
+        PageHelper.startPage(moneyPage.getPage(), moneyPage.getPageSize());
+        List<KwpWalletReceive> kwpWalletTransfers = kwpWalletReceiveMapper.pageList(moneyPage);
+        PageInfo<KwpWalletReceive> pageInfo = new PageInfo<>(kwpWalletTransfers);
+        ArrayList<WalletDetailBase> res = new ArrayList<>();
+        WalletDetailBase walletDetailBase;
+
+        for (KwpWalletReceive kwpWalletTransfer : kwpWalletTransfers) {
+            walletDetailBase = new WalletDetailBase();
+            walletDetailBase.setOrderNo(kwpWalletTransfer.getOrderNo());
+            walletDetailBase.setChannel(kwpWalletTransfer.getChannel());
+            walletDetailBase.setChannelDict(ChannelEnum.getDict(kwpWalletTransfer.getChannel()));
+            walletDetailBase.setChannelLabel(ChannelEnum.getDesc(kwpWalletTransfer.getChannel()));
+            walletDetailBase.setUid(kwpWalletTransfer.getUid());
+            walletDetailBase.setUidName(getFirmName(kwpWalletTransfer.getUid()));
+            walletDetailBase.setFilter(kwpWalletTransfer.getFilter());
+            walletDetailBase.setFilterName(getFirmName(kwpWalletTransfer.getFilter()));
+            walletDetailBase.setStatus(kwpWalletTransfer.getStatus());
+            walletDetailBase.setStatusLabel(TransferEnum.getDesc(kwpWalletTransfer.getStatus()));
+            walletDetailBase.setMoney(kwpWalletTransfer.getMoney());
+            walletDetailBase.setRemark(kwpWalletTransfer.getRemark());
+            walletDetailBase.setCreateTime(DateTimeUtil.format(kwpWalletTransfer.getCreateTime()));
+            res.add(walletDetailBase);
+        }
+        return PageRes.build(pageInfo, res);
+    }
+
     /**
      * 资金明细-退款订单
      *
@@ -2075,6 +2109,52 @@ public class WalletService {
         return user.getData();
     }
 
+    /**
+     * 预付消费日志
+     *
+     * @param moneyPage
+     * @return
+     */
+    public Object prePayLogs(MoneyPage moneyPage) {
+        ChannelEnum channelEnum = ChannelEnum.getByChannel(moneyPage.getChannel());
+        if (Objects.isNull(channelEnum)) {
+            throw new BusinessException("支付通道异常");
+        }
+        R<PrePayLogsPage> prePayWalletPageR = payCenterService.advancePayLogs(moneyPage.getUid(), channelEnum, moneyPage.getFilter(),
+                moneyPage.getKeywords(), moneyPage.getStartCreateTime(), moneyPage.getEndCreateTime(), moneyPage.getPage(), moneyPage.getPageSize());
+        if (!prePayWalletPageR.getStatus()) {
+            return new PageRes<>(moneyPage.getPage(), moneyPage.getPageSize(),
+                    0, 0, new ArrayList<>());
+        }
+        PrePayLogsPage data = prePayWalletPageR.getData();
+        if (Objects.nonNull(data)) {
+            List<PrePayLogs> rows = data.getRows();
+            if (!CollectionUtils.isEmpty(rows)) {
+                List<PrePayLogsVo> collect = rows.stream().map(a -> {
+                    PrePayLogsVo prePayLogsVo = new PrePayLogsVo();
+                    prePayLogsVo.setId(a.getId());
+                    prePayLogsVo.setOrderNo(a.getOrderNo());
+                    prePayLogsVo.setChannel(a.getChannel());
+                    prePayLogsVo.setChannelDict(ChannelEnum.getDict(a.getChannel()));
+                    prePayLogsVo.setChannelLabel(ChannelEnum.getDesc(a.getChannel()));
+                    prePayLogsVo.setUid(moneyPage.getUid());
+                    prePayLogsVo.setUidName(getFirmName(moneyPage.getUid()));
+                    prePayLogsVo.setFilter(a.getFilter());
+                    prePayLogsVo.setFilterName(getFirmName(a.getFilter()));
+                    prePayLogsVo.setStatus(null);
+                    prePayLogsVo.setStatusLabel("");
+                    prePayLogsVo.setMoney(prePayLogsVo.smallMoney(a.getMoney()));
+                    prePayLogsVo.setApMoney(prePayLogsVo.smallMoney(a.getApMoney()));
+                    prePayLogsVo.setRemark("");
+                    prePayLogsVo.setCreateTime(a.getCreateTime());
+                    return prePayLogsVo;
+                }).collect(Collectors.toList());
+                return new PageRes<>(moneyPage.getPage(), moneyPage.getPageSize(), data.getTotal(), (int) (data.getTotal() / data.getPageSize() + 1), collect);
+            }
+        }
+        return new PageRes<>(moneyPage.getPage(), moneyPage.getPageSize(), 0, 0, new ArrayList<>());
+    }
+
     /**
      * 退款处理
      *

+ 47 - 0
sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletReceiveMapper.xml

@@ -0,0 +1,47 @@
+<?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.payment.dao.KwpWalletReceiveMapper">
+  <resultMap id="BaseResultMap" type="com.sckw.payment.model.KwpWalletReceive">
+    <!--@mbg.generated-->
+    <!--@Table kwp_wallet_receive-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
+    <result column="uid" jdbcType="VARCHAR" property="uid" />
+    <result column="from_ent" jdbcType="BIGINT" property="fromEnt" />
+    <result column="filter" jdbcType="VARCHAR" property="filter" />
+    <result column="to_ent" jdbcType="BIGINT" property="toEnt" />
+    <result column="channel" jdbcType="VARCHAR" property="channel" />
+    <result column="money" jdbcType="DECIMAL" property="money" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
+    <result column="status" jdbcType="INTEGER" property="status" />
+    <result column="create_by" jdbcType="BIGINT" property="createBy" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_by" jdbcType="BIGINT" property="updateBy" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, order_no, `uid`, from_ent, `filter`, to_ent, channel, money, remark, `status`,
+    create_by, create_time, update_by, update_time, del_flag
+  </sql>
+  <select id="pageList" resultMap="BaseResultMap">
+    select *
+    from kwp_wallet_transfer kwt
+    <where>
+      kwt.del_flag = 0
+      <if test="moneyPage.channel != null and moneyPage.channel != ''">
+        and kwt.channel = #{moneyPage.channel,jdbcType=VARCHAR}
+      </if>
+      <if test="moneyPage.uid != null and moneyPage.uid != ''">
+        and kwt.uid = #{moneyPage.uid,jdbcType=VARCHAR}
+      </if>
+      <if test="moneyPage.filter != null and moneyPage.filter != ''">
+        and kwt.filter = #{moneyPage.filter,jdbcType=VARCHAR}
+      </if>
+      <if test="moneyPage.keywords != null and moneyPage.keywords != ''">
+        and kwt.order_no like concat('%', #{moneyPage.keywords,jdbcType=VARCHAR}, '%')
+      </if>
+    </where>
+  </select>
+</mapper>

+ 4 - 1
sckw-modules/sckw-payment/src/main/resources/mapper/KwpWalletTransferMapper.xml

@@ -53,6 +53,9 @@
             <if test="moneyPage.filter != null and moneyPage.filter != ''">
                 and kwt.filter = #{moneyPage.filter,jdbcType=VARCHAR}
             </if>
+            <if test="moneyPage.keywords != null and moneyPage.keywords != ''">
+                and kwt.order_no like concat('%', #{moneyPage.keywords,jdbcType=VARCHAR}, '%')
+            </if>
         </where>
     </select>
     <select id="sumMoney" resultType="java.math.BigDecimal">
@@ -72,4 +75,4 @@
             </if>
         </where>
     </select>
-</mapper>
+</mapper>