Przeglądaj źródła

新增了一些结算相关接口

sptkw 2 lat temu
rodzic
commit
7a27167dd0
29 zmienionych plików z 1264 dodań i 113 usunięć
  1. 56 3
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementLogisticsController.java
  2. 59 6
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementOfflineController.java
  3. 20 1
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementTradeController.java
  4. 48 6
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementWalletController.java
  5. 6 2
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpSettlementLogisticsMapper.java
  6. 4 4
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpSettlementLogistics.java
  7. 1 4
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpSettlementOffline.java
  8. 4 4
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpSettlementTrade.java
  9. 36 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/PayTypeEnum.java
  10. 16 4
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/SettlementEnum.java
  11. 2 2
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/LedgerTradeDto.java
  12. 58 8
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementLogisticsDto.java
  13. 80 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementLogisticsTrackDto.java
  14. 142 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementTradeDto.java
  15. 80 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementTradeTrackDto.java
  16. 123 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementWalletDto.java
  17. 3 5
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/SettlementReq.java
  18. 3 3
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/LedgerLogisticsVo.java
  19. 3 3
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/LedgerTradeVo.java
  20. 35 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/SettlementLogisticsStatusCountVo.java
  21. 160 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/SettlementLogisticsVo.java
  22. 59 15
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementLogisticsService.java
  23. 11 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementLogisticsTrackService.java
  24. 56 1
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementOfflineService.java
  25. 34 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementTradeService.java
  26. 11 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementTradeTrackService.java
  27. 50 3
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementWalletService.java
  28. 48 0
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/utils/CommonValidator.java
  29. 56 39
      sckw-modules/sckw-payment/src/main/resources/mapper/KwpSettlementLogisticsMapper.xml

+ 56 - 3
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementLogisticsController.java

@@ -1,16 +1,32 @@
 package com.sckw.payment.controller;
 
+import com.alibaba.excel.util.IntUtils;
+import com.sckw.core.model.page.PageRes;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.excel.utils.ExcelUtil;
+import com.sckw.payment.model.dto.LedgerTradeDto;
+import com.sckw.payment.model.dto.SettlementLogisticsDto;
 import com.sckw.payment.model.vo.req.LogisticsReq;
 import com.sckw.payment.model.vo.req.SettlementReq;
+import com.sckw.payment.model.vo.req.TradeReq;
+import com.sckw.payment.model.vo.res.LedgerTradeVo;
+import com.sckw.payment.model.vo.res.SettlementLogisticsVo;
 import com.sckw.payment.service.KwpLedgerLogisticsService;
 import com.sckw.payment.service.KwpSettlementLogisticsService;
 import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
+import org.springframework.beans.BeanUtils;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * 结算-物流订单
+ *
  * @author Aick Spt
  * @date 2023-07-18 16:34
  */
