From 4d6f344319654bb50aa58a366517630b99615398 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 18 九月 2024 15:27:43 +0800
Subject: [PATCH] 2024-09-18 朱宝民 获取消费记录接口、获取返还记录接口
---
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/PipIrrSellApplication.java | 2
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 59 +++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java | 43 +++++++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml | 59 +++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java | 35 +++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoExpend.java | 70 +++++++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java | 12 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java | 15 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRefund.java | 61 ++++++++++
9 files changed, 355 insertions(+), 1 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
index 6002ef3..21ec5bd 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
+import com.dy.pipIrrGlobal.voRm.VoExpend;
import com.dy.pipIrrGlobal.voRm.VoOpenCloseValve;
import com.dy.pipIrrGlobal.voSt.VoClient;
import com.dy.pipIrrGlobal.voSt.VoIntake;
@@ -263,4 +264,18 @@
* @return
*/
List<VoIntake> getNoOpenHaveCloseIntakes(Map<String, Object> params);
+
+ /**
+ * 鑾峰彇姘村崱娑堣垂璁板綍鏁伴噺锛岀鐞嗗钩鍙颁娇鐢�
+ * @param params
+ * @return
+ */
+ Long getExpendsCount(Map<String, Object> params);
+
+ /**
+ * 鑾峰彇姘村崱娑堣垂璁板綍锛岀鐞嗗钩鍙颁娇鐢�
+ * @param params
+ * @return
+ */
+ List<VoExpend> getExpends(Map<String, Object> params);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
index dca9467..93d6b74 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
@@ -59,6 +59,18 @@
*/
List<VoRechargeNew> getRechargesNew(Map<?, ?> params);
+ /**
+ * 鑾峰彇杩旇繕璁板綍鏁伴噺锛岀鐞嗗钩鍙板厖鍊煎垪琛ㄤ娇鐢�
+ * @param params
+ * @return
+ */
+ Long getRefundsCount(Map<?, ?> params);
+ /**
+ * 鑾峰彇杩旇繕璁板綍锛岀鐞嗗钩鍙板厖鍊煎垪琛ㄤ娇鐢�
+ * @param params
+ * @return
+ */
+ List<VoRefund> getRefunds(Map<?, ?> params);
/**
* 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoExpend.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoExpend.java
new file mode 100644
index 0000000..92eed8d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoExpend.java
@@ -0,0 +1,70 @@
+package com.dy.pipIrrGlobal.voRm;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-09-14 17:17
+ * @LastEditTime 2024-09-14 17:17
+ * @Description 娑堣�楄鍥惧璞★紝姘村崱娑堣�楄褰�
+ */
+@Data
+@JsonPropertyOrder({"clientName", "clientNum", "cardNum", "intakeName", "rtuAddr", "moneyAmount", "waterAmount", "duration", "operateTime"})
+public class VoExpend {
+ private static final long serialVersionUID = 202409141721001L;
+
+ /**
+ * 鍐滄埛濮撳悕
+ */
+ private String clientName;
+
+ /**
+ * 鍐滄埛缂栧彿
+ */
+ private String clientNum;
+
+ /**
+ * 姘村崱缂栧彿
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ private Long cardNum;
+
+ /**
+ * 鍙栨按鍙g紪鍙�
+ */
+ private String intakeName;
+
+ /**
+ * 闃�鎺у櫒鍦板潃
+ */
+ private String rtuAddr;
+
+ /**
+ * 鏈鑺辫垂閲戦
+ */
+ private Float moneyAmount;
+
+ /**
+ * 鏈鐢ㄦ按閲�
+ */
+ private Float waterAmount;
+
+ /**
+ * 鏈鐢ㄦ按鏃堕暱
+ */
+ private Integer duration;
+
+ /**
+ * 鎿嶄綔鏃堕棿
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date operateTime;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRefund.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRefund.java
new file mode 100644
index 0000000..b38e4ad
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRefund.java
@@ -0,0 +1,61 @@
+package com.dy.pipIrrGlobal.voSe;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-09-18 15:04
+ * @LastEditTime 2024-09-18 15:04
+ * @Description 杩旇繕瑙嗗浘瀵硅薄
+ */
+
+@Data
+@JsonPropertyOrder({"clientName", "clientNum", "cardNum", "money", "refundAmount", "operator", "operateTime"})
+public class VoRefund {
+ private static final long serialVersionUID = 202409181505001L;
+
+ /**
+ * 鍐滄埛濮撳悕
+ */
+ private String clientName;
+
+ /**
+ * 鍐滄埛缂栧彿
+ */
+ private String clientNum;
+
+ /**
+ * 姘村崱缂栧彿
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ private Long cardNum;
+
+ /**
+ * 杩旇繕鍓嶄綑棰�
+ */
+ private Float money;
+
+ /**
+ * 杩旇繕閲戦
+ */
+ private Float refundAmount;
+
+ /**
+ * 鎿嶄綔浜�
+ */
+ private String operator;
+
+ /**
+ * 鎿嶄綔鏃堕棿
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date operateTime;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
index cb816f9..e852f5b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -1054,4 +1054,63 @@
</if>
</trim>
</select>
+
+ <!--鑾峰彇姘村崱娑堣垂璁板綍鏁伴噺锛岀鐞嗗钩鍙颁娇鐢�-->
+ <select id="getExpendsCount" resultType="java.lang.Long">
+ SELECT COUNT(*) AS recordCount
+ FROM rm_open_close_valve_history och
+ INNER JOIN se_client cli ON cli.id = och.client_id
+ INNER JOIN pr_intake inta ON inta.id = och.intake_id
+ <where>
+ AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL
+ <if test = "clientName != null and clientName !=''">
+ AND cli.name like CONCAT('%',#{clientName},'%')
+ </if>
+
+ <if test = "clientNum != null and clientNum > 0">
+ AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+ </if>
+
+ <if test = "cardNum != null and cardNum !=''">
+ AND och.cl_ic_card_no like CONCAT('%',#{cardNum},'%')
+ </if>
+ </where>
+ </select>
+
+ <!--鑾峰彇姘村崱娑堣垂璁板綍锛岀鐞嗗钩鍙颁娇鐢�-->
+ <select id="getExpends" resultType="com.dy.pipIrrGlobal.voRm.VoExpend">
+ SELECT
+ cli.name AS clientName,
+ cli.clientNum,
+ och.cl_ic_card_no AS cardNum,
+ inta.name AS intakeName,
+ och.rtu_addr AS rtuAddr,
+ och.cl_this_money AS moneyAmount,
+ och.cl_this_amount AS waterAmount,
+ och.cl_this_time AS duration,
+ och.cl_dt AS operateTime
+ FROM rm_open_close_valve_history och
+ INNER JOIN se_client cli ON cli.id = och.client_id
+ INNER JOIN pr_intake inta ON inta.id = och.intake_id
+ <where>
+ AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL
+ <if test = "clientName != null and clientName !=''">
+ AND cli.name like CONCAT('%',#{clientName},'%')
+ </if>
+
+ <if test = "clientNum != null and clientNum > 0">
+ AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+ </if>
+
+ <if test = "cardNum != null and cardNum !=''">
+ AND och.cl_ic_card_no like CONCAT('%',#{cardNum},'%')
+ </if>
+ </where>
+ ORDER BY och.cl_dt DESC
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
index 376c5ab..77b6343 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -943,4 +943,63 @@
</if>
</trim>
</select>
+
+ <!--鑾峰彇杩旇繕璁板綍鏁伴噺锛岀鐞嗗钩鍙板厖鍊煎垪琛ㄤ娇鐢�-->
+ <select id="getRefundsCount" resultType="java.lang.Long">
+ SELECT COUNT(*) AS recordCount
+ FROM se_client_card card
+ INNER JOIN se_client cli ON cli.id = card.clientId
+ LEFT JOIN se_card_operate ope ON ope.card_id = card.id
+ INNER JOIN ba_user us ON us.id = ope.operator
+ <where>
+ AND ope.operate_type = 5
+ <if test = "clientName != null and clientName !=''">
+ AND cli.name like CONCAT('%',#{clientName},'%')
+ </if>
+
+ <if test = "clientNum != null and clientNum > 0">
+ AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+ </if>
+
+ <if test = "cardNum != null and cardNum !=''">
+ AND card.cardNum like CONCAT('%',#{cardNum},'%')
+ </if>
+ </where>
+ </select>
+
+ <!--鑾峰彇杩旇繕璁板綍锛岀鐞嗗钩鍙板厖鍊煎垪琛ㄤ娇鐢�-->
+ <select id="getRefunds" resultType="com.dy.pipIrrGlobal.voSe.VoRefund">
+ SELECT
+ cli.name AS clientName,
+ cli.clientNum,
+ card.cardNum,
+ IFNULL(ope.money, 0) AS money,
+ IFNULL(ope.refund_amount, 0) AS refundAmount,
+ us.name AS operator,
+ ope.operate_dt AS operateTime
+ FROM se_client_card card
+ INNER JOIN se_client cli ON cli.id = card.clientId
+ LEFT JOIN se_card_operate ope ON ope.card_id = card.id
+ INNER JOIN ba_user us ON us.id = ope.operator
+ <where>
+ AND ope.operate_type = 5
+ <if test = "clientName != null and clientName !=''">
+ AND cli.name like CONCAT('%',#{clientName},'%')
+ </if>
+
+ <if test = "clientNum != null and clientNum > 0">
+ AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+ </if>
+
+ <if test = "cardNum != null and cardNum !=''">
+ AND card.cardNum like CONCAT('%',#{cardNum},'%')
+ </if>
+ </where>
+ ORDER BY ope.operate_dt DESC
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/PipIrrSellApplication.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/PipIrrSellApplication.java
index 7c4e317..3553183 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/PipIrrSellApplication.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/PipIrrSellApplication.java
@@ -27,7 +27,7 @@
})
}
)
-@MapperScan({"com.dy.pipIrrGlobal.daoSe", "com.dy.pipIrrGlobal.daoBa", "com.dy.pipIrrGlobal.daoPr"})
+@MapperScan({"com.dy.pipIrrGlobal.daoSe", "com.dy.pipIrrGlobal.daoBa", "com.dy.pipIrrGlobal.daoPr", "com.dy.pipIrrGlobal.daoRm"})
public class PipIrrSellApplication {
public static void main(String[] args) {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
index b67e8ba..0556ce3 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -11,6 +11,7 @@
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
import com.dy.pipIrrGlobal.util.AmountToChinese;
+import com.dy.pipIrrGlobal.voRm.VoExpend;
import com.dy.pipIrrGlobal.voSe.*;
import com.dy.pipIrrSell.cardOperate.dto.*;
import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -869,6 +870,40 @@
}
/**
+ * 鑾峰彇杩旇繕璁板綍锛岀鐞嗗钩鍙板厖鍊煎垪琛ㄤ娇鐢�
+ * @param vo
+ * @return
+ */
+ @GetMapping(path = "/refunds")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoRefund>>> getRefunds(QoRecharge vo){
+ try {
+ QueryResultVo<List<VoRefund>> res = cardOperateSv.getRefunds(vo);
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇杩旇繕璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鑾峰彇姘村崱娑堣垂璁板綍锛岀鐞嗗钩鍙颁娇鐢�
+ * @param vo
+ * @return
+ */
+ @GetMapping(path = "/expends")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoExpend>>> getExpends(QoRecharge vo){
+ try {
+ QueryResultVo<List<VoExpend>> res = cardOperateSv.getExpends(vo);
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇娑堣垂璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
* 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗鏄庣粏
* @param vo
* @return
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
index 1e09c0a..8dc78b3 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
@@ -7,8 +7,10 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
+import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
import com.dy.pipIrrGlobal.daoSe.*;
import com.dy.pipIrrGlobal.pojoSe.*;
+import com.dy.pipIrrGlobal.voRm.VoExpend;
import com.dy.pipIrrGlobal.voSe.*;
import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge;
import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -61,6 +63,9 @@
@Autowired
private SeRechargeHistoryMapper seRechargeHistoryMapper;
+
+ @Autowired
+ private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
@Value("${project.projectNo}")
private Integer projectNo;
@@ -325,6 +330,44 @@
}
/**
+ * 鑾峰彇杩旇繕璁板綍锛岀鐞嗗钩鍙板厖鍊煎垪琛ㄤ娇鐢�
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoRefund>> getRefunds(QoRecharge queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = seCardOperateMapper.getRefundsCount(params);
+
+ QueryResultVo<List<VoRefund>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = queryVo.pageSize ;
+ rsVo.pageCurr = queryVo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = seCardOperateMapper.getRefunds(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鑾峰彇姘村崱娑堣垂璁板綍锛岀鐞嗗钩鍙颁娇鐢�
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoExpend>> getExpends(QoRecharge queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = rmOpenCloseValveHistoryMapper.getExpendsCount(params);
+
+ QueryResultVo<List<VoExpend>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = queryVo.pageSize ;
+ rsVo.pageCurr = queryVo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getExpends(params);
+ return rsVo ;
+ }
+
+ /**
* 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍
* @param vo
* @return
--
Gitblit v1.8.0