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