@@ -21,16 +37,53 @@ public class KwpSettlementLogisticsController {
     @Resource
     private KwpSettlementLogisticsService kwpSettlementLogisticsService;
 
-    @PostMapping(name = "付款记录列表", path = "pageList")
+    @GetMapping(name = "运费收款-物流订单各状态列表总数", path = "getCountList")
+    public HttpResult getCountList() {
+        return HttpResult.ok(kwpSettlementLogisticsService.getCountList());
+    }
+
+    @PostMapping(name = "运费收款-物流订单列表", path = "pageList")
     public HttpResult pageList(@RequestBody @Valid SettlementReq settlementReq) {
         return HttpResult.ok(kwpSettlementLogisticsService.pageList(settlementReq));
     }
 
-    @GetMapping(name = "结算-物流订单详情",path = "detail")
-    public HttpResult detail(@RequestParam("id") String id){
+
+
+
+
+
+
+
+
+    @GetMapping(name = "物流订单详情", path = "detail")
+    public HttpResult detail(@RequestParam("id") Long id) {
         return HttpResult.ok(kwpSettlementLogisticsService.detail(id));
     }
 
+    @PostMapping(name = "根据条件导出物流订单表数据", path = "export")
+    public HttpResult export(HttpServletResponse response, @RequestBody @Valid SettlementReq settlementReq) {
+        List<SettlementLogisticsDto> list;
+        if (CollectionUtils.isEmpty(settlementReq.getIds())) {
+            PageRes<SettlementLogisticsDto> pageResult = kwpSettlementLogisticsService.pageList(settlementReq);
+            list = pageResult.getList();
+        } else {
+            list = kwpSettlementLogisticsService.selectList(settlementReq.getIds());
+        }
+
+        if (CollectionUtils.isEmpty(list)) {
+            return HttpResult.error("没有可导出的数据");
+        }
+        List<SettlementLogisticsVo> collect = list.stream().map(a -> {
+            SettlementLogisticsVo settlementLogisticsVo = new SettlementLogisticsVo();
+            BeanUtils.copyProperties(a, settlementLogisticsVo);
+            return settlementLogisticsVo;
+        }).collect(Collectors.toList());
+        ExcelUtil.downData(response, SettlementLogisticsVo.class, collect);
+        return null;
+    }
+
+
+
 
 
 }

+ 59 - 6
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementOfflineController.java

@@ -1,13 +1,66 @@
 package com.sckw.payment.controller;
+
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.payment.model.vo.req.SettlementReq;
+import com.sckw.payment.service.KwpSettlementOfflineService;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
 import org.springframework.web.bind.annotation.*;
 
 /**
-* 下线结算记录(交易订单结算/物流订单结算)
-*
-* @author xucaiqin
-*/
+ * 结算-线下付款记录(交易订单结算/物流订单结算)
+ * @author Aick Spt
+ * @date 2023-07-20 11:42
+ */
 @RestController
-@RequestMapping("/kwp_settlement_offline")
+@RequestMapping(name = "结算-线下付款记录", path = "/kwpSettlementOffline")
 public class KwpSettlementOfflineController {
-    
+
+    @Resource
+    private KwpSettlementOfflineService kwpSettlementOfflineService;
+
+    @PostMapping(name = "物流-线下付款记录列表", path = "pageList")
+    public HttpResult pageList(@RequestBody @Valid SettlementReq settlementReq) {
+        return HttpResult.ok(kwpSettlementOfflineService.pageList(settlementReq));
+    }
+
+    @GetMapping(name = "物流-线下付款记录详情",path = "detail")
+    public HttpResult detail(@RequestParam("id") Long id){
+        return HttpResult.ok(kwpSettlementOfflineService.detail(id));
+    }
+
+    @GetMapping(name = "物流-新增线下付款记录",path = "confirm")
+    public HttpResult confirm(@RequestParam("id") Long id,@RequestParam("price") Float price){
+        return HttpResult.ok(kwpSettlementOfflineService.confirm(id,price));
+    }
+
+
+
+    @PostMapping(name = "交易-线下付款记录列表", path = "tradeOfflinePageList")
+    public HttpResult tradeOfflinePageList(@RequestBody @Valid SettlementReq settlementReq) {
+        return HttpResult.ok(kwpSettlementOfflineService.pageList(settlementReq));
+    }
+
+    @GetMapping(name = "交易-新增线下付款记录",path = "tradeOfflineConfirm")
+    public HttpResult tradeOfflineConfirm(@RequestParam("id") Long id,@RequestParam("price") Float price){
+        return HttpResult.ok(kwpSettlementOfflineService.confirm(id,price));
+    }
+
+
+
+    @PostMapping(name = "交易-预付款记录列表", path = "tradePageList")
+    public HttpResult tradePageList(@RequestBody @Valid SettlementReq settlementReq) {
+        return HttpResult.ok(kwpSettlementOfflineService.pageList(settlementReq));
+    }
+
+    @GetMapping(name = "交易-新增预付款记录",path = "tradeConfirm")
+    public HttpResult tradeConfirm(@RequestParam("id") Long id,@RequestParam("price") Float price){
+        return HttpResult.ok(kwpSettlementOfflineService.confirm(id,price));
+    }
+
+
+
+
+
+
 }

+ 20 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementTradeController.java

@@ -1,4 +1,9 @@
 package com.sckw.payment.controller;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.payment.model.vo.req.SettlementReq;
+import com.sckw.payment.service.KwpSettlementTradeService;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
 import org.springframework.web.bind.annotation.*;
 
 /**
@@ -7,7 +12,21 @@ import org.springframework.web.bind.annotation.*;
 * @author xucaiqin
 */
 @RestController
-@RequestMapping("/kwp_settlement_trade")
+@RequestMapping("/kwpSettlementTrade")
 public class KwpSettlementTradeController {
+ 
+    @Resource
+    private KwpSettlementTradeService kwpSettlementTradeService;
+
+    @PostMapping(name = "交易订单列表", path = "pageList")
+    public HttpResult pageList(@RequestBody @Valid SettlementReq settlementReq) {
+        return HttpResult.ok(kwpSettlementTradeService.pageList(settlementReq));
+    }
+
+    @GetMapping(name = "交易订单详情",path = "detail")
+    public HttpResult detail(@RequestParam("id") Long id){
+        return HttpResult.ok(kwpSettlementTradeService.detail(id));
+    }
+    
     
 }

+ 48 - 6
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementWalletController.java

@@ -1,13 +1,55 @@
 package com.sckw.payment.controller;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.payment.model.vo.req.SettlementReq;
+import com.sckw.payment.service.KwpSettlementWalletService;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
 import org.springframework.web.bind.annotation.*;
 
 /**
-* 电子钱包结算记录(交易订单结算/物流订单结算)
-*
-* @author xucaiqin
-*/
+ * 结算-电子钱包结算记录(交易订单结算/物流订单结算)
+ * @author Aick Spt
+ * @date 2023-07-20 14:42
+ */
 @RestController
-@RequestMapping("/kwp_settlement_wallet")
+@RequestMapping(name = "结算-电子钱包结算记录列表", path = "/kwpSettlementWallet")
 public class KwpSettlementWalletController {
-    
+
+    @Resource
+    private KwpSettlementWalletService kwpSettlementWalletService;
+
+    @PostMapping(name = "物流-电子钱包结算记录列表", path = "pageList")
+    public HttpResult pageList(@RequestBody @Valid SettlementReq settlementReq) {
+        return HttpResult.ok(kwpSettlementWalletService.pageList(settlementReq));
+    }
+
+    @GetMapping(name = "物流-电子钱包结算记录详情",path = "detail")
+    public HttpResult detail(@RequestParam("id") Long id){
+        return HttpResult.ok(kwpSettlementWalletService.detail(id));
+    }
+
+    @GetMapping(name = "物流-新增电子钱包结算记录",path = "confirm")
+    public HttpResult confirm(@RequestParam("id") Long id,@RequestParam("price") Float price){
+        return HttpResult.ok(kwpSettlementWalletService.confirm(id,price));
+    }
+
+
+    @PostMapping(name = "交易-电子钱包结算记录列表", path = "tradePageList")
+    public HttpResult tradePageList(@RequestBody @Valid SettlementReq settlementReq) {
+        return HttpResult.ok(kwpSettlementWalletService.pageList(settlementReq));
+    }
+
+    @GetMapping(name = "交易-新增电子钱包结算记录",path = "tradeConfirm")
+    public HttpResult tradeConfirm(@RequestParam("id") Long id,@RequestParam("price") Float price){
+        return HttpResult.ok(kwpSettlementWalletService.confirm(id,price));
+    }
+
+
+
+
+
+
+
+
+
 }

+ 6 - 2
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpSettlementLogisticsMapper.java

@@ -1,9 +1,11 @@
 package com.sckw.payment.dao;
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.payment.model.KwpLedgerLogistics;
 import com.sckw.payment.model.KwpSettlementLogistics;
 import com.sckw.payment.model.dto.LedgerLogisticsDto;
+import com.sckw.payment.model.dto.LedgerTradeDto;
 import com.sckw.payment.model.dto.SettlementLogisticsDto;
 import com.sckw.payment.model.vo.req.LogisticsReq;
 import com.sckw.payment.model.vo.req.SettlementReq;
@@ -18,12 +20,14 @@ import java.util.List;
  */
 
 @Mapper
-public interface KwpSettlementLogisticsMapper extends BaseMapper<KwpLedgerLogistics> {
+public interface KwpSettlementLogisticsMapper extends BaseMapper<KwpSettlementLogistics> {
 
     /**
      * @param settlementReq 过滤参数
      */
     List<SettlementLogisticsDto> pageSelect(@Param("settlementReq") SettlementReq settlementReq);
 
-    SettlementLogisticsDto detail(@Param("id") String id);
+    SettlementLogisticsDto detail(@Param("id") Long id);
+
+    List<SettlementLogisticsDto> selectIds(@Param("ids") List<Long> ids);
 }

+ 4 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpSettlementLogistics.java

@@ -73,25 +73,25 @@ public class KwpSettlementLogistics {
     private String remark;
 
     /**
-     * 对账审核人名称
+     * 对账托运方财务联系人
      */
     @TableField(value = "audit_user")
     private String auditUser;
 
     /**
-     * 对账审核人电话
+     * 对账托运方财务联系人电话
      */
     @TableField(value = "audit_phone")
     private String auditPhone;
 
     /**
-     * 对账完成人名称
+     * 对账承运方财务联系人
      */
     @TableField(value = "success_user")
     private String successUser;
 
     /**
-     * 对账完成人电话
+     * 对账承运方财务联系人电话
      */
     @TableField(value = "success_phone")
     private String successPhone;

+ 1 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpSettlementOffline.java

@@ -11,13 +11,10 @@ import lombok.Setter;
 import lombok.ToString;
 
 /**
+ * 线下结算记录(交易订单结算/物流订单结算)
  * @author xucaiqin
  * @date 2023-07-10 16:42:19
  */
-
-/**
- * 下线结算记录(交易订单结算/物流订单结算)
- */
 @Getter
 @Setter
 @ToString

+ 4 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpSettlementTrade.java

@@ -70,25 +70,25 @@ public class KwpSettlementTrade {
     private LocalDateTime receiptTime;
 
     /**
-     * 对账审核人名称
+     * 对账采购财务联系人名称
      */
     @TableField(value = "audit_user")
     private String auditUser;
 
     /**
-     * 对账审核人电话
+     * 对账采购财务联系人电话
      */
     @TableField(value = "audit_phone")
     private String auditPhone;
 
     /**
-     * 对账完成人名称
+     * 对账销售财务联系人名称
      */
     @TableField(value = "success_user")
     private String successUser;
 
     /**
-     * 对账完成人电话
+     * 对账销售财务联系人电话
      */
     @TableField(value = "success_phone")
     private String successPhone;

+ 36 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/PayTypeEnum.java

@@ -0,0 +1,36 @@
+package com.sckw.payment.model.constant;
+
+/**
+ * Desc: 暂不明确是否使用
+ * @author Aick Spt
+ * @date 2023-07-20 08:35
+ */
+public enum PayTypeEnum {
+    ADVANCE_PAYMENT(1, "预付款"),
+    CASH_ON_DELIVERY(2, "货到付款"),
+    OFFLINE_PAYMENT(3, "线下付款");
+
+    private int status;
+    private String desc;
+
+    PayTypeEnum(int status, String desc) {
+        this.status = status;
+        this.desc = 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;
+    }
+}

+ 16 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/constant/SettlementEnum.java

@@ -8,10 +8,10 @@ package com.sckw.payment.model.constant;
  * @date 2023-07-11 12:00:52
  */
 public enum SettlementEnum {
-    WAITING_PAYMENT(0, "待回款"),
-    PARTIAL_PAYMENT(1, "部分回款"),
-    ALL_PAYMENT(2, "全部回款"),
-    BACK(3, "回退");
+    WAITING_PAYMENT(1, "待结算"),
+    PARTIAL_PAYMENT(2, "部分结算"),
+    ALL_PAYMENT(3, "全部结算");
+
     private int status;
     private String desc;
 
@@ -35,4 +35,16 @@ public enum SettlementEnum {
     public void setDesc(String desc) {
         this.desc = desc;
     }
+
+    // 添加静态方法,根据 status 获取对应的 desc
+    public static String getStatusDesc(int status) {
+        for (SettlementEnum settlementEnum : values()) {
+            if (settlementEnum.getStatus() == status) {
+                return settlementEnum.getDesc();
+            }
+        }
+        return null; // 可根据实际需求返回默认值或其他处理
+    }
+
+
 }

+ 2 - 2
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/LedgerTradeDto.java

@@ -76,12 +76,12 @@ public class LedgerTradeDto {
     private BigDecimal actualPrice;
 
     /**
-     * 对账审核人电话
+     * 对账采购财务联系人电话
      */
     private String auditPhone;
 
     /**
-     * 对账审核人名称
+     * 对账采购财务联系人名称
      */
     private String auditUser;
 

+ 58 - 8
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementLogisticsDto.java

@@ -1,9 +1,5 @@
 package com.sckw.payment.model.dto;
 
-/**
- * @author Administrator
- * @date 2023-07-18 17:33
- */
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
@@ -11,6 +7,10 @@ import lombok.Setter;
 import java.math.BigDecimal;
 import java.util.Date;
 
+/**
+ * @author Aick Spt
+ * @date 2023-07-18 17:33
+ */
 @Getter
 @Setter
 public class SettlementLogisticsDto {
@@ -62,22 +62,22 @@ public class SettlementLogisticsDto {
     private String remark;
 
     /**
-     * 对账审核人名称
+     * 对账托运方财务联系人
      */
     private String auditUser;
 
     /**
-     * 对账审核人电话
+     * 对账托运方财务联系人电话
      */
     private String auditPhone;
 
     /**
-     * 对账完成人名称
+     * 对账承运方财务联系人
      */
     private String successUser;
 
     /**
-     * 对账完成人电话
+     * 对账承运方财务联系人电话
      */
     private String successPhone;
 
@@ -86,11 +86,18 @@ public class SettlementLogisticsDto {
      */
     private Integer status;
 
+    private String statusText;
+
     /**
      * 创建人
      */
     private Long createBy;
 
+    /**
+     * 创建人名称
+     */
+    private String createByText;
+
     /**
      * 创建时间
      */
@@ -103,6 +110,11 @@ public class SettlementLogisticsDto {
      */
     private Long updateBy;
 
+    /**
+     * 更新人名称
+     */
+    private String updateByText;
+
     /**
      * 更新时间
      */
@@ -116,4 +128,42 @@ public class SettlementLogisticsDto {
     private Integer delFlag;
 
     // Getters and Setters
+
+    /**
+     * 对账单名称
+     */
+    private String ledgerName;
+
+
+    /**
+     * 交易方式
+     */
+    private Integer ledgerTrading;
+
+    /**
+     * 对账单编号
+     */
+    private String lLedgerNo;
+
+    /**
+     * 客户企业类型
+     */
+    private Integer unitType;
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+
+    /**
+     * 实际应收还款
+     */
+    private BigDecimal ledgerSettlePrice;
+
+    /**
+     * 剩余待还款
+     */
+    private BigDecimal residuePrice;
+
 }

+ 80 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementLogisticsTrackDto.java

@@ -0,0 +1,80 @@
+package com.sckw.payment.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import java.util.Date;
+
+/**
+ * 结算-物流订单-状态信息
+ * @author Aick Spt
+ * @date 2023-07-20 12:38
+ */
+@Getter
+@Setter
+public class SettlementLogisticsTrackDto {
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 物流订单结算id
+     */
+    private Long settlementId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    // 添加构造函数,getter和setter方法,以及其他业务逻辑方法(根据需要)
+
+    @Override
+    public String toString() {
+        return "SettlementLogisticsTrackDto{" +
+                "id=" + id +
+                ", settlementId=" + settlementId +
+                ", remark='" + remark + '\'' +
+                ", status=" + status +
+                ", createBy=" + createBy +
+                ", createTime=" + createTime +
+                ", updateBy=" + updateBy +
+                ", updateTime=" + updateTime +
+                ", delFlag=" + delFlag +
+                '}';
+    }
+}

+ 142 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementTradeDto.java

@@ -0,0 +1,142 @@
+package com.sckw.payment.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 结算-交易订单
+ * @author Aick Spt
+ * @date 2023-07-20 12:26
+ */
+@Getter
+@Setter
+public class SettlementTradeDto {
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 交易订单对账id
+     */
+    private Long tLedgerId;
+
+    /**
+     * 结算单编号
+     */
+    private String stOrderNo;
+
+    /**
+     * 结算单名称
+     */
+    private String name;
+
+    /**
+     * 总应收/元
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 已收款/元
+     */
+    private BigDecimal actualPrice;
+
+    /**
+     * 预计收款日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date receiptTime;
+
+    /**
+     * 对账采购财务联系人名称
+     */
+    private String auditUser;
+
+    /**
+     * 对账采购财务联系人电话
+     */
+    private String auditPhone;
+
+    /**
+     * 对账销售财务联系人名称
+     */
+    private String successUser;
+
+    /**
+     * 对账销售财务联系人电话
+     */
+    private String successPhone;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态(待回款、部分回款、全部回款、回退)
+     */
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    // 添加构造函数,getter和setter方法,以及其他业务逻辑方法(根据需要)
+
+    @Override
+    public String toString() {
+        return "SettlementTradeDto{" +
+                "id=" + id +
+                ", entId=" + entId +
+                ", tLedgerId=" + tLedgerId +
+                ", stOrderNo='" + stOrderNo + '\'' +
+                ", name='" + name + '\'' +
+                ", totalPrice=" + totalPrice +
+                ", actualPrice=" + actualPrice +
+                ", receiptTime=" + receiptTime +
+                ", auditUser='" + auditUser + '\'' +
+                ", auditPhone='" + auditPhone + '\'' +
+                ", successUser='" + successUser + '\'' +
+                ", successPhone='" + successPhone + '\'' +
+                ", remark='" + remark + '\'' +
+                ", status=" + status +
+                ", createBy=" + createBy +
+                ", createTime=" + createTime +
+                ", updateBy=" + updateBy +
+                ", updateTime=" + updateTime +
+                ", delFlag=" + delFlag +
+                '}';
+    }
+}

+ 80 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementTradeTrackDto.java

@@ -0,0 +1,80 @@
+package com.sckw.payment.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import java.util.Date;
+
+/**
+ * 结算-交易订单-状态信息
+ * @author Aick Spt
+ * @date 2023-07-20 12:30
+ */
+@Getter
+@Setter
+public class SettlementTradeTrackDto {
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 交易订单结算id
+     */
+    private Long settlementId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    // 添加构造函数,getter和setter方法,以及其他业务逻辑方法(根据需要)
+
+    @Override
+    public String toString() {
+        return "SettlementTradeTrackDto{" +
+                "id=" + id +
+                ", settlementId=" + settlementId +
+                ", remark='" + remark + '\'' +
+                ", status=" + status +
+                ", createBy=" + createBy +
+                ", createTime=" + createTime +
+                ", updateBy=" + updateBy +
+                ", updateTime=" + updateTime +
+                ", delFlag=" + delFlag +
+                '}';
+    }
+}

+ 123 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementWalletDto.java

@@ -0,0 +1,123 @@
+package com.sckw.payment.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import java.util.Date;
+
+/**
+ * 电子钱包结算记录(交易订单结算/物流订单结算)
+ * @author Aick Spt
+ * @date 2023-07-20 14:54
+ */
+@Getter
+@Setter
+public class SettlementWalletDto {
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 企业类型
+     */
+    private Long entId;
+
+    /**
+     * 结算id(交易订单结算/物流订单结算)
+     */
+    private Long settlementId;
+
+    /**
+     * 1-物流 2-交易
+     */
+    private Integer orderType;
+
+    /**
+     * 线上渠道 1-huifu
+     */
+    private Integer channel;
+
+    /**
+     * 回款时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date payTime;
+
+    /**
+     * 金额
+     */
+    private Double payPrice;
+
+    /**
+     * 剩余待付金额
+     */
+    private Double topayPrice;
+
+    /**
+     * 类型(0付款、1退款)
+     */
+    private Integer type;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态(0扣款、1结算、2异常、)
+     */
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    // 添加构造函数,getter和setter方法,以及其他业务逻辑方法(根据需要)
+
+    @Override
+    public String toString() {
+        return "SettlementWalletDto{" +
+                "id=" + id +
+                ", entId=" + entId +
+                ", settlementId=" + settlementId +
+                ", orderType=" + orderType +
+                ", channel=" + channel +
+                ", payTime=" + payTime +
+                ", payPrice=" + payPrice +
+                ", topayPrice=" + topayPrice +
+                ", type=" + type +
+                ", remark='" + remark + '\'' +
+                ", status=" + status +
+                ", createBy=" + createBy +
+                ", createTime=" + createTime +
+                ", updateBy=" + updateBy +
+                ", updateTime=" + updateTime +
+                ", delFlag=" + delFlag +
+                '}';
+    }
+}

+ 3 - 5
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/SettlementReq.java

@@ -3,13 +3,8 @@ package com.sckw.payment.model.vo.req;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sckw.core.model.vo.BasePara;
 import com.sckw.payment.model.constant.SettlementEnum;
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
 import lombok.Getter;
 import lombok.Setter;
-import org.checkerframework.common.value.qual.IntVal;
-import org.checkerframework.common.value.qual.StringVal;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serial;
@@ -50,4 +45,7 @@ public class SettlementReq extends BasePara {
      * @see SettlementEnum
      */
     private Integer status;
+
+
+    private List<Long> ids;
 }

+ 3 - 3
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/LedgerLogisticsVo.java

@@ -113,13 +113,13 @@ public class LedgerLogisticsVo {
 
 
 //    /**
-//     * 对账审核人电话
+//     * 对账托运方财务联系人电话
 //     */
-//    @ExcelProperty(value = "对账审核人电话")
+//    @ExcelProperty(value = "对账托运方财务联系人电话")
 //    private String auditPhone;
 
     /**
-     * 对账审核人名称
+     * 对账托运方财务联系人
      */
     @ExcelProperty(value = "提交人")
     private String auditUser;

+ 3 - 3
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/LedgerTradeVo.java

@@ -98,9 +98,9 @@ public class LedgerTradeVo {
     private BigDecimal actualPrice;
 
 //    /**
-//     * 对账审核人电话
+//     * 对账采购财务联系人电话
 //     */
-//    @ExcelProperty(value = "对账审核人电话")
+//    @ExcelProperty(value = "对账采购财务联系人电话")
 //    private String auditPhone;
     /**
      * 客户联系人
@@ -120,7 +120,7 @@ public class LedgerTradeVo {
     @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime receiptTime;
     /**
-     * 对账审核人名称
+     * 对账采购财务联系人名称
      */
     @ExcelProperty(value = "提交人")
     private String auditUser;

+ 35 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/SettlementLogisticsStatusCountVo.java

@@ -0,0 +1,35 @@
+package com.sckw.payment.model.vo.res;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author Aick Spt
+ * @date 2023-07-21 14:44
+ */
+@Getter
+@Setter
+public class SettlementLogisticsStatusCountVo {
+
+    /**
+     * 全部数据
+     */
+    public Long allCount;
+
+    /**
+     * 待结算数据
+     */
+    public Long waitingPaymentCount;
+
+    /**
+     * 部分结算数据
+     */
+    public Long partialPaymentCount;
+
+    /**
+     * 全部结算数据
+     */
+    public Long allPaymentCount;
+
+
+}

+ 160 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/SettlementLogisticsVo.java

@@ -0,0 +1,160 @@
+package com.sckw.payment.model.vo.res;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.excel.annotation.ExcelContext;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author Aick Spt
+ * @date 2023-07-21 15:28
+ */
+@Getter
+@Setter
+@ExcelContext(fileName = "物流结算订单列表", sheetName = "物流结算订单列表")
+public class SettlementLogisticsVo {
+
+    /**
+     * 主键
+     */
+    @ExcelProperty(value = "主键")
+    private Long id;
+
+    /**
+     * 结算单编号
+     */
+    @ExcelProperty(value = "结算单编号")
+    private String slOrderNo;
+
+    /**
+     * 名称
+     */
+    @ExcelProperty(value = "名称")
+    private String name;
+
+    /**
+     * 对账金额
+     */
+    @ExcelProperty(value = "对账金额")
+    private BigDecimal totalPrice;
+
+    /**
+     * 已收账款
+     */
+    @ExcelProperty(value = "已收账款")
+    private BigDecimal actualPrice;
+
+    /**
+     * 预计收款日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "预计收款日期")
+    private Date receiptTime;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+    /**
+     * 对账托运方财务联系人
+     */
+    @ExcelProperty(value = "对账托运方财务联系人")
+    private String auditUser;
+
+    /**
+     * 对账托运方财务联系人电话
+     */
+    @ExcelProperty(value = "对账托运方财务联系人电话")
+    private String auditPhone;
+
+    /**
+     * 对账承运方财务联系人
+     */
+    @ExcelProperty(value = "对账承运方财务联系人")
+    private String successUser;
+
+    /**
+     * 对账承运方财务联系人电话
+     */
+    @ExcelProperty(value = "对账承运方财务联系人电话")
+    private String successPhone;
+
+
+    @ExcelProperty(value = "状态")
+    private String statusText;
+
+    /**
+     * 创建人名称
+     */
+    @ExcelProperty(value = "创建人名称")
+    private String createByText;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "创建时间")
+    private Date createTime;
+
+
+    /**
+     * 更新人名称
+     */
+    @ExcelProperty(value = "更新人名称")
+    private String updateByText;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "更新时间")
+    private Date updateTime;
+
+
+    /**
+     * 对账单名称
+     */
+    @ExcelProperty(value = "对账单名称")
+    private String ledgerName;
+
+
+    /**
+     * 交易方式
+     */
+    @ExcelProperty(value = "交易方式")
+    private Integer ledgerTrading;
+
+    /**
+     * 对账单编号
+     */
+    @ExcelProperty(value = "对账单编号")
+    private String lLedgerNo;
+
+
+    /**
+     * 客户名称
+     */
+    @ExcelProperty(value = "客户名称")
+    private String customerName;
+
+
+    /**
+     * 实际应收还款
+     */
+    @ExcelProperty(value = "实际应收还款")
+    private BigDecimal ledgerSettlePrice;
+
+    /**
+     * 剩余待还款
+     */
+    @ExcelProperty(value = "剩余待还款")
+    private BigDecimal residuePrice;
+
+
+}

+ 59 - 15
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementLogisticsService.java

@@ -1,21 +1,28 @@
 package com.sckw.payment.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.core.model.page.PageRes;
 import com.sckw.payment.dao.KwpSettlementLogisticsMapper;
-import com.sckw.payment.model.dto.LedgerLogisticsDto;
+import com.sckw.payment.model.KwpLedgerTradeTrack;
+import com.sckw.payment.model.KwpSettlementLogistics;
+import com.sckw.payment.model.constant.LedgerTrackEnum;
+import com.sckw.payment.model.constant.SettlementEnum;
+import com.sckw.payment.model.dto.LedgerTradeDto;
 import com.sckw.payment.model.dto.SettlementLogisticsDto;
 import com.sckw.payment.model.vo.req.SettlementReq;
+import com.sckw.payment.model.vo.res.SettlementLogisticsStatusCountVo;
+import com.sckw.payment.utils.CommonValidator;
+import jakarta.validation.constraints.NotNull;
 import lombok.AllArgsConstructor;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
- * @author xucaiqin
+ * @author Aick Spt
  * @date 2023-07-10 16:38:36
  */
 @AllArgsConstructor
@@ -23,29 +30,66 @@ import java.util.List;
 public class KwpSettlementLogisticsService {
     private final KwpSettlementLogisticsMapper settlementLogisticsMapper;
 
+    public SettlementLogisticsStatusCountVo getCountList() {
+        SettlementLogisticsStatusCountVo settlementLogisticsStatusCountVos = new SettlementLogisticsStatusCountVo();
+        LambdaQueryWrapper<KwpSettlementLogistics> wrapper = new LambdaQueryWrapper<>();
+
+        settlementLogisticsStatusCountVos.setAllCount(settlementLogisticsMapper.selectCount(wrapper));
+
+        wrapper.eq(KwpSettlementLogistics::getStatus, SettlementEnum.WAITING_PAYMENT.getStatus());//待结算
+        settlementLogisticsStatusCountVos.setWaitingPaymentCount(settlementLogisticsMapper.selectCount(wrapper));
+
+        wrapper.clear();
+        wrapper.eq(KwpSettlementLogistics::getStatus, SettlementEnum.PARTIAL_PAYMENT.getStatus());//部分结算
+        settlementLogisticsStatusCountVos.setPartialPaymentCount(settlementLogisticsMapper.selectCount(wrapper));
+
+        wrapper.clear();
+        wrapper.eq(KwpSettlementLogistics::getStatus, SettlementEnum.ALL_PAYMENT.getStatus());//全部结算
+        settlementLogisticsStatusCountVos.setAllPaymentCount(settlementLogisticsMapper.selectCount(wrapper));
+
+        return settlementLogisticsStatusCountVos;
+    }
+
     public PageRes<SettlementLogisticsDto> pageList(SettlementReq settlementReq) {
-        //todo 查询缓存,获取客户企业id
-        String keywords = settlementReq.getKeywords();
-        if (StringUtils.isNotBlank(keywords)) {
-            System.out.println("关键之:" + keywords);
-        }
-        PageHelper.startPage(settlementReq.getPage(), settlementReq.getPageSize());
+        CommonValidator.isValidCoexisting(settlementReq.getStartCreateTime(), settlementReq.getEndCreateTime(), "");
+        CommonValidator.isValidCoexisting(settlementReq.getStartReceiptTime(), settlementReq.getEndReceiptTime(), "预计收款开始和结束时间");
 
+        PageHelper.startPage(settlementReq.getPage(), settlementReq.getPageSize());
         List<SettlementLogisticsDto> kwpLedgerLogisticsList = settlementLogisticsMapper.pageSelect(settlementReq);
 
+        // 对查询结果进行处理,转换 status 到 desc
+        for (SettlementLogisticsDto entity : kwpLedgerLogisticsList) {
+            entity.setStatusText(SettlementEnum.getStatusDesc(entity.getStatus()));
+            entity.setResiduePrice(entity.getLedgerSettlePrice().subtract(entity.getActualPrice()));
+            entity.setCreateByText("创建人名称");
+            entity.setUpdateByText("更新人名称");
+        }
         return new PageRes<>(new PageInfo<>(kwpLedgerLogisticsList));
+
+    }
+
+
+    /**
+     * 根据id查物流结算订单
+     *
+     * @param ids 物流结算订单集合List<Long>
+     * @author Aick Spt
+     * @date 2023-07-21 16:16
+     */
+    public List<SettlementLogisticsDto> selectList(List<Long> ids) {
+        return settlementLogisticsMapper.selectIds(ids);
     }
 
 
     /**
      * 结算-物流订单详情
-     * @author Administrator
-     * @date 2023-07-19 09:11
+     *
      * @param id 结算物流订单id
+     * @author Aick Spt
+     * @date 2023-07-19 09:11
      */
-    public SettlementLogisticsDto detail(String id){
-        SettlementLogisticsDto settlementLogistics = settlementLogisticsMapper.detail(id);
-        return settlementLogistics;
+    public SettlementLogisticsDto detail(Long id) {
+        return settlementLogisticsMapper.detail(id);
     }
 
 }

+ 11 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementLogisticsTrackService.java

@@ -1,5 +1,7 @@
 package com.sckw.payment.service;
 
+import com.sckw.payment.dao.KwpSettlementLogisticsTrackMapper;
+import com.sckw.payment.model.KwpSettlementLogisticsTrack;
 import org.springframework.stereotype.Service;
 /**
  * @author xucaiqin
@@ -9,4 +11,13 @@ import org.springframework.stereotype.Service;
 @Service
 public class KwpSettlementLogisticsTrackService  {
 
+    private final KwpSettlementLogisticsTrackMapper settlementLogisticsTrackMapper;
+
+    public KwpSettlementLogisticsTrackService(KwpSettlementLogisticsTrackMapper settlementLogisticsTrackMapper) {
+        this.settlementLogisticsTrackMapper = settlementLogisticsTrackMapper;
+    }
+
+    public void save(KwpSettlementLogisticsTrack kwpSettlementLogisticsTrack) {
+        settlementLogisticsTrackMapper.insert(kwpSettlementLogisticsTrack);
+    }
 }

+ 56 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementOfflineService.java

@@ -1,12 +1,67 @@
 package com.sckw.payment.service;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.sckw.core.model.page.PageRes;
+import com.sckw.payment.dao.KwpSettlementLogisticsMapper;
+import com.sckw.payment.dao.KwpSettlementOfflineMapper;
+import com.sckw.payment.model.dto.SettlementLogisticsDto;
+import com.sckw.payment.model.vo.req.SettlementReq;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
 /**
  * @author xucaiqin
  * @date 2023-07-10 16:38:36
  */
-
+@AllArgsConstructor
 @Service
 public class KwpSettlementOfflineService {
 
+    private final KwpSettlementOfflineMapper settlementOfflineMapper;
+
+    public PageRes<SettlementLogisticsDto> pageList(SettlementReq settlementReq) {
+//        //todo 查询缓存,获取客户企业id
+//        String keywords = settlementReq.getKeywords();
+//        if (StringUtils.isNotBlank(keywords)) {
+//            System.out.println("关键之:" + keywords);
+//        }
+//        PageHelper.startPage(settlementReq.getPage(), settlementReq.getPageSize());
+//
+//        List<SettlementLogisticsDto> kwpLedgerLogisticsList = settlementOfflineMapper.pageSelect(settlementReq);
+//
+//        return new PageRes<>(new PageInfo<>(kwpLedgerLogisticsList));
+        return new PageRes<>(new PageInfo<>());
+    }
+
+
+    /**
+     * 结算-物流订单详情
+     *
+     * @param id 结算物流订单id
+     * @author Aick Spt
+     * @date 2023-07-19 09:11
+     */
+    public SettlementLogisticsDto detail(Long id) {
+//        return settlementOfflineMapper.detail(id);
+        return new SettlementLogisticsDto();
+    }
+
+    /**
+     * 收款确认
+     *
+     * @param price 付款金额
+     * @return InsertId
+     * @author Aick Spt
+     * @date 2023-07-20 14:23
+     */
+    public Integer confirm(Long id, Float price) {
+
+        return 1;
+    }
+
 }

+ 34 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementTradeService.java

@@ -1,7 +1,12 @@
 package com.sckw.payment.service;
 
+import com.github.pagehelper.PageInfo;
+import com.sckw.core.model.page.PageRes;
 import com.sckw.payment.dao.KwpSettlementTradeMapper;
 import com.sckw.payment.model.KwpSettlementTrade;
+import com.sckw.payment.model.dto.SettlementLogisticsDto;
+import com.sckw.payment.model.dto.SettlementWalletDto;
+import com.sckw.payment.model.vo.req.SettlementReq;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -17,4 +22,33 @@ public class KwpSettlementTradeService {
     public void save(KwpSettlementTrade kwpSettlementTrade) {
         settlementTradeMapper.insert(kwpSettlementTrade);
     }
+
+    public PageRes<SettlementWalletDto> pageList(SettlementReq settlementReq) {
+//        //todo 查询缓存,获取客户企业id
+//        String keywords = settlementReq.getKeywords();
+//        if (StringUtils.isNotBlank(keywords)) {
+//            System.out.println("关键之:" + keywords);
+//        }
+//        PageHelper.startPage(settlementReq.getPage(), settlementReq.getPageSize());
+//
+//        List<SettlementLogisticsDto> kwpLedgerLogisticsList = settlementOfflineMapper.pageSelect(settlementReq);
+//
+//        return new PageRes<>(new PageInfo<>(kwpLedgerLogisticsList));
+        return new PageRes<>(new PageInfo<>());
+    }
+
+
+    /**
+     * 结算-物流订单详情
+     *
+     * @param id 结算物流订单id
+     * @author Aick Spt
+     * @date 2023-07-19 09:11
+     */
+    public SettlementLogisticsDto detail(Long id) {
+//        return settlementOfflineMapper.detail(id);
+        return new SettlementLogisticsDto();
+    }
+
+
 }

+ 11 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementTradeTrackService.java

@@ -1,5 +1,7 @@
 package com.sckw.payment.service;
 
+import com.sckw.payment.dao.KwpSettlementTradeTrackMapper;
+import com.sckw.payment.model.KwpSettlementTradeTrack;
 import org.springframework.stereotype.Service;
 /**
  * @author xucaiqin
@@ -9,4 +11,13 @@ import org.springframework.stereotype.Service;
 @Service
 public class KwpSettlementTradeTrackService  {
 
+    private final KwpSettlementTradeTrackMapper settlementTradeTrackMapper;
+
+    public KwpSettlementTradeTrackService(KwpSettlementTradeTrackMapper settlementTradeTrackMapper) {
+        this.settlementTradeTrackMapper = settlementTradeTrackMapper;
+    }
+
+    public void save(KwpSettlementTradeTrack kwpSettlementTradeTrack) {
+        settlementTradeTrackMapper.insert(kwpSettlementTradeTrack);
+    }
 }

+ 50 - 3
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementWalletService.java

@@ -1,13 +1,60 @@
 package com.sckw.payment.service;
 
+import com.github.pagehelper.PageInfo;
+import com.sckw.core.model.page.PageRes;
+import com.sckw.payment.dao.KwpSettlementWalletMapper;
+import com.sckw.payment.model.dto.SettlementLogisticsDto;
+import com.sckw.payment.model.dto.SettlementWalletDto;
+import com.sckw.payment.model.vo.req.SettlementReq;
 import org.springframework.stereotype.Service;
 
 /**
- * @author xucaiqin
- * @date 2023-07-10 16:38:36
+ *
+ * @author Aick Spt
+ * @date 2023-07-20 14:55
  */
-
 @Service
 public class KwpSettlementWalletService {
 
+//    private final KwpSettlementWalletMapper settlementWalletMapper;
+
+    public PageRes<SettlementWalletDto> pageList(SettlementReq settlementReq) {
+//        //todo 查询缓存,获取客户企业id
+//        String keywords = settlementReq.getKeywords();
+//        if (StringUtils.isNotBlank(keywords)) {
+//            System.out.println("关键之:" + keywords);
+//        }
+//        PageHelper.startPage(settlementReq.getPage(), settlementReq.getPageSize());
+//
+//        List<SettlementLogisticsDto> kwpLedgerLogisticsList = settlementOfflineMapper.pageSelect(settlementReq);
+//
+//        return new PageRes<>(new PageInfo<>(kwpLedgerLogisticsList));
+        return new PageRes<>(new PageInfo<>());
+    }
+
+
+    /**
+     * 结算-物流订单详情
+     *
+     * @param id 结算物流订单id
+     * @author Aick Spt
+     * @date 2023-07-19 09:11
+     */
+    public SettlementLogisticsDto detail(Long id) {
+//        return settlementOfflineMapper.detail(id);
+        return new SettlementLogisticsDto();
+    }
+
+    /**
+     * 收款确认
+     *
+     * @param price 付款金额
+     * @return InsertId
+     * @author Aick Spt
+     * @date 2023-07-20 14:23
+     */
+    public Integer confirm(Long id, Float price) {
+
+        return 1;
+    }
 }

+ 48 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/utils/CommonValidator.java

@@ -0,0 +1,48 @@
+package com.sckw.payment.utils;
+
+import com.sckw.core.exception.BusinessException;
+import org.apache.commons.lang3.StringUtils;
+
+import java.time.LocalDateTime;
+import java.util.regex.Pattern;
+import java.util.regex.Matcher;
+
+/**
+ * @author Aick Spt
+ * @date 2023-07-20 17:18
+ */
+public class CommonValidator {
+
+    // 时间格式的正则表达式
+    private static final String TIME_PATTERN = "\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}";
+
+    /**
+     * 判断时间段的开始时间和结束时间是否同时存在或同时不存在,且格式为 yyyy-MM-dd HH:mm:ss
+     *
+     * @param startTime 时间段的开始时间
+     * @param endTime   时间段的结束时间
+     * @return 如果格式正确且同时存在返回 true,否则返回 false
+     * @author Aick Spt
+     * @date 2023-07-20 17:19
+     */
+    public static boolean isValidTimeRange(String startTime, String endTime) {
+        // 使用正则表达式匹配时间格式
+        if (StringUtils.isBlank(startTime) && StringUtils.isBlank(endTime)) {
+            return true;
+        }
+        Pattern pattern = Pattern.compile(TIME_PATTERN);
+        Matcher startMatcher = pattern.matcher(startTime);
+        Matcher endMatcher = pattern.matcher(endTime);
+
+        // 检查开始时间和结束时间是否同时存在,并且格式符合要求
+        return startMatcher.matches() && endMatcher.matches();
+    }
+
+    public static void isValidCoexisting(LocalDateTime startCreateTime, LocalDateTime endCreateTime, String msg) {
+        if (!((startCreateTime == null && endCreateTime == null) || (startCreateTime != null && endCreateTime != null))) {
+            throw new BusinessException("请正确填写" + (StringUtils.isNotBlank(msg) ? msg : "开始和结束时间"));
+        }
+    }
+
+
+}

+ 56 - 39
sckw-modules/sckw-payment/src/main/resources/mapper/KwpSettlementLogisticsMapper.xml

@@ -47,26 +47,26 @@
         update_time,
         del_flag
     </sql>
-    <sql id="Join_Column_List">
+    <sql id="Join_Column_List" lang="com.sckw.payment.model.dto.SettlementLogisticsDto">
         s.id,
-        s.ent_id,
-        s.l_ledger_id,
-        s.sl_order_no,
+        s.ent_id        as entId,
+        s.l_ledger_id   as lLedgerId,
+        s.sl_order_no   as slOrderNo,
         s.`name`,
-        s.total_price,
-        s.actual_price,
-        s.receipt_time,
+        s.total_price   as totalPrice,
+        s.actual_price  as actualPrice,
+        s.receipt_time  as receiptTime,
         s.remark,
-        s.audit_user,
-        s.audit_phone,
-        s.success_user,
-        s.success_phone,
+        s.audit_user    as auditUser,
+        s.audit_phone   as auditPhone,
+        s.success_user  as successUser,
+        s.success_phone as successPhone,
         s.`status`,
-        s.create_by,
-        s.create_time,
-        s.update_by,
-        s.update_time,
-        s.del_flag
+        s.create_by     as createBy,
+        s.create_time   as createTime,
+        s.update_by     as updateBy,
+        s.update_time   as updateTime,
+        s.del_flag      as delFlag
     </sql>
 
 
@@ -79,30 +79,22 @@
     </select>
 
     <select id="pageSelect" resultType="com.sckw.payment.model.dto.SettlementLogisticsDto">
-        select s.id,
-               s.ent_id,
-               s.l_ledger_id,
-               s.sl_order_no,
-               s.`name`,
-               s.total_price,
-               s.actual_price,
-               s.receipt_time,
-               s.remark,
-               s.audit_user,
-               s.audit_phone,
-               s.success_user,
-               s.success_phone,
-               s.`status`,
-               s.create_by,
-               s.create_time,
-               s.update_by,
-               s.update_time,
-               s.del_flag,
-               l.name as ledger_name
+        select l.`name`       as ledgerName,
+               l.l_ledger_no  as lLedgerNo,
+               l.trading      as ledgerTrading,
+               l.settle_price as ledgerSettlePrice,
+
+               lu.unit_type   as unitType,
+               lu.firm_name   as CustomerName,
+
+        <include refid="Join_Column_List"/>
         from kwp_settlement_logistics s
-                 inner join kwp_ledger_logistics l
-                            on s.l_ledger_id = l.id
+                 left join kwp_ledger_logistics l
+                           on s.l_ledger_id = l.id
+                 left join kwp_ledger_logistics_unit lu
+                           on s.l_ledger_id = lu.l_ledger_id
         <where>
+            l.del_flag = 0
             <if test="settlementReq.status != null">
                 and s.status = #{settlementReq.status}
             </if>
@@ -124,7 +116,7 @@
                     )
             </if>
         </where>
-        order by update_time desc
+        order by s.update_time desc
     </select>
 
     <select id="detail"  parameterType="java.lang.Long"  resultType="com.sckw.payment.model.dto.SettlementLogisticsDto">
@@ -135,4 +127,29 @@
         left join kwp_ledger_logistics_unit u on l.id = u.l_ledger_id
         where s.id = #{id,jdbcType=BIGINT}
     </select>
+
+    <select id="selectIds" resultType="com.sckw.payment.model.dto.SettlementLogisticsDto">
+        select l.`name`       as ledgerName,
+               l.l_ledger_no  as lLedgerNo,
+               l.trading      as ledgerTrading,
+               l.settle_price as ledgerSettlePrice,
+
+               lu.unit_type   as unitType,
+               lu.firm_name   as CustomerName,
+
+        <include refid="Join_Column_List"/>
+        from kwp_settlement_logistics s
+                 left join kwp_ledger_logistics l
+                           on s.l_ledger_id = l.id
+                 left join kwp_ledger_logistics_unit lu
+                           on s.l_ledger_id = lu.l_ledger_id
+        <where>
+            s.del_flag = 0
+              and s.id in
+            <foreach collection="ids" item="id" close=")" open="(" separator=",">
+                #{id,jdbcType=BIGINT}
+            </foreach>
+        </where>
+        order by s.update_time desc
+    </select>
 </mapper>