From 0b14f9edded52e3b529fe0bc346904333ea2d4c4 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期一, 17 六月 2024 20:46:26 +0800
Subject: [PATCH] 实现 获取虚拟卡充值记录接口

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java   |   19 ++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml                               |   39 +++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/dto/DtoVcRecharge.java |   26 ++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardSv.java     |   25 ++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java                |   15 +++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoVcRecharge.java                        |   51 +++++++++++++++++
 6 files changed, 175 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java
index 5680485..1552043 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java
@@ -2,11 +2,13 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
+import com.dy.pipIrrGlobal.voSe.VoVcRecharge;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author ZhuBaoMin
@@ -77,4 +79,17 @@
      * @return
      */
     void updateVcCardNoUseStateByIntakeId(@Param("intakeId")Long intakeId) ;
+
+    /**
+     * 鑾峰彇铏氭嫙鍗″厖鍊艰褰�
+     * @return
+     */
+    List<VoVcRecharge> getVcRechargeRecords(Map<?, ?> params);
+
+    /**
+     * 鑾峰彇铏氭嫙鍗″厖鍊艰褰曟暟
+     * @param params
+     * @return
+     */
+    Long getRechargeRecordCount(Map<?, ?> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoVcRecharge.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoVcRecharge.java
new file mode 100644
index 0000000..0e9c043
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoVcRecharge.java
@@ -0,0 +1,51 @@
+package com.dy.pipIrrGlobal.voSe;
+
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/6/17  11:24
+ * @LastEditTime :2024/6/17  11:24
+ * @Description
+ */
+@Data
+public class VoVcRecharge implements BaseEntity {
+
+    @Schema(title = "鍏呭�糏D")
+    private Long id;
+
+    @Schema(description = "铏氭嫙鍗D")
+    private Long vcId;
+
+    @Schema(description = "鍐滄埛ID")
+    private Long clientId;
+
+
+    @Schema(description = "閽卞寘浣欓")
+    private Double money;
+
+    @Schema(description = "鍏呭�煎悗浣欓")
+    private Double afterRecharge;
+
+    @Schema(description = "璁㈠崟鍙�")
+    private String orderNumber;
+
+    @Schema(description = "鍏呭�奸噾棰�")
+    private Integer rechargeAmount;
+
+    @Schema(description = "涓嬪崟鏃堕棿")
+    private Date orderTime;
+
+    @Schema(description = "鍏呭�煎畬鎴愭椂闂�")
+    private Date rechargeTime;
+
+    @Schema(description = "璁㈠崟鐘舵��")
+    private Byte orderState;
+
+    @Schema(description = "璁㈠崟鐘舵��")
+    private String orderStateName;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
index dd319b6..54511ba 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
@@ -222,4 +222,43 @@
     LIMIT 0,1
   </select>
 
+  <!--鑾峰彇铏氭嫙鍗″厖鍊艰褰�-->
+  <select id="getVcRechargeRecords" resultType="com.dy.pipIrrGlobal.voSe.VoVcRecharge" >
+    SELECT
+      CAST(id AS char) AS id,
+      CAST(vc_id AS char) AS vcId,
+      CAST(client_id AS char) AS clientId,
+      money,
+      after_recharge AS afterRecharge,
+      order_number AS orderNumber,
+      recharge_amount AS rechargeAmount,
+      order_time AS orderTime,
+      recharge_time AS rechargeTime,
+      order_state AS orderState,
+      (CASE
+      WHEN order_state = 1 THEN "鏈敮浠�"
+      WHEN order_state = 2 THEN "宸叉敮浠�"
+      END) AS orderStateName
+    FROM se_vc_recharge
+    <where>
+      <if test = "orderState != null">
+         order_state = #{orderState,jdbcType=TINYINT}
+      </if>
+    </where>
+    order by recharge_time DESC
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
+    </if>
+  </select>
+
+  <select id="getRechargeRecordCount" resultType="java.lang.Long">
+    SELECT
+      COUNT(*)
+    FROM se_vc_recharge
+    <where>
+      <if test = "orderState != null">
+         order_state = #{orderState,jdbcType=TINYINT}
+      </if>
+    </where>
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java
index 26cb867..5e996fd 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java
@@ -3,11 +3,15 @@
 import com.dy.common.aop.SsoAop;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
+import com.dy.pipIrrGlobal.voPr.VoController;
+import com.dy.pipIrrGlobal.voSe.VoVcRecharge;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
 import com.dy.pipIrrSell.result.SellResultCode;
 import com.dy.pipIrrSell.util.PayHelper;
 import com.dy.pipIrrSell.virtualCard.dto.DtoRegist;
+import com.dy.pipIrrSell.virtualCard.dto.DtoVcRecharge;
 import com.dy.pipIrrSell.virtualCard.enums.LastOperateENUM;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.validation.Valid;
@@ -248,4 +252,19 @@
     //    return BaseResponseUtils.buildSuccess(true) ;
     //}
 
+    /**
+     * 鑾峰彇铏氭嫙鍗″厖鍊艰褰�
+     * @return
+     */
+    @GetMapping(path = "/getVcRechargeRecords")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoVcRecharge>>> getVcRechargeRecords(@RequestBody DtoVcRecharge dtoVcRecharge){
+        try {
+            QueryResultVo<List<VoVcRecharge>> res = virtualCardSv.getVcRechargeRecords(dtoVcRecharge);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇铏氭嫙鍗″厖鍊艰褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardSv.java
index 832e9da..54b2a4d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardSv.java
@@ -2,24 +2,30 @@
 
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoSe.*;
 import com.dy.pipIrrGlobal.pojoSe.SeVcRecharge;
 import com.dy.pipIrrGlobal.pojoSe.SeVcRefund;
 import com.dy.pipIrrGlobal.pojoSe.SeVcRefundItem;
 import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
+import com.dy.pipIrrGlobal.voPr.VoController;
 import com.dy.pipIrrGlobal.voSe.VoOrders;
+import com.dy.pipIrrGlobal.voSe.VoVcRecharge;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
 import com.dy.pipIrrSell.result.SellResultCode;
+import com.dy.pipIrrSell.virtualCard.dto.DtoVcRecharge;
 import com.dy.pipIrrSell.virtualCard.dto.DtoVirtualCard;
 import com.dy.pipIrrSell.virtualCard.enums.LastOperateENUM;
 import com.dy.pipIrrSell.virtualCard.enums.OrderStateENUM;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author ZhuBaoMin
@@ -325,4 +331,23 @@
     public Long getRefundIdByRefundNumber(String refundNumber) {
         return seVcRefundItemMapper.getRefundIdByRefundNumber(refundNumber);
     }
+
+    /**
+     * 鑾峰彇铏氭嫙鍗″厖鍊艰褰�
+     * @param dtoVcRecharge
+     * @return
+     */
+    public QueryResultVo<List<VoVcRecharge>> getVcRechargeRecords(DtoVcRecharge dtoVcRecharge){
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(dtoVcRecharge);
+        Long itemTotal = seVirtualCardMapper.getRechargeRecordCount(params);
+
+        QueryResultVo<List<VoVcRecharge>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = dtoVcRecharge.pageSize;
+        rsVo.pageCurr = dtoVcRecharge.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = seVirtualCardMapper.getVcRechargeRecords(params);
+
+        return rsVo;
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/dto/DtoVcRecharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/dto/DtoVcRecharge.java
new file mode 100644
index 0000000..d7774d6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/dto/DtoVcRecharge.java
@@ -0,0 +1,26 @@
+package com.dy.pipIrrSell.virtualCard.dto;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import org.hibernate.validator.constraints.Length;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/6/17  17:15
+ * @LastEditTime :2024/6/17  17:15
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "铏氭嫙鍗″厖鍊艰褰曟煡璇㈡潯浠�")
+public class DtoVcRecharge extends QueryConditionVo {
+
+    @Schema(description = "璁㈠崟鐘舵��", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @Length(message = "璁㈠崟鐘舵�佷笉澶т簬{max}锛屼笉灏忎簬{min}", min = 1, max = 2)
+    private Byte orderState;
+}

--
Gitblit v1.8.0