Bladeren bron

充电站统计数据新增电费/服务费占比

skyline 2 jaren geleden
bovenliggende
commit
9c95ca14cf

+ 6 - 5
admin/src/main/java/com/kym/admin/controller/StatController.java

@@ -23,14 +23,15 @@ public class StatController {
         this.chargeOrderService = chargeOrderService;
     }
 
-    // 站点充电数据-日
+    /**
+     * 站点充电数据-日/月
+     *
+     * @param params
+     * @return
+     */
     @GetMapping("/stationStat")
     R stationStat(@ModelAttribute StatQueryParam params) {
         var res = chargeOrderService.stationStat(params);
         return R.success(res);
     }
-
-    // 站点充电数据-月
-
-
 }

+ 10 - 4
entity/src/main/java/com/kym/entity/admin/vo/StationStatVo.java

@@ -2,6 +2,8 @@ package com.kym.entity.admin.vo;
 
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 /**
  * @author skyline
  * @description
@@ -11,8 +13,12 @@ import lombok.Data;
 public class StationStatVo {
     private String stationId;
     private String statTime;
-    private String totalPower;
-    private String totalMoney;
-    private String elecMoney;
-    private String serviceMoney;
+    private Integer totalOrders;
+    private Double totalPower;
+    private Integer totalMoney;
+    private Integer elecMoney;
+    private BigDecimal elecMoneyPercent;
+    private Integer serviceMoney;
+    private BigDecimal serviceMoneyPercent;
+
 }

+ 2 - 0
mapper/src/main/resources/mappers/miniapp/ChargeOrderMapper.xml

@@ -44,6 +44,7 @@
     <resultMap id="StationStatMap" type="com.kym.entity.admin.vo.StationStatVo">
         <result column="station_id" property="stationId"/>
         <result column="start_time" property="startTime"/>
+        <result column="total_orders" property="totalOrders"/>
         <result column="total_power" property="totalPower"/>
         <result column="total_money" property="totalMoney"/>
         <result column="elec_money" property="elecMoney"/>
@@ -113,6 +114,7 @@
             DATE_FORMAT(t1.start_time, '%Y-%m')
         </if>
         stat_time,
+        count(t1.id) total_orders,
         SUM(t1.total_power) total_power,
         SUM(t1.total_money) total_money,
         SUM(t1.elec_money) elec_money,

+ 6 - 1
service/src/main/java/com/kym/service/miniapp/impl/ChargeOrderServiceImpl.java

@@ -14,6 +14,8 @@ import com.kym.service.miniapp.ChargeOrderService;
 import com.kym.service.utils.KymCache;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.stream.Collectors;
 
 /**
@@ -77,7 +79,10 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
     @Override
     public PageBean<StationStatVo> stationStat(StatQueryParam params) {
         PageHelper.startPage(params.getPageNum(), params.getPageSize());
-        var res = baseMapper.stationStat(params);
+        var res = baseMapper.stationStat(params).stream().peek(item -> {
+            item.setElecMoneyPercent((new BigDecimal(item.getElecMoney())).divide(new BigDecimal(item.getTotalMoney()), 2, RoundingMode.HALF_UP));
+            item.setServiceMoneyPercent(BigDecimal.ONE.subtract(item.getElecMoneyPercent()));
+        }).collect(Collectors.toList());
         return new PageBean<>(res);
     }