Просмотр исходного кода

新增一个结算物流接口

sptkw 2 лет назад
Родитель
Сommit
b87bced9a1

+ 23 - 6
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementLogisticsController.java

@@ -1,13 +1,30 @@
 package com.sckw.payment.controller;
+
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.payment.model.vo.req.LogisticsReq;
+import com.sckw.payment.model.vo.req.SettlementReq;
+import com.sckw.payment.service.KwpLedgerLogisticsService;
+import com.sckw.payment.service.KwpSettlementLogisticsService;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
 import org.springframework.web.bind.annotation.*;
 
 /**
-* 结算-物流订单
-*
-* @author xucaiqin
-*/
+ * 结算-物流订单
+ *
+ * @author xucaiqin
+ */
 @RestController
-@RequestMapping("/kwp_settlement_logistics")
+@RequestMapping(name = "结算-物流订单", path = "/kwpSettlementLogistics")
 public class KwpSettlementLogisticsController {
-    
+
+    @Resource
+    private KwpSettlementLogisticsService kwpSettlementLogisticsService;
+
+    @PostMapping(name = "付款记录列表", path = "pageList")
+    public HttpResult pageList(@RequestBody @Valid SettlementReq settlementReq) {
+        return HttpResult.ok(kwpSettlementLogisticsService.pageList(settlementReq));
+    }
+
+
 }

+ 15 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpSettlementLogisticsMapper.java

@@ -1,8 +1,15 @@
 package com.sckw.payment.dao;
 
 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.vo.req.LogisticsReq;
+import com.sckw.payment.model.vo.req.SettlementReq;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author xucaiqin
@@ -10,5 +17,12 @@ import org.apache.ibatis.annotations.Mapper;
  */
 
 @Mapper
