From 6c7ff752b198a4d7e9e990d0197dae054499d84d Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期四, 11 七月 2024 16:04:01 +0800
Subject: [PATCH] 2024-07-11 朱宝民 优化获取交易统计记录接口

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml                                       |    3 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java                       |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/LastOperateENUM.java     |   27 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoVcRecharge.java         |   15 +
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/OrderStateENUM.java      |   21 +
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java                     |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoAudit.java              |   35 +++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/RefundStateENUM.java     |   22 ++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/BaseResponseUtils.java                                  |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoRefund.java             |   30 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/RefundItemStateENUM.java |   21 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/qo/QoSummary.java                      |    5 
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoVirtualCard.java        |   41 +++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java             |  355 ++++++++++++++++++++++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoRegist.java             |   23 ++
 15 files changed, 603 insertions(+), 7 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/BaseResponseUtils.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/BaseResponseUtils.java
index e7606f5..95bcee8 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/BaseResponseUtils.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/BaseResponseUtils.java
@@ -44,6 +44,10 @@
         return buildResult(ResultCodeMsg.RsCode.ERROR_CODE, msg, null);
     }
 
+    public static BaseResponse buildCodeMsg(Integer code, String msg) {
+        return buildResult(String.valueOf(code), msg, null);
+    }
+
     public static BaseResponse buildError(Object obj){
         return buildResult(ResultCodeMsg.RsCode.ERROR_CODE,ResultCodeMsg.RsMsg.ERROR_MESSAGE, obj);
     }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml
index 1523ef4..c0c22f6 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml
@@ -3,7 +3,8 @@
     datasource: #閰嶇疆鏁版嵁婧�
         type: com.alibaba.druid.pool.DruidDataSource
         driver-class-name: com.mysql.cj.jdbc.Driver
