From 35fed440bbfe79b032f63c236a235b123d28c65d Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期四, 08 八月 2024 11:05:26 +0800
Subject: [PATCH] 指定时间段内开卡总数量(物理卡),优化代码
---
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardqo/CommonQO.java | 29 +++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java | 29 +++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java | 51 +++++++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 19 +++---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 9 +++
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 2
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java | 9 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoICCard.java | 21 +++++++
8 files changed, 157 insertions(+), 12 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
index 0d4c581..c8817bc 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
@@ -6,6 +6,7 @@
import com.dy.pipIrrGlobal.voSe.VoCards;
import com.dy.pipIrrGlobal.voSe.VoCards2;
+import com.dy.pipIrrGlobal.voSt.VoICCard;
import com.dy.pipIrrGlobal.voWe.VoCards3;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -166,4 +167,12 @@
* @return
*/
List<VoCards3> getCardsByClientID(String clientId);
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴寮�鍗℃�绘暟閲忥紙鐗╃悊鍗★級
+ * @param params
+ * @return
+ */
+ Long getOpenCountIcCardsCount(Map<String, Object> params);
+
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoICCard.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoICCard.java
new file mode 100644
index 0000000..d11e433
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoICCard.java
@@ -0,0 +1,21 @@
+package com.dy.pipIrrGlobal.voSt;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import lombok.Data;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/8/8 9:49
+ * @LastEditTime :2024/8/8 9:49
+ * @Description
+ */
+@Data
+public class VoICCard {
+ private static final long serialVersionUID = 202408311404001L;
+ /**
+ * 姘村崱ID
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ private Long cardId;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index 682d4eb..6d2c24c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -72,7 +72,7 @@
pipIrr:
global:
- dev: false #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
+ dev: true #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
dsName: ym #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О
mw:
webPort: 8070
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
index 71d1989..8f850a9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -569,4 +569,13 @@
ORDER BY card.id
</select>
+ <!--鎸囧畾鏃堕棿娈靛唴寮�鍗℃�绘暟閲忥紙鐗╃悊鍗★級-->
+ <select id="getOpenCountIcCardsCount" resultType="java.lang.Long">
+ SELECT
+ count(*)
+ FROM
+ `se_client_card`
+ WHERE
+ createDt BETWEEN #{timeStart} AND #{timeStop}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java
index 41dbd5b..970e07f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java
@@ -1,9 +1,18 @@
package com.dy.pipIrrStatistics.card;
+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.voSt.VoICCard;
+import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
/**
* @author ZhuBaoMin
@@ -14,8 +23,26 @@
@Slf4j
@RestController
-@RequestMapping(path="ic-card")
+@RequestMapping(path = "ic-card")
@RequiredArgsConstructor
public class IcCardCtrl {
private final IcCardSv icCardSv;
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴寮�鍗℃�绘暟閲忥紙鐗╃悊鍗★級
+ *
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "/getOpenCountIcCards")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoICCard>>> getOpenCountIcCards(CommonQO qo) {
+ try {
+ QueryResultVo<List<VoICCard>> res = icCardSv.getOpenCountIcCards(qo);
+ return BaseResponseUtils.buildSuccess(res);
+ }catch (Exception e){
+ log.error("鑾峰彇璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java
index 2ea84cd..410a9cb 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java
@@ -1,7 +1,19 @@
package com.dy.pipIrrStatistics.card;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
+import com.dy.pipIrrGlobal.voSt.VoICCard;
+import com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount;
+import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO;
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 java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
/**
* @author ZhuBaoMin
@@ -13,4 +25,43 @@
@Slf4j
@Service
public class IcCardSv {
+
+ @Autowired
+ private SeClientCardMapper seClientCardMapper;
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴寮�鍗℃�绘暟閲忥紙鐗╃悊鍗★級
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoICCard>> getOpenCountIcCards(CommonQO qo) {
+
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+
+ if (timeStart != null && timeStart != ""){
+ timeStart = timeStart + " 00:00:00";
+ }else {
+ timeStart = LocalDate.now() + " 00:00:00";
+ }
+ if (timeStop != null && timeStop != ""){
+ timeStop = timeStop + " 23:59:59";
+ }else {
+ timeStop = LocalDateTime.now().toString();
+ }
+ qo.setTimeStart(timeStart);
+ qo.setTimeStop(timeStop);
+
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = seClientCardMapper.getOpenCountIcCardsCount(params);
+
+ QueryResultVo<List<VoICCard>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+
+ return rsVo ;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardqo/CommonQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardqo/CommonQO.java
new file mode 100644
index 0000000..16040e3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardqo/CommonQO.java
@@ -0,0 +1,29 @@
+package com.dy.pipIrrStatistics.card.IcCardqo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/8/8 9:33
+ * @LastEditTime :2024/8/8 9:33
+ * @Description
+ */
+@Data
+public class CommonQO extends QueryConditionVo {
+
+ /**
+ * 寮�濮嬫椂闂�
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private String timeStart;
+
+ /**
+ * 缁撴潫鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @NotBlank(message = "缁撴潫鏃堕棿涓嶈兘涓虹┖")
+ private String timeStop;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
index 9357183..4dbc9b0 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
@@ -25,7 +25,6 @@
import java.text.DecimalFormat;
import java.time.LocalDate;
-import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -201,7 +200,7 @@
if(timeStart != null && timeStart != "") {
timeStart = timeStart + " 00:00:00";
} else {
- timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ timeStart = LocalDate.now() + " 00:00:00";
}
qo.setTimeStart(timeStart);
@@ -240,7 +239,7 @@
if(timeStart != null && timeStart != "") {
timeStart = timeStart + " 00:00:00";
} else {
- timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ timeStart = LocalDate.now() + " 00:00:00";
}
qo.setTimeStart(timeStart);
@@ -279,7 +278,7 @@
if(timeStart != null && timeStart != "") {
timeStart = timeStart + " 00:00:00";
} else {
- timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ timeStart = LocalDate.now() + " 00:00:00";
}
qo.setTimeStart(timeStart);
@@ -437,7 +436,7 @@
if(timeStart != null && timeStart != "") {
timeStart = timeStart + " 00:00:00";
} else {
- timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ timeStart = LocalDate.now() + " 00:00:00";
}
qo.setTimeStart(timeStart);
@@ -477,7 +476,7 @@
if(timeStart != null && timeStart != "") {
timeStart = timeStart + " 00:00:00";
} else {
- timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ timeStart = LocalDate.now() + " 00:00:00";
}
qo.setTimeStart(timeStart);
@@ -518,7 +517,7 @@
if(timeStart != null && timeStart != "") {
timeStart = timeStart + " 00:00:00";
} else {
- timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ timeStart = LocalDate.now() + " 00:00:00";
}
qo.setTimeStart(timeStart);
@@ -557,7 +556,7 @@
if(timeStart != null && timeStart != "") {
timeStart = timeStart + " 00:00:00";
} else {
- timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ timeStart = LocalDate.now() + " 00:00:00";
}
qo.setTimeStart(timeStart);
@@ -592,7 +591,7 @@
if(timeStart != null && timeStart != "") {
timeStart = timeStart + " 00:00:00";
} else {
- timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ timeStart = LocalDate.now() + " 00:00:00";
}
qo.setTimeStart(timeStart);
@@ -627,7 +626,7 @@
if(timeStart != null && timeStart != "") {
timeStart = timeStart + " 00:00:00";
} else {
- timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ timeStart = LocalDate.now() + " 00:00:00";
}
qo.setTimeStart(timeStart);
--
Gitblit v1.8.0