-public interface KwpSettlementLogisticsMapper extends BaseMapper<KwpSettlementLogistics> {
+public interface KwpSettlementLogisticsMapper extends BaseMapper<KwpLedgerLogistics> {
+
+    /**
+     * @param settlementReq 过滤参数
+     * @param ids          客户单位id
+     */
+    List<LedgerLogisticsDto> pageSelect(@Param("settlementReq") SettlementReq settlementReq);
+
 }

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

@@ -8,11 +8,10 @@ package com.sckw.payment.model.constant;
  * @date 2023-07-11 12:00:52
  */
 public enum SettlementEnum {
-    SAVE(1, "已保存"),
-    TO_LEDGER(2, "待对账"),
-    LEDGERED(3, "已对账"),
-    SUCCESS(4, "已完成"),
-    BACK(5, "已退回");
+    WAITING_PAYMENT(0, "待回款"),
+    PARTIAL_PAYMENT(1, "部分回款"),
+    ALL_PAYMENT(2, "全部回款"),
+    BACK(3, "回退");
     private int status;
     private String desc;
 

+ 53 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/SettlementReq.java

@@ -0,0 +1,53 @@
+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;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author Aick Spt
+ * @date 2023-07-18 11:29
+ */
+@Getter
+@Setter
+public class SettlementReq extends BasePara {
+//    @Serial
+//    private static final long serialVersionUID = 5328731681168692784L;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @NotNull(message = "创建时间开始日期不能为空")
+    private LocalDateTime startCreateTime;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @NotNull(message = "创建时间结束日期不能为空")
+    private LocalDateTime endCreateTime;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @NotNull(message = "预计回款开始日期不能为空")
+    private LocalDateTime startReceiptTime;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @NotNull(message = "预计回款结束日期不能为空")
+    private LocalDateTime endReceiptTime;
+
+    /**
+     * @see SettlementEnum
+     */
+    private Integer status;
+}

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

@@ -244,7 +244,7 @@ public class KwpLedgerLogisticsService extends AbsLedger {
         kwpSettlementLogistics.setUpdateTime(LocalDateTime.now());
         kwpSettlementLogistics.setDelFlag(0);
 
-        settlementLogisticsService.save(kwpSettlementLogistics);
+//        settlementLogisticsService.save(kwpSettlementLogistics);
 
         logisticsTrackService.saveTrack(ledgerReq.getId(), "", LedgerTrackEnum.SUCCESS);
         return "对账完成";

+ 20 - 3
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementLogisticsService.java

@@ -1,10 +1,18 @@
 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.model.KwpSettlementLogistics;
+import com.sckw.payment.model.dto.LedgerLogisticsDto;
+import com.sckw.payment.model.vo.req.SettlementReq;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @author xucaiqin
  * @date 2023-07-10 16:38:36
@@ -14,8 +22,17 @@ import org.springframework.stereotype.Service;
 public class KwpSettlementLogisticsService {
     private final KwpSettlementLogisticsMapper settlementLogisticsMapper;
 
-    public void save(KwpSettlementLogistics kwpSettlementLogistics) {
-        settlementLogisticsMapper.insert(kwpSettlementLogistics);
+    public PageRes<LedgerLogisticsDto> pageList(SettlementReq settlementReq) {
+        //todo 查询缓存,获取客户企业id
+        String keywords = settlementReq.getKeywords();
+        if (StringUtils.isNotBlank(keywords)) {
+            System.out.println("关键之:" + keywords);
+        }
+        PageHelper.startPage(settlementReq.getPage(), settlementReq.getPageSize());
+
+        List<LedgerLogisticsDto> kwpLedgerLogisticsList = settlementLogisticsMapper.pageSelect(settlementReq);
+
+        return new PageRes<>(new PageInfo<>(kwpLedgerLogisticsList));
     }
 
 }

+ 24 - 0
sckw-modules/sckw-payment/src/main/resources/bootstrap-pdy.yml

@@ -0,0 +1,24 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        # 服务注册地址
+        server-addr: 10.10.10.230:8848
+        # 命名空间
+        namespace: sckw_pdy
+        # 共享配置
+        group: sckw-service-platform
+      config:
+        # 配置中心地址
+        server-addr: 10.10.10.230:8848
+        # 配置文件格式
+        file-extension: yaml
+        # 命名空间
+        namespace: sckw_pdy
+        # 共享配置
+        group: sckw-service-platform
+        #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组
+        extension-configs:
+          - dataId: sckw-common.yml
+            group: sckw-service-platform
+            refresh: true

+ 104 - 29
sckw-modules/sckw-payment/src/main/resources/mapper/KwpSettlementLogisticsMapper.xml

@@ -1,33 +1,108 @@
 <?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.KwpSettlementLogisticsMapper">
-  <resultMap id="BaseResultMap" type="com.sckw.payment.model.KwpSettlementLogistics">
-    <!--@mbg.generated-->
-    <!--@Table kwp_settlement_logistics-->
-    <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="ent_id" jdbcType="BIGINT" property="entId" />
-    <result column="l_ledger_id" jdbcType="BIGINT" property="lLedgerId" />
-    <result column="sl_order_no" jdbcType="VARCHAR" property="slOrderNo" />
-    <result column="name" jdbcType="VARCHAR" property="name" />
-    <result column="total_price" jdbcType="DECIMAL" property="totalPrice" />
-    <result column="actual_price" jdbcType="DECIMAL" property="actualPrice" />
-    <result column="receipt_time" jdbcType="TIMESTAMP" property="receiptTime" />
-    <result column="remark" jdbcType="VARCHAR" property="remark" />
-    <result column="audit_user" jdbcType="VARCHAR" property="auditUser" />
-    <result column="audit_phone" jdbcType="VARCHAR" property="auditPhone" />
-    <result column="success_user" jdbcType="VARCHAR" property="successUser" />
-    <result column="success_phone" jdbcType="VARCHAR" property="successPhone" />
-    <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, ent_id, l_ledger_id, sl_order_no, `name`, total_price, actual_price, receipt_time, 
-    remark, audit_user, audit_phone, success_user, success_phone, `status`, create_by, 
-    create_time, update_by, update_time, del_flag
-  </sql>
+    <resultMap id="BaseResultMap" type="com.sckw.payment.model.KwpSettlementLogistics">
+        <!--@mbg.generated-->
+        <!--@Table kwp_settlement_logistics-->
+        <id column="id" jdbcType="BIGINT" property="id"/>
+        <result column="ent_id" jdbcType="BIGINT" property="entId"/>
+        <result column="l_ledger_id" jdbcType="BIGINT" property="lLedgerId"/>
+        <result column="sl_order_no" jdbcType="VARCHAR" property="slOrderNo"/>
+        <result column="name" jdbcType="VARCHAR" property="name"/>
+        <result column="total_price" jdbcType="DECIMAL" property="totalPrice"/>
+        <result column="actual_price" jdbcType="DECIMAL" property="actualPrice"/>
+        <result column="receipt_time" jdbcType="TIMESTAMP" property="receiptTime"/>
+        <result column="remark" jdbcType="VARCHAR" property="remark"/>
+        <result column="audit_user" jdbcType="VARCHAR" property="auditUser"/>
+        <result column="audit_phone" jdbcType="VARCHAR" property="auditPhone"/>
+        <result column="success_user" jdbcType="VARCHAR" property="successUser"/>
+        <result column="success_phone" jdbcType="VARCHAR" property="successPhone"/>
+        <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,
+        ent_id,
+        l_ledger_id,
+        sl_order_no,
+        `name`,
+        total_price,
+        actual_price,
+        receipt_time,
+        remark,
+        audit_user,
+        audit_phone,
+        success_user,
+        success_phone,
+        `status`,
+        create_by,
+        create_time,
+        update_by,
+        update_time,
+        del_flag
+    </sql>
+
+
+    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+        <!--@mbg.generated-->
+        select
+        <include refid="Base_Column_List"/>
+        from kwp_settlement_logistics
+        where id = #{id,jdbcType=BIGINT}
+    </select>
+
+    <select id="pageSelect" resultType="com.sckw.payment.model.dto.LedgerLogisticsDto">
+        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
+        from kwp_settlement_logistics s
+                 inner join kwp_ledger_logistics l
+                            on s.l_ledger_id = l.id
+        <where>
+            <if test="settlementReq.status != null">
+                and s.status = #{settlementReq.status}
+            </if>
+
+            <if test="settlementReq.startCreateTime != null and settlementReq.endCreateTime != null">
+                and s.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP}
+                    and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
+            </if>
+            <if test="settlementReq.startReceiptTime != null and settlementReq.endReceiptTime != null">
+                and s.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP}
+                    and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
+            </if>
+
+            <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
+                and (
+                        l.l_ledger_no like concat('%'
+                        , #{settlementReq.keywords}
+                        , '%')
+                    )
+            </if>
+        </where>
+        order by update_time desc
+    </select>
 </mapper>