-        url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+#        url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+        url: jdbc:mysql://8.140.179.55:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
         username: root
         password: dysql,;.abc!@#
         druid:
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java
index 7c177b2..caeca6b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java
@@ -193,11 +193,7 @@
     public BaseResponse<Map> getSummaries(QoSummary vo){
         try {
             Map res = generalSv.getSummaries(vo);
-            if(res.size() > 0) {
-                return BaseResponseUtils.buildSuccess(res);
-            }else {
-                return BaseResponseUtils.buildFail(SellResultCode.No_TRADE_SUMMARIES.getMessage());
-            }
+            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/general/qo/QoSummary.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/qo/QoSummary.java
index 313d0db..765888d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/qo/QoSummary.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/qo/QoSummary.java
@@ -2,6 +2,8 @@
 
 import com.dy.common.webUtil.QueryConditionVo;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.*;
 
 /**
@@ -20,11 +22,14 @@
 @Schema(name = "浜ゆ槗姹囨�绘煡璇㈡潯浠�")
 public class QoSummary extends QueryConditionVo {
     @Schema(description = "鏌ヨ璧峰鏃ユ湡")
+    @NotBlank(message = "鏌ヨ璧峰鏃ユ湡涓嶈兘涓虹┖")
     public String timeStart;
 
     @Schema(description = "鏌ヨ鎴鏃ユ湡")
+    @NotBlank(message = "鏌ヨ鎴鏃ユ湡涓嶈兘涓虹┖")
     public String timeStop;
 
     @Schema(description = "鏀堕摱鍛業D")
+    @NotNull(message = "鏀堕摱鍛樹笉鑳戒负绌�")
     public Long cashierId;
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
index 7a7f9c4..6ad9ae6 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
@@ -113,7 +113,7 @@
 
         // 铏氭嫙鍗$姸鎬佷负浣跨敤涓紝涓斾笉鏄己鍒跺紑闃�鏃舵彁绀�
         if (vc.getInUse() == 1 && !forceOpen) {
-            return BaseResponseUtils.buildErrorMsg(WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage());
+            return BaseResponseUtils.buildCodeMsg(WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getCode(), WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage());
         }
 
         // 鑾峰彇姘翠环
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java
new file mode 100644
index 0000000..1b25e36
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java
@@ -0,0 +1,355 @@
+package com.dy.pipIrrWechat.virtualCard;
+
+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.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
+ * @date 2024-07-11 15:49
+ * @LastEditTime 2024-07-11 15:49
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class VirtualCardSv {
+    @Autowired
+    private SeVirtualCardMapper seVirtualCardMapper;
+
+    @Autowired
+    private SeVcRechargeMapper seVcRechargeMapper;
+
+    @Autowired
+    private SeVcRefundMapper seVcRefundMapper;
+
+    @Autowired
+    private SeVcRefundItemMapper seVcRefundItemMapper;
+
+    @Autowired
+    private SeClientMapper seClientMapper;
+
+    /**
+     * 鏍规嵁鍐滄埛ID鑾峰彇5绾ц鏀垮尯鍒掍唬鐮侊紝娉ㄥ唽铏氭嫙鍗′娇鐢�
+     * @param clientId 鍐滄埛ID
+     * @return 5绾ц鏀垮尯鍒掍唬鐮�
+     */
+    public Long getAreaCodeById(Long clientId) {
+        return seClientMapper.getAreaCodeById(clientId);
+    }
+
+    /**
+     * 鑾峰彇鍐滄埛鍏ㄩ儴铏氭嫙鍗�
+     * @return
+     */
+    public List<VoVirtualCard> getVCs(Long clientId) {
+        return seVirtualCardMapper.getVCs(clientId);
+    }
+
+    /**
+     * 鏍规嵁铏氭嫙鍗D鑾峰彇铏氭嫙鍗″璞�
+     * @param vcId
+     * @return
+     */
+    public VoVirtualCard getVcById(Long vcId) {
+        return seVirtualCardMapper.getVcById(vcId);
+    }
+
+    /**
+     * 娉ㄥ唽铏氭嫙鍗�
+     * @param po
+     * @return
+     */
+    public Long insertVirtualCard(SeVirtualCard po) {
+        seVirtualCardMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈣櫄鎷熷崱缂栧彿锛屾敞鍐岃櫄鎷熷崱浣跨敤
+     * @param areaCode
+     * @return
+     */
+    String getVcCardNumOfMax(String areaCode) {
+        return seVirtualCardMapper.getVcCardNumOfMax(areaCode);
+    }
+
+    /** 搴熷純
+     * 楠岃瘉鍐滄埛鏄惁鎷ユ湁鎸囧畾鍚嶇О鐨勮櫄鎷熷崱
+     * @param po
+     * @return
+     */
+    //public Integer getRecordCountByName(DtoRegist po) {
+    //    return seVirtualCardMapper.getRecordCountByName(po.getClientId(), po.getVcName());
+    //}
+
+    /**
+     * 淇敼铏氭嫙鍗�
+     * 鍏呭�笺�佹秷璐广�佺敵璇烽��娆俱�佸鏍搁��娆炬椂闇�瑕佷慨鏀硅櫄鎷熷崱鐨勶細浣欓銆佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
+     * @param po
+     * @return
+     */
+    public Integer updateVirtualCard(SeVirtualCard po) {
+        return seVirtualCardMapper.updateByPrimaryKeySelective(po);
+    }
+
+    /**
+     * 鏍规嵁铏氭嫙鍗$紪鍙疯幏鍙栬櫄鎷熷崱瀵硅薄
+     * @param virtualId
+     * @return
+     */
+    public SeVirtualCard selectVirtuCardById(Long virtualId) {
+        return seVirtualCardMapper.selectByPrimaryKey(virtualId);
+    }
+
+    /**
+     * 娣诲姞铏氭嫙鍗″厖鍊艰褰�
+     * JSAPI涓嬪崟鍚庣敓鎴愰儴鍒嗗厖鍊艰褰�
+     * @param po
+     * @return
+     */
+    public BaseResponse<Boolean> insertVCRecharge(DtoVirtualCard po) {
+        String orderNumber = po.getOrderNumber();
+        Long virtualId = po.getVirtualId();
+        Long clientId = po.getClientId();
+        Integer rechargeAmount = po.getRechargeAmount();
+
+        // 楠岃瘉璇ヨ櫄鎷熷崱璐︽埛鏄惁瀛樺湪骞跺彇鍑哄綋鍓嶈处鎴蜂綑棰�
+        SeVirtualCard seVirtualCard = seVirtualCardMapper.selectByPrimaryKey(virtualId);
+        if(seVirtualCard == null) {
+            return BaseResponseUtils.buildFail(SellResultCode.NO_ACCOUNT.getMessage());
+        }
+        Double money = seVirtualCard.getMoney();
+
+        // 娣诲姞鍏呭�艰褰�
+        SeVcRecharge seVcRecharge = new SeVcRecharge();
+        seVcRecharge.setVcId(virtualId);
+        seVcRecharge.setClientId(clientId);
+        seVcRecharge.setMoney(money);
+        seVcRecharge.setOrderNumber(orderNumber);
+        seVcRecharge.setRechargeAmount(rechargeAmount);
+        seVcRecharge.setOrderTime(new Date());
+        seVcRecharge.setOrderState(OrderStateENUM.NON_PAYMENT.getCode());
+        Integer rec = seVcRechargeMapper.insert(seVcRecharge);
+        if(rec == null) {
+            return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_FAIL.getMessage());
+        }
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
+
+    /**
+     * 鏍规嵁璁㈠崟鍙疯幏鍙栬櫄鎷熷崱鍏呭�煎璞�
+     * @param orderNumber
+     * @return
+     */
+    public SeVcRecharge getVCRechargeByorderNumber(String orderNumber) {
+        return seVcRechargeMapper.getVCRechargeByorderNumber(orderNumber);
+    }
+
+    /**
+     * 淇敼铏氭嫙鍗″厖鍊艰褰�
+     * 寰俊鏀粯閫氱煡鍚庯細
+     *      1. 鏇存柊鍏呭�艰〃锛氬厖鍊煎悗浣欓銆佹敮浠樺畬鎴愭椂闂淬�佽鍗曠姸鎬�
+     *      2. 鏇存柊铏氭嫙鍗¤〃锛氳处鎴蜂綑棰濄�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
+     * @param orderNumber 璁㈠崟缂栧彿
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public BaseResponse<Boolean> updateVCRecharge(String orderNumber, Date rechargeTime) {
+        SeVcRecharge seVcRecharge = seVcRechargeMapper.getVCRechargeByorderNumber(orderNumber);
+        if(seVcRecharge == null) {
+            return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_NOT_EXIST.getMessage());
+        }
+
+        Long virtualId = seVcRecharge.getVcId();
+        Double money = seVcRecharge.getMoney();
+        Integer rechargeAmount = seVcRecharge.getRechargeAmount();
+        Double afterRrecharge = money + rechargeAmount;
+
+        seVcRecharge.setAfterRecharge(afterRrecharge);
+        seVcRecharge.setRechargeTime(rechargeTime);
+        seVcRecharge.setOrderState(OrderStateENUM.PAID.getCode());
+        Integer rec = seVcRechargeMapper.updateByPrimaryKeySelective(seVcRecharge);
+        if(rec == null) {
+            return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_FAIL.getMessage());
+        }
+
+        SeVirtualCard seVirtualCard = seVirtualCardMapper.selectByPrimaryKey(virtualId);
+        if(seVirtualCard == null) {
+            return BaseResponseUtils.buildFail(SellResultCode.VIRTUAL_CARD_NOT_EXIST.getMessage());
+        }
+        seVirtualCard.setMoney(afterRrecharge);
+        seVirtualCard.setLastOperate(LastOperateENUM.RECHARGE.getCode());
+        seVirtualCard.setLastOperateTime(new Date());
+        Integer rec2 = seVirtualCardMapper.updateByPrimaryKeySelective(seVirtualCard);
+        if(rec2 == null) {
+            return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_FAIL.getMessage());
+        }
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
+
+    /**
+     * 淇敼铏氭嫙鍗″厖鍊艰褰曪紙搴熷純锛�
+     * 寰俊灏忕▼搴忔敮浠橀�氱煡鍚庝慨鏀癸細浣欓銆佸厖鍊煎悗浣欓銆佸厖鍊煎畬鎴愭椂闂�
+     * @param po
+     * @return
+     */
+    public Integer updateVCRecharge(SeVcRecharge po) {
+        return seVcRechargeMapper.updateByPrimaryKeySelective(po);
+    }
+
+    /**
+     * 鏍规嵁铏氭嫙鍗″彿鑾峰彇璁㈠崟鍒楄〃
+     * @param virtualId
+     * @return
+     */
+    public List<VoOrders> selectOrders(Long virtualId) {
+        List<VoOrders> rsVo = seVcRechargeMapper.getOrders(virtualId);
+        return rsVo ;
+    }
+
+    /**
+     * 鏍规嵁閫�娆綢D鑾峰彇閫�娆惧璞�
+     * @param refundId
+     * @return
+     */
+    public SeVcRefund selectRefundByRefundId(Long refundId) {
+        return seVcRefundMapper.selectByPrimaryKey(refundId);
+    }
+
+    /**
+     * 娣诲姞閫�娆剧敵璇�
+     * @param po
+     * @return
+     */
+    public Long addRefund(SeVcRefund po) {
+        seVcRefundMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 淇敼閫�娆捐褰�
+     * @param po
+     * @return
+     */
+    public Integer updateRefund(SeVcRefund po) {
+        return seVcRefundMapper.updateByPrimaryKeySelective(po);
+    }
+
+    /**
+     * 鏍规嵁璁㈠崟鍙疯幏鍙栧叾鍚勭瑪閫�娆鹃噾棰�
+     * @param orderNumber
+     * @return
+     */
+    public List<Integer> selectRefundAmount(String orderNumber) {
+        List<Integer> rsVo = seVcRefundMapper.getRefundAmount(orderNumber);
+        return rsVo;
+    }
+
+    /**
+     * 娣诲姞閫�娆惧垎椤�
+     * @param po
+     * @return
+     */
+    public Long addRefundItem(SeVcRefundItem po) {
+        seVcRefundItemMapper.insert(po);
+        return po.getRefundId();
+    }
+
+    /**
+     * 缂栬緫閫�娆惧垎椤�
+     * @param po
+     * @return
+     */
+    public Integer updateRefundItem(SeVcRefundItem po) {
+        return seVcRefundItemMapper.updateByPrimaryKeySelective(po);
+    }
+
+    /**
+     * 鏍规嵁璁㈠崟鍙风敓鎴愰��娆惧崟鍙�
+     * @param orderNumber
+     * @return
+     */
+    public String generateRefundNumber(String orderNumber) {
+        String refundNumber = seVcRefundItemMapper.getLastRefundNumber(orderNumber);
+        if(refundNumber == null) {
+            refundNumber = orderNumber + "01";
+            return refundNumber;
+        }
+
+        String a = String.format("%02d", (Integer.parseInt(refundNumber.substring(29,30).trim()) + 1));
+        return  a;
+    }
+
+    /**
+     * 鏍规嵁璁㈠崟鍙疯幏鍙栧厖鍊奸噾棰濓紝璋冪敤閫�娆剧敵璇锋帴鍙d娇鐢�
+     * @param orderNumber
+     * @return
+     */
+    public Integer getRechargeAmountByOrderNumber(String orderNumber) {
+        return seVcRechargeMapper.getRechargeAmountByOrderNumber(orderNumber);
+
+    }
+
+    /**
+     * 鏍规嵁閫�娆鹃�氱煡鎺ュ彛杩斿洖鐨勯��娆惧崟鍙峰弽鏌ラ��娆綢D锛屾煡璇㈣閫�娆綢D涓嬫湭閫�娆捐褰曟暟閲�
+     * @param refundNumber
+     * @return
+     */
+    public Integer getNoRefundedCount(String refundNumber) {
+        return seVcRefundItemMapper.getNoRefundedCount(refundNumber);
+    }
+
+    /**
+     * 鏍规嵁閫�娆惧崟鍙疯幏鍙栭��娆綢D锛岄��娆鹃�氱煡鍚庢洿鏂伴��娆捐〃鎵�闇�
+     * @param refundNumber
+     * @return
+     */
+    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-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoAudit.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoAudit.java
new file mode 100644
index 0000000..d7694e2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoAudit.java
@@ -0,0 +1,35 @@
+package com.dy.pipIrrWechat.virtualCard.dto;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-11 15:38
+ * @LastEditTime 2024-07-11 15:38
+ * @Description
+ */
+
+@Data
+public class DtoAudit {
+    public static final long serialVersionUID = 202407111539001L;
+
+    /**
+     * 铏氭嫙鍗¢��娆綢D
+     */
+    @NotNull(message = "铏氭嫙鍗¢��娆綢D涓嶈兘涓虹┖")
+    private Long refundId;
+
+    /**
+     * 瀹℃牳浜篒D
+     */
+    @NotNull(message = "瀹℃牳ID涓嶈兘涓虹┖")
+    private Long auditor;
+
+    /**
+     * 瀹℃牳澶囨敞
+     */
+    @Length(max = 200)
+    private String remarks;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoRefund.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoRefund.java
new file mode 100644
index 0000000..e3fdaba
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoRefund.java
@@ -0,0 +1,30 @@
+package com.dy.pipIrrWechat.virtualCard.dto;
+
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Positive;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-11 15:39
+ * @LastEditTime 2024-07-11 15:39
+ * @Description
+ */
+
+@Data
+public class DtoRefund {
+    public static final long serialVersionUID = 202407111540001L;
+
+    /**
+     * 铏氭嫙鍗$紪鍙�
+     */
+    @NotNull(message = "铏氭嫙鍗$紪鍙蜂笉鑳戒负绌�")
+    private Long virtualId;
+
+    /**
+     * 閫�娆鹃噾棰�
+     */
+    @NotNull(message = "閫�娆鹃噾棰濅笉鑳戒负绌�")
+    @Positive(message = "鍏呭�奸噾棰濆繀椤讳负澶т簬0鐨勬暣鏁�")
+    private Integer refundAmount;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoRegist.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoRegist.java
new file mode 100644
index 0000000..e6ad96f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoRegist.java
@@ -0,0 +1,23 @@
+package com.dy.pipIrrWechat.virtualCard.dto;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-11 15:40
+ * @LastEditTime 2024-07-11 15:40
+ * @Description
+ */
+
+@Data
+public class DtoRegist {
+    public static final long serialVersionUID = 202407111541001L;
+
+    /**
+     * 鍐滄埛ID
+     */
+    @NotNull(message = "鍐滄埛ID涓嶈兘涓虹┖")
+    private Long clientId;
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoVcRecharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoVcRecharge.java
new file mode 100644
index 0000000..5956583
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoVcRecharge.java
@@ -0,0 +1,15 @@
+package com.dy.pipIrrWechat.virtualCard.dto;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-11 15:41
+ * @LastEditTime 2024-07-11 15:41
+ * @Description
+ */
+
+@Data
+public class DtoVcRecharge extends QueryConditionVo {
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoVirtualCard.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoVirtualCard.java
new file mode 100644
index 0000000..68086f0
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/dto/DtoVirtualCard.java
@@ -0,0 +1,41 @@
+package com.dy.pipIrrWechat.virtualCard.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-11 15:43
+ * @LastEditTime 2024-07-11 15:43
+ * @Description
+ */
+
+@Data
+public class DtoVirtualCard {
+    public static final long serialVersionUID = 202407111543001L;
+
+    /**
+     * 璁㈠崟鍙�
+     */
+    @NotBlank(message = "璁㈠崟鍙蜂笉鑳戒负绌�")
+    private String orderNumber;
+
+    /**
+     * 鍐滄埛ID
+     */
+    @NotNull(message = "鍐滄埛ID涓嶈兘涓虹┖")
+    private Long clientId;
+
+    /**
+     * 铏氭嫙鍗D
+     */
+    @NotNull(message = "铏氭嫙鍗D涓嶈兘涓虹┖")
+    private Long virtualId;
+
+    /**
+     * 鍏呭�奸噾棰�
+     */
+    @NotNull(message = "鍏呭�奸噾棰濅笉鑳戒负绌�")
+    private Integer rechargeAmount;
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/LastOperateENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/LastOperateENUM.java
new file mode 100644
index 0000000..7a4cc72
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/LastOperateENUM.java
@@ -0,0 +1,27 @@
+package com.dy.pipIrrWechat.virtualCard.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-11 15:45
+ * @LastEditTime 2024-07-11 15:45
+ * @Description
+ */
+
+@Getter
+@AllArgsConstructor
+public enum LastOperateENUM {
+    OPEN_ACCOUNT((byte)1, "寮�鎴�"),
+    RECHARGE((byte)2, "鍏呭��"),
+    CONSUME((byte)3, "娑堣垂"),
+    APPLY_REFUND((byte)4, "鐢宠閫�娆�"),
+    AUDIT_REFUND((byte)5, "閫�娆惧鏍�"),
+    REFUND((byte)6, "閫�娆�"),
+    OPEN_VALVE((byte)7, "寮�闃�"),
+    CLOSE_VALVE((byte)8, "鍏抽榾");
+
+    private final Byte code;
+    private final String message;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/OrderStateENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/OrderStateENUM.java
new file mode 100644
index 0000000..c87a704
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/OrderStateENUM.java
@@ -0,0 +1,21 @@
+package com.dy.pipIrrWechat.virtualCard.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-11 15:46
+ * @LastEditTime 2024-07-11 15:46
+ * @Description
+ */
+
+@Getter
+@AllArgsConstructor
+public enum OrderStateENUM {
+    NON_PAYMENT((byte)1, "鏈敮浠�"),
+    PAID((byte)2, "宸叉敮浠�");
+
+    private final Byte code;
+    private final String message;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/RefundItemStateENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/RefundItemStateENUM.java
new file mode 100644
index 0000000..96b835e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/RefundItemStateENUM.java
@@ -0,0 +1,21 @@
+package com.dy.pipIrrWechat.virtualCard.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-11 15:47
+ * @LastEditTime 2024-07-11 15:47
+ * @Description
+ */
+
+@Getter
+@AllArgsConstructor
+public enum RefundItemStateENUM {
+    NO_REFUND((byte)1, "鏈��娆�"),
+    REFUNDED((byte)2, "宸查��娆�");
+
+    private final Byte code;
+    private final String message;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/RefundStateENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/RefundStateENUM.java
new file mode 100644
index 0000000..eb74301
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/enums/RefundStateENUM.java
@@ -0,0 +1,22 @@
+package com.dy.pipIrrWechat.virtualCard.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-11 15:48
+ * @LastEditTime 2024-07-11 15:48
+ * @Description
+ */
+
+@Getter
+@AllArgsConstructor
+public enum RefundStateENUM {
+    TO_AUDIT((byte)1, "寰呭鏍�"),
+    TO_REFUND((byte)2, "寰呴��娆�"),
+    REFUNDED((byte)3, "宸查��娆�");
+
+    private final Byte code;
+    private final String message;
+}

--
Gitblit v1.8.0