From f27bcdd3a3dcc85fdb8334399240d27d7f964c01 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期二, 23 一月 2024 09:04:39 +0800 Subject: [PATCH] 2024-01-23 朱宝民 添加交易明细接口和交易统计接口 --- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java | 165 +++++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml | 158 +++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java | 54 +++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransaction.java | 44 +- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransactionStatistics.java | 14 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java | 54 +++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransactionStatistics.java | 33 + pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml | 173 ---------- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java | 120 ------- /dev/null | 42 -- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java | 54 --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java | 43 -- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransaction.java | 15 13 files changed, 501 insertions(+), 468 deletions(-) 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 340bbf4..0b905c9 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 @@ -3,7 +3,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; import com.dy.pipIrrGlobal.voSe.VoRecharge; +import com.dy.pipIrrGlobal.voSe.VoTransaction; +import com.dy.pipIrrGlobal.voSe.VoTransactionStatistics; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -42,4 +45,55 @@ * @return */ List<VoRecharge> getRecharges(Map<?, ?> params); + + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁� + * @param params + * @return + */ + Long getTransactionRecordCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍 + * @param params + * @return + */ + List<VoTransaction> getTransactions(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨�伙紝鑾峰彇浜ゆ槗鏄庣粏浣跨敤 + * @param params + * @return + */ + Map getTransactionSums(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍鏁� + * @param params + * @return + */ + Long getTransactionStatisticsRecordCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍 + * @param params + * @return + */ + List<VoTransactionStatistics> getTransactionStatistics(Map<?, ?> params); + + /** + * 鏍瑰熀鎸囧畾鏉′欢鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁� + * @param params + * @return + */ + Map getTransactionStatisticsSums(Map<?, ?> params); + + /** + * 鑾峰彇鎸囧畾鏃ユ湡銆佹寚瀹氭敮浠樻柟寮忓疄鏀堕噾棰濆悎璁� + * @param params + * @return + */ + //Float getPaymentSums(Map<?, ?> params); + Float getPaymentSums(@Param("tradeDate") String tradeDate, @Param("paymentId") Long paymentId); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java index 9c3b551..907eab3 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java @@ -3,8 +3,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoSe.SeClient; import com.dy.pipIrrGlobal.voSe.VoClient; -import com.dy.pipIrrGlobal.voSe.VoOperate; -import com.dy.pipIrrGlobal.voSe.VoStatistics; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -100,45 +98,4 @@ */ List<Map<String, Object>> getWaterTypes(); - /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨�� - * @param params 缁熻鏉′欢 - * @return 璐按閲戦銆佽喘鍗¢噾棰� - */ - Map getSums(Map<?, ?> params); - - /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鎿嶄綔璁板綍鏁� - * @param params 鏌ヨ鏉′欢 - * @return 绗﹀悎鏉′欢鐨勮褰曟暟 - */ - Long getOperateRecordCount(Map<?, ?> params); - - /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鎿嶄綔璁板綍 - * @param params 鏌ヨ鏉′欢 - * @return 绗﹀悎鏉′欢鐨勪氦鏄撹褰� - */ - List<VoOperate> getOperates(Map<?, ?> params); - - /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗绗旀暟姹囨�诲拰浜ゆ槗閲戦姹囨�� - * @param params - * @return - */ - Map getStatisticSums(Map<?, ?> params); - - /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇姹囨�昏褰曟暟 - * @param params - * @return - */ - Long getStatisticRecordCount(Map<?, ?> params); - - /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍 - * @param params - * @return - */ - List<VoStatistics> getStatistics(Map<?, ?> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java deleted file mode 100644 index a003b59..0000000 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.dy.pipIrrGlobal.voSe; - -import com.dy.common.po.BaseEntity; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * @author ZhuBaoMin - * @date 2023-12-27 15:01 - * @LastEditTime 2023-12-27 15:01 - * @Description - */ - -@Data -@Schema(title = "浜ゆ槗姹囨�昏鍥惧璞�") -public class VoStatistics implements BaseEntity { - private static final long serialVersionUID = 1L; - - @Schema(title = "鏉戝簞ID") - private Long villageId; - - @Schema(title = "鏉戝簞") - private String districtTitle; - - @Schema(title = "涓氬姟绫诲瀷") - private String operateType; - - @Schema(title = "浜ゆ槗鏃ユ湡") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date operateDt; - - @Schema(title = "浜ゆ槗绗旀暟") - private Integer count; - - @Schema(title = "浜ゆ槗閲戦") - private Float money; -} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransaction.java similarity index 69% rename from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java rename to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransaction.java index 711ea95..3774f72 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransaction.java @@ -16,20 +16,23 @@ */ @Data -@Schema(title = "鎿嶄綔璁板綍瑙嗗浘瀵硅薄") -public class VoOperate implements BaseEntity { +@Schema(title = "浜ゆ槗璁板綍瑙嗗浘瀵硅薄") +public class VoTransaction implements BaseEntity { private static final long serialVersionUID = 1L; - @Schema(title = "鏉慖D") + @Schema(title = "璁㈠崟缂栧彿") + private Long orderNumber; + + @Schema(title = "鏉戝簞ID") private Long villageId; - @Schema(title = "鍖哄垝鍚嶇О涓�") + @Schema(title = "鏉戝簞") private String districtTitle; @Schema(title = "鍐滄埛缂栧彿") private String clientNum; - @Schema(title = "鍐滄埛濮撳悕") + @Schema(title = "濮撳悕") private String name; @Schema(title = "姘村崱缂栧彿") @@ -38,20 +41,8 @@ @Schema(title = "韬唤璇佸彿") private String idCard; - @Schema(title = "鎵嬫満鍙�") + @Schema(title = "鑱旂郴鐢佃瘽") private String phone; - - @Schema(title = "鍏呭�奸噾棰�") - private Float money; - - @Schema(title = "璐崱閲戦") - private Integer cardCost; - - @Schema(title = "鏀粯鏂瑰紡缂栧彿") - private Long paymentId; - - @Schema(title = "鏀粯鏂瑰紡鍚嶇О") - private String paymentMethod; @Schema(title = "涓氬姟绫诲瀷") private String operateType; @@ -59,7 +50,22 @@ @Schema(title = "浜ゆ槗鏃堕棿") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date operateDt; + private Date operateTime; + + @Schema(title = "浣欓") + private Float money; + + @Schema(title = "璐按閲戦") + private Float waterCost; + + @Schema(title = "璧犻�侀噾棰�") + private Float gift; + + @Schema(title = "璐崱閲戦") + private Integer cardCost; + + @Schema(title = "鏀粯鏂瑰紡") + private String paymentMethod; @Schema(title = "鎿嶄綔鍛�") private String operatorName; diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransactionStatistics.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransactionStatistics.java new file mode 100644 index 0000000..84a9aa0 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransactionStatistics.java @@ -0,0 +1,33 @@ +package com.dy.pipIrrGlobal.voSe; + +import com.dy.common.po.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-01-22 18:27 + * @LastEditTime 2024-01-22 18:27 + * @Description + */ + +@Data +@Schema(title = "浜ゆ槗璁板綍姹囨�昏鍥惧璞�") +public class VoTransactionStatistics implements BaseEntity { + private static final long serialVersionUID = 1L; + + @Schema(title = "涓氬姟绫诲瀷") + private String operateType; + + @Schema(title = "浜ゆ槗鏃ユ湡") + private String tradeDate; + + @Schema(title = "浜ゆ槗绗旀暟") + private Integer count; + + @Schema(title = "瀹炴敹閲戦") + private Float received; + + @Schema(title = "璧犻�侀噾棰�") + private Float gift; +} 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 df474b2..553c23f 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml @@ -293,4 +293,162 @@ LIMIT ${pageCurr}, ${pageSize} </if> </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�--> + <select id="getTransactionRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM se_card_operate ope + INNER JOIN se_client cli ON ope.client_id = cli.id + INNER JOIN se_client_card card ON ope.card_id = card.id + INNER JOIN ba_user user ON ope.operator = user.id + INNER JOIN se_payment_method pay ON ope.payment_id = pay.id + <where> + AND ope.operate_type IN(1,2,3,4) + <if test = "villageId != null and villageId > 0"> + AND cli.villageId = ${villageId} + </if> + + <if test = "cardNum != null and cardNum >0"> + AND card.cardNum = ${cardNum} + </if> + + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍--> + <select id="getTransactions" resultType="com.dy.pipIrrGlobal.voSe.VoTransaction"> + SELECT + ope.id AS orderNumber, + cli.villageId, + cli.districtTitle, + cli.clientNum, + cli.`name`, + card.cardNum, + cli.idCard, + cli.phone, + (CASE operate_type + WHEN 1 THEN '寮�鍗�' + WHEN 2 THEN '鍏呭��' + WHEN 3 THEN '閿�鍗�' + WHEN 4 THEN '琛ュ崱' + END) AS operateType, + ope.operate_dt AS operateTime, + IFNULL(ope.money, 0) AS money, + IFNULL(ope.trade_amount, 0) AS waterCost, + IFNULL(ope.gift, 0) AS gift, + IFNULL(ope.card_cost, 0) AS cardCost, + pay.`name` paymentMethod, + user.name AS operatorName + FROM se_card_operate ope + INNER JOIN se_client cli ON ope.client_id = cli.id + INNER JOIN se_client_card card ON ope.card_id = card.id + INNER JOIN ba_user user ON ope.operator = user.id + INNER JOIN se_payment_method pay ON ope.payment_id = pay.id + <where> + AND ope.operate_type IN(1,2,3,4) + <if test = "villageId != null and villageId > 0"> + AND cli.villageId = ${villageId} + </if> + + <if test = "cardNum != null and cardNum >0"> + AND card.cardNum = ${cardNum} + </if> + + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + ORDER BY ope.operate_dt + <if test="pageCurr != null and pageSize != null"> + LIMIT ${pageCurr}, ${pageSize} + </if> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨�伙紝鑾峰彇浜ゆ槗鏄庣粏浣跨敤--> + <select id="getTransactionSums" resultType="java.util.Map"> + SELECT + IFNULL(SUM(trade_amount),0) AS waterCost, + IFNULL(SUM(card_cost),0) AS cardCost + FROM se_card_operate ope + INNER JOIN se_client cli ON ope.client_id = cli.id + INNER JOIN se_client_card card ON ope.card_id = card.id + INNER JOIN ba_user user ON ope.operator = user.id + INNER JOIN se_payment_method pay ON ope.payment_id = pay.id + <where> + AND ope.operate_type IN(1,2,3,4) + <if test = "villageId != null and villageId > 0"> + AND cli.villageId = ${villageId} + </if> + + <if test = "cardNum != null and cardNum >0"> + AND card.cardNum = ${cardNum} + </if> + + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + </select> + + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍鏁�--> + <select id="getTransactionStatisticsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM v_transactionstatistics + <where> + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍--> + <select id="getTransactionStatistics" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics"> + SELECT * FROM v_transactionstatistics + <where> + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + ORDER BY tradeDate + <if test="pageCurr != null and pageSize != null"> + LIMIT ${pageCurr}, ${pageSize} + </if> + </select> + + <!--鏍瑰熀鎸囧畾鏉′欢鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�--> + <select id="getTransactionStatisticsSums" resultType="java.util.Map"> + SELECT + SUM(count) AS totalCount, + SUM(received) AS totalReceived, + SUM(gift) AS totalGift + FROM v_transactionstatistics + <where> + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + </select> + + <!--鑾峰彇鎸囧畾鏃ユ湡銆佹寚瀹氭敮浠樻柟寮忓疄鏀堕噾棰濆悎璁�--> + <select id="getPaymentSums" resultType="java.lang.Float"> + SELECT + SUM(ope.trade_amount) AS tradeAmount + FROM se_card_operate ope + <where> + <if test = "tradeDate != null and tradeDate !=''"> + AND Date(ope.operate_dt) = #{tradeDate} + </if> + + <if test = "paymentId != null and paymentId >0"> + AND ope.payment_id = ${paymentId} + </if> + </where> + GROUP BY ope.payment_id, Date(ope.operate_dt) + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml index 244dd55..a191c70 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml @@ -429,177 +429,4 @@ SELECT id, typeName from se_water_type </select> - <!-- 涓嬪垪鍐呭涓轰氦鏄撴槑缁嗘煡璇� --> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨��--> - <select id="getSums" resultType="java.util.Map"> - SELECT - SUM(money) AS money, - SUM(cardCost) AS cardCost - FROM v_operate - <where> - <if test = "villageId != null and villageId > 0"> - AND villageId = ${villageId} - </if> - - <if test = "paymentId != null and paymentId >0"> - AND paymentId = ${paymentId} - </if> - - <if test = "operateTimeStart != null and operateTimeStop != null"> - AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} - </if> - </where> - </select> - - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�--> - <select id="getOperateRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> - SELECT - COUNT(*) AS recordCount - FROM v_operate - <where> - <if test = "villageId != null and villageId > 0"> - AND villageId = ${villageId} - </if> - - <if test = "paymentId != null and paymentId >0"> - AND paymentId = ${paymentId} - </if> - - <if test = "operateTimeStart != null and operateTimeStop != null"> - AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} - </if> - </where> - </select> - - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍--> - <select id="getOperates" resultType="com.dy.pipIrrGlobal.voSe.VoOperate"> - SELECT - villageId, - districtTitle, - clientNum, - `name`, - cardNum, - idCard, - phone, - money, - cardCost, - paymentId, - paymentMethod, - operateType, - operateDt, - operatorName - FROM v_operate - <where> - <if test = "villageId != null and villageId > 0"> - AND villageId = ${villageId} - </if> - - <if test = "paymentId != null and paymentId >0"> - AND paymentId = ${paymentId} - </if> - - <if test = "operateTimeStart != null and operateTimeStop != null"> - AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} - </if> - </where> - ORDER BY operateDt - <if test="pageCurr != null and pageSize != null"> - LIMIT ${pageCurr}, ${pageSize} - </if> - </select> - - <!-- 涓嬪垪鍐呭涓轰氦鏄撶粺璁℃煡璇� --> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗绗旀暟姹囨�诲拰浜ゆ槗閲戦姹囨��--> - <select id="getStatisticSums" resultType="java.util.Map"> - SELECT - SUM(count) AS count, - SUM(money) AS money - FROM - ( - SELECT - villageId, - districtTitle, - operateType, - operateDt, - count(*) AS count, - (sum(money) + sum(cardCost)) AS money - FROM v_operate - <where> - <if test = "villageId != null and villageId > 0"> - AND villageId = ${villageId} - </if> - -<!-- <if test = "paymentId != null and paymentId >0">--> -<!-- AND paymentId = ${paymentId}--> -<!-- </if>--> - - <if test = "operateTimeStart != null and operateTimeStop != null"> - AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} - </if> - </where> - GROUP BY villageId, districtTitle, operateType, operateDt - ) temp - </select> - - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姹囨�昏褰曟暟--> - <select id="getStatisticRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> - SELECT - COUNT(*) AS recordCount - FROM - ( - SELECT - villageId, - districtTitle, - operateType, - operateDt, - count(*) AS count, - (sum(money) + sum(cardCost)) AS money - FROM v_operate - <where> - <if test = "villageId != null and villageId > 0"> - AND villageId = ${villageId} - </if> - -<!-- <if test = "paymentId != null and paymentId >0">--> -<!-- AND paymentId = ${paymentId}--> -<!-- </if>--> - - <if test = "operateTimeStart != null and operateTimeStop != null"> - AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} - </if> - </where> - GROUP BY villageId, districtTitle, operateType, operateDt - ) temp - </select> - - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍--> - <select id="getStatistics" resultType="com.dy.pipIrrGlobal.voSe.VoStatistics"> - SELECT - villageId, - districtTitle, - operateType, - operateDt, - count(*) AS count, - (sum(money) + sum(cardCost)) AS money - FROM v_operate - <where> - <if test = "villageId != null and villageId > 0"> - AND villageId = ${villageId} - </if> - -<!-- <if test = "paymentId != null and paymentId >0">--> -<!-- AND paymentId = ${paymentId}--> -<!-- </if>--> - - <if test = "operateTimeStart != null and operateTimeStop != null"> - AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} - </if> - </where> - GROUP BY villageId, districtTitle, operateType, operateDt - ORDER BY operateDt - <if test="pageCurr != null and pageSize != null"> - LIMIT ${pageCurr}, ${pageSize} - </if> - </select> - </mapper> \ No newline at end of file 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 e17004d..588905e 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 @@ -5,6 +5,7 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; +import com.dy.pipIrrGlobal.pojoBa.BaClient; import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.util.Constant; @@ -13,6 +14,8 @@ import com.dy.pipIrrSell.cardOperate.dto.*; import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM; import com.dy.pipIrrSell.cardOperate.qo.QoRecharge; +import com.dy.pipIrrSell.cardOperate.qo.QoTransaction; +import com.dy.pipIrrSell.cardOperate.qo.QoTransactionStatistics; import com.dy.pipIrrSell.clientCard.CardStateENUM; import com.dy.pipIrrSell.clientCard.ClientCardSv; import com.dy.pipIrrSell.clientCard.LastOperateENUM; @@ -364,11 +367,13 @@ /** * 娣诲姞娉ㄩ攢璁板綍 + * 鏀粯鏂瑰紡涓虹幇閲� */ SeCardOperate seCardOperate = new SeCardOperate(); seCardOperate.setCardId(cardId); seCardOperate.setClientId(clientId); seCardOperate.setTradeAmount(-refund); + seCardOperate.setPaymentId(1L); seCardOperate.setOperateType(OperateTypeENUM.CANCEL.getCode()); seCardOperate.setRemarks(remarks); seCardOperate.setOperator(operator); @@ -750,4 +755,53 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } + + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗鏄庣粏 + * @param vo + * @return + */ + @Operation(summary = "鑾峰緱浜ゆ槗璁板綍鏄庣粏", description = "杩斿洖浜ゆ槗璁板綍鏄庣粏") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "getTransactions") + @SsoAop() + public BaseResponse<Map> getOperates(QoTransaction vo){ + try { + Map res = cardOperateSv.getTransactions(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鏌ヨ浜ゆ槗璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + + @Operation(summary = "鑾峰緱浜ゆ槗姹囨�昏褰�", description = "杩斿洖浜ゆ槗姹囨�昏褰�") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "getStatistics") + @SsoAop() + public BaseResponse<Map> getStatistics(QoTransactionStatistics vo){ + try { + Map res = cardOperateSv.getTransactionStatistics(vo); + 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/cardOperate/CardOperateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java index 460678f..e019024 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 @@ -1,5 +1,7 @@ package com.dy.pipIrrSell.cardOperate; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; @@ -9,9 +11,13 @@ import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voSe.VoRecharge; +import com.dy.pipIrrGlobal.voSe.VoTransaction; +import com.dy.pipIrrGlobal.voSe.VoTransactionStatistics; import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge; import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM; import com.dy.pipIrrSell.cardOperate.qo.QoRecharge; +import com.dy.pipIrrSell.cardOperate.qo.QoTransaction; +import com.dy.pipIrrSell.cardOperate.qo.QoTransactionStatistics; import com.dy.pipIrrSell.clientCard.ClientCardSv; import com.dy.pipIrrSell.clientCard.LastOperateENUM; import com.dy.pipIrrSell.result.SellResultCode; @@ -20,6 +26,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -185,6 +193,11 @@ } + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰� + * @param queryVo + * @return + */ public QueryResultVo<List<VoRecharge>> getRecharges(QoRecharge queryVo) { //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿 String rechargeTimeStart = queryVo.rechargeTimeStart; @@ -220,4 +233,156 @@ rsVo.obj = seCardOperateMapper.getRecharges(params); return rsVo ; } + + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍 + * @param vo + * @return + */ + public Map getTransactions(QoTransaction vo){ + // 琛ラ綈鏌ヨ鏃堕棿 + String operateTimeStart = vo.operateTimeStart; + String operateTimeStop = vo.operateTimeStop; + if(operateTimeStart != null) { + operateTimeStart = operateTimeStart + " 00:00:00"; + vo.setOperateTimeStart(operateTimeStart); + } + if(operateTimeStop != null) { + operateTimeStop = operateTimeStop + " 23:59:59"; + vo.setOperateTimeStop(operateTimeStop); + } + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ; + + // 鑾峰彇姹囨�荤殑璐按閲戦銆佽喘鍗¢噾棰� + Float waterCost = 0f; + Float cardCost = 0f; + Map map_sum = Optional.ofNullable(seCardOperateMapper.getTransactionSums(params)).orElse(new HashMap()); + if(map_sum.size() > 0) { + waterCost = Float.parseFloat(map_sum.get("waterCost").toString()); + cardCost = Float.parseFloat(map_sum.get("cardCost").toString()); + } + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = seCardOperateMapper.getTransactionRecordCount(params); + + Integer pageSize = vo.getPageSize(); + // 璁$畻鎬婚〉鏁� + Integer pageTotal ; + pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize); + + // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺 + Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + params.put("pageCurr", pageCurr); + + List<VoTransaction> lit = seCardOperateMapper.getTransactions(params); + Map map_record = new HashMap(); + map_record.put("itemTotal", itemTotal); + map_record.put("pageCurr", vo.pageCurr); + map_record.put("pageSize", pageSize); + map_record.put("pageTotal", pageTotal); + map_record.put("list", lit); + + Map map_result = new HashMap(); + map_result.put("waterCost", waterCost); + map_result.put("cardCost", cardCost); + map_result.put("records", map_record); + + return map_result; + } + + /** + * 鑾峰彇浜ゆ槗缁熻璁板綍 + * 1.浜ゆ槗缁熻璁板綍 + * 2.绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁� + * 3.姣忎竴澶┿�佸悇绉嶆敮浠樻柟寮忓疄鏀堕噾棰濆悎璁� + * @param vo + * @return + */ + public Map getTransactionStatistics(QoTransactionStatistics vo) throws ParseException { + /** + * 閬嶅巻鏌ヨ鏃ユ湡锛屽彇鍑烘瘡澶╀笁绉嶆敮浠樻柟寮忥紙鐜伴噾銆佹壂鐮併�佽浆璐︼級瀹炴敹閲戦 + * 姣忓ぉ涓�涓璞� + * 瀵硅薄缁勬垚JSONArray娣诲姞鍒拌繑鍥炲璞′腑 + */ + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date startDate = dateFormat.parse(vo.getOperateTimeStart()); + Date stopDate = dateFormat.parse(vo.getOperateTimeStop()); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(startDate); + + JSONArray array_paymentSums = new JSONArray(); + while (calendar.getTime().before(stopDate) || calendar.getTime().equals(stopDate)) { + String tradeDate = dateFormat.format(calendar.getTime()) ; + Float receivedCash = Optional.ofNullable(seCardOperateMapper.getPaymentSums(tradeDate ,1L)).orElse(0f); + Float receivedQRCode = Optional.ofNullable(seCardOperateMapper.getPaymentSums(tradeDate,2L)).orElse(0f); + Float receivedTransfer = Optional.ofNullable(seCardOperateMapper.getPaymentSums(tradeDate, 3L)).orElse(0f); + JSONObject job = new JSONObject(); + job.put("tradeDate", tradeDate); + job.put("receivedCash", receivedCash); + job.put("receivedQRCode", receivedQRCode); + job.put("receivedTransfer", receivedTransfer); + + array_paymentSums.add(job); + calendar.add(Calendar.DAY_OF_MONTH, 1); + } + + + // 琛ラ綈鏌ヨ鏃堕棿 + String operateTimeStart = vo.operateTimeStart; + String operateTimeStop = vo.operateTimeStop; + if(operateTimeStart != null) { + operateTimeStart = operateTimeStart + " 00:00:00"; + vo.setOperateTimeStart(operateTimeStart); + } + if(operateTimeStop != null) { + operateTimeStop = operateTimeStop + " 23:59:59"; + vo.setOperateTimeStop(operateTimeStop); + } + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ; + + //鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁� + Integer totalCount = 0; + Float totalReceived = 0f; + Float totalGift = 0f; + Map map_sum = Optional.ofNullable(seCardOperateMapper.getTransactionStatisticsSums(params)).orElse(new HashMap()); + if(map_sum.size() > 0) { + totalCount = Integer.parseInt(map_sum.get("totalCount").toString()); + totalReceived = Float.parseFloat(map_sum.get("totalReceived").toString()); + totalGift = Float.parseFloat(map_sum.get("totalGift").toString()); + } + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = seCardOperateMapper.getTransactionStatisticsRecordCount(params); + + Integer pageSize = vo.getPageSize(); + // 璁$畻鎬婚〉鏁� + Integer pageTotal ; + pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize); + + // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺 + Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + params.put("pageCurr", pageCurr); + + List<VoTransactionStatistics> list = seCardOperateMapper.getTransactionStatistics(params); + Map map_record = new HashMap(); + map_record.put("itemTotal", itemTotal); + map_record.put("pageCurr", vo.pageCurr); + map_record.put("pageSize", pageSize); + map_record.put("pageTotal", pageTotal); + map_record.put("list", list); + + Map map_result = new HashMap(); + map_result.put("totalCount", totalCount); + map_result.put("totalReceived", totalReceived); + map_result.put("totalGift", totalGift); + map_result.put("records", map_record); + map_result.put("paymentSums", array_paymentSums); + + return map_result; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransaction.java similarity index 66% rename from pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java rename to pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransaction.java index 628bcd6..9e83b62 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransaction.java @@ -1,4 +1,4 @@ -package com.dy.pipIrrSell.client; +package com.dy.pipIrrSell.cardOperate.qo; import com.dy.common.webUtil.QueryConditionVo; import io.swagger.v3.oas.annotations.media.Schema; @@ -6,8 +6,8 @@ /** * @author ZhuBaoMin - * @date 2023-12-26 21:00 - * @LastEditTime 2023-12-26 21:00 + * @date 2024-01-22 10:57 + * @LastEditTime 2024-01-22 10:57 * @Description */ @@ -17,14 +17,13 @@ @NoArgsConstructor @AllArgsConstructor @Builder -@Schema(name = "浜ゆ槗鏌ヨ鏉′欢") -public class QueryOperate extends QueryConditionVo { - +@Schema(name = "浜ゆ槗鏄庣粏鏌ヨ鏉′欢") +public class QoTransaction extends QueryConditionVo { @Schema(description = "鏉慖D") public Long villageId; - @Schema(description = "鏀粯鏂瑰紡缂栧彿") - public Long paymentId; + @Schema(description = "姘村崱缂栧彿") + public Long cardNum; @Schema(description = "浜ゆ槗鏌ヨ璧峰鏃堕棿") public String operateTimeStart; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransactionStatistics.java similarity index 63% rename from pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java rename to pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransactionStatistics.java index 5ac6c22..ffcca6f 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransactionStatistics.java @@ -1,4 +1,4 @@ -package com.dy.pipIrrSell.client; +package com.dy.pipIrrSell.cardOperate.qo; import com.dy.common.webUtil.QueryConditionVo; import io.swagger.v3.oas.annotations.media.Schema; @@ -6,8 +6,8 @@ /** * @author ZhuBaoMin - * @date 2023-12-27 15:33 - * @LastEditTime 2023-12-27 15:33 + * @date 2024-01-22 18:32 + * @LastEditTime 2024-01-22 18:32 * @Description */ @@ -18,13 +18,7 @@ @AllArgsConstructor @Builder @Schema(name = "浜ゆ槗姹囨�绘煡璇㈡潯浠�") -public class QueryStatistic extends QueryConditionVo { - @Schema(description = "鏉慖D") - public Long villageId; - - //@Schema(description = "鏀粯鏂瑰紡缂栧彿") - //public Long paymentId; - +public class QoTransactionStatistics extends QueryConditionVo { @Schema(description = "浜ゆ槗鏌ヨ璧峰鏃堕棿") public String operateTimeStart; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java index ae5d363..29de085 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java @@ -66,58 +66,6 @@ } /** - * 鑾峰彇浜ゆ槗璁板綍 - * @param vo - * @return - */ - @Operation(summary = "鑾峰緱涓�椤典氦鏄撹褰�", description = "杩斿洖涓�椤典氦鏄撹褰�") - @ApiResponses(value = { - @ApiResponse( - responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, - description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", - content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = BaClient.class))} - ) - }) - @GetMapping(path = "getOperates") - @SsoAop() - public BaseResponse<Map> getOperates(QueryOperate vo){ - try { - Map res = clientSv.getOperates(vo); - return BaseResponseUtils.buildSuccess(res); - } catch (Exception e) { - log.error("鏌ヨ浜ゆ槗璁板綍寮傚父", e); - return BaseResponseUtils.buildException(e.getMessage()) ; - } - } - - /** - * 鑾峰彇浜ゆ槗姹囨�昏褰� - * @param vo - * @return - */ - @Operation(summary = "鑾峰緱涓�椤典氦鏄撴眹鎬昏褰�", description = "杩斿洖涓�椤典氦鏄撴眹鎬昏褰�") - @ApiResponses(value = { - @ApiResponse( - responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, - description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", - content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = BaClient.class))} - ) - }) - @GetMapping(path = "getStatistics") - @SsoAop() - public BaseResponse<Map> getStatistics(QueryStatistic vo){ - try { - Map res = clientSv.getStatistics(vo); - return BaseResponseUtils.buildSuccess(res); - } catch (Exception e) { - log.error("鏌ヨ浜ゆ槗姹囨�昏褰曞紓甯�", e); - return BaseResponseUtils.buildException(e.getMessage()) ; - } - } - - /** * 鏍规嵁涓婚敭鑾峰彇涓�涓啘鎴峰璞� * @param id * @return @@ -228,7 +176,7 @@ } /** - * 鐢熸垚10涓哄啘鎴风紪鍙� + * 鐢熸垚10浣嶅啘鎴风紪鍙� * 1. 鍒板啘鎴疯〃涓煡璇�6浣嶅尯鍒掍覆寮�澶寸殑鏈�澶х殑鍐滄埛缂栧彿 * 2. 鏄惁鍙栧埌璁板綍 * 2.1 鍙栧埌 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java index a3f631b..ebeccf1 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java @@ -5,17 +5,13 @@ import com.dy.pipIrrGlobal.daoSe.SeClientMapper; import com.dy.pipIrrGlobal.pojoSe.SeClient; import com.dy.pipIrrGlobal.voSe.VoClient; -import com.dy.pipIrrGlobal.voSe.VoOperate; -import com.dy.pipIrrGlobal.voSe.VoStatistics; 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.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Optional; /** * @author ZhuBaoMin @@ -60,122 +56,6 @@ rsVo.obj = seClientMapper.getClients(params); return rsVo ; - } - - /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍 - * @param vo - * @return - */ - public Map getOperates(QueryOperate vo){ - // 琛ラ綈鏌ヨ鏃堕棿 - String operateTimeStart = vo.operateTimeStart; - String operateTimeStop = vo.operateTimeStop; - if(operateTimeStart != null) { - operateTimeStart = operateTimeStart + " 00:00:00"; - vo.setOperateTimeStart(operateTimeStart); - } - if(operateTimeStop != null) { - operateTimeStop = operateTimeStop + " 23:59:59"; - vo.setOperateTimeStop(operateTimeStop); - } - - // 鐢熸垚鏌ヨ鍙傛暟 - Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ; - - // 鑾峰彇姹囨�荤殑璐按閲戦銆佽喘鍗¢噾棰� - Float money = 0f; - Float cardCost = 0f; - Map map_sum = Optional.ofNullable(seClientMapper.getSums(params)).orElse(new HashMap()); - if(map_sum.size() > 0) { - money = Float.parseFloat(map_sum.get("money").toString()); - cardCost = Float.parseFloat(map_sum.get("cardCost").toString()); - } - - // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 - Long itemTotal = seClientMapper.getOperateRecordCount(params); - - Integer pageSize = vo.getPageSize(); - // 璁$畻鎬婚〉鏁� - Integer pageTotal ; - pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize); - - // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺 - Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); - params.put("pageCurr", pageCurr); - - List<VoOperate> lit = seClientMapper.getOperates(params); - Map map_record = new HashMap(); - map_record.put("itemTotal", itemTotal); - map_record.put("pageCurr", vo.pageCurr); - map_record.put("pageSize", pageSize); - map_record.put("pageTotal", pageTotal); - map_record.put("list", lit); - - Map map_result = new HashMap(); - map_result.put("money", money); - map_result.put("cardCost", cardCost); - map_result.put("records", map_record); - - return map_result; - } - - /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍 - * @param vo 浜ゆ槗姹囨�绘煡璇㈡潯浠� - * @return 浜ゆ槗姹囨�昏褰� - */ - public Map getStatistics(QueryStatistic vo){ - // 琛ラ綈鏌ヨ鏃堕棿 - String operateTimeStart = vo.operateTimeStart; - String operateTimeStop = vo.operateTimeStop; - if(operateTimeStart != null) { - operateTimeStart = operateTimeStart + " 00:00:00"; - vo.setOperateTimeStart(operateTimeStart); - } - if(operateTimeStop != null) { - operateTimeStop = operateTimeStop + " 23:59:59"; - vo.setOperateTimeStop(operateTimeStop); - } - - // 鐢熸垚鏌ヨ鍙傛暟 - Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ; - - // 鑾峰彇姹囨�荤殑浜ゆ槗绗旀暟銆佷氦鏄撻噾棰� - Integer count = 0; - Float money = 0f; - Map map_sum = Optional.ofNullable(seClientMapper.getStatisticSums(params)).orElse(new HashMap()); - if(map_sum.size() > 0) { - count = Integer.parseInt(map_sum.get("count").toString()); - money = Float.parseFloat(map_sum.get("money").toString()); - } - - // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 - Long itemTotal = seClientMapper.getStatisticRecordCount(params); - - Integer pageSize = vo.getPageSize(); - // 璁$畻鎬婚〉鏁� - Integer pageTotal ; - pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize); - - // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺 - Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); - params.put("pageCurr", pageCurr); - - List<VoStatistics> lit = seClientMapper.getStatistics(params); - Map map_record = new HashMap(); - map_record.put("itemTotal", itemTotal); - map_record.put("pageCurr", vo.pageCurr); - map_record.put("pageSize", pageSize); - map_record.put("pageTotal", pageTotal); - map_record.put("list", lit); - - Map map_result = new HashMap(); - map_result.put("count", count); - map_result.put("money", money); - map_result.put("records", map_record); - - return map_result; } /** -- Gitblit v1.8.0