skyline 2 жил өмнө
parent
commit
75a05cd96c

+ 12 - 3
admin-web/src/views/admin/index.vue

@@ -18,9 +18,9 @@
               <span class="ml5 font16" :style="{ color: v.color1 }">{{ v.num2 }}%</span>
               <div class="mt10">{{ v.num3 }}</div>
             </div>
-            <div class="home-card-item-icon flex" :style="{ background: `var(${v.color2})` }">
-              <i class="flex-margin font32" :class="v.num4" :style="{ color: `var(${v.color3})` }"></i>
-            </div>
+<!--            <div class="home-card-item-icon flex" :style="{ background: `var(${v.color2})` }">-->
+<!--              <i class="flex-margin font32" :class="v.num4" :style="{ color: `var(${v.color3})` }"></i>-->
+<!--            </div>-->
           </div>
         </div>
       </el-col>
@@ -142,6 +142,15 @@ const state = reactive({
       color2: '--next-color-danger-lighter',
       color3: '--el-color-danger',
     },
+    {
+      num1: '520,43',
+      num2: '-10.01',
+      num3: '今日充电人数',
+      num4: 'fa fa-github-alt',
+      color1: '#FF6462',
+      color2: '--next-color-danger-lighter',
+      color3: '--el-color-danger',
+    },
     {
       num1: '520,43',
       num2: '-10.01',

+ 12 - 4
admin/src/main/java/com/kym/admin/controller/StatController.java

@@ -3,10 +3,7 @@ package com.kym.admin.controller;
 import com.kym.common.R;
 import com.kym.entity.admin.queryParams.StatQueryParam;
 import com.kym.service.miniapp.ChargeOrderService;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @author skyline
@@ -34,4 +31,15 @@ public class StatController {
         var res = chargeOrderService.stationStat(params);
         return R.success(res);
     }
+
+    /**
+     * 站点实时数据
+     *
+     * @return
+     */
+    @GetMapping({"/stationTodayStat/{stationId}", "/stationTodayStat"})
+    R stationTodayStat(@PathVariable(required = false) String stationId) {
+        var res = chargeOrderService.stationTodayStat(stationId);
+        return R.success(res);
+    }
 }

+ 2 - 2
entity/src/main/java/com/kym/entity/admin/MonitorLog.java

@@ -24,8 +24,8 @@ public class MonitorLog extends BaseEntity {
 
     private static final long serialVersionUID = 1L;
 
-    public static int IS_RECOVER_未恢复;
-    public static int IS_RECOVER_已恢复;
+    public static int IS_RECOVER_未恢复 = 0;
+    public static int IS_RECOVER_已恢复 = 1;
 
     /**
      * 站点id

+ 3 - 0
mapper/src/main/java/com/kym/mapper/miniapp/ChargeOrderMapper.java

@@ -10,6 +10,7 @@ import com.kym.entity.miniapp.ChargeOrder;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -24,4 +25,6 @@ public interface ChargeOrderMapper extends BaseMapper<ChargeOrder> {
     List<CustomOrderVo> listChargeOrders(@Param("params") CustomChargeOrdersQueryParam params);
 
     List<StationStatVo> stationStat(@Param("params") StatQueryParam params);
+
+    List<Map> stationTodayStat(@Param("stationId") String stationId);
 }

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

@@ -142,4 +142,29 @@
         order by stat_time desc
     </select>
 
+    <select id="stationTodayStat" resultType="java.util.Map" parameterType="String">
+        SELECT
+        t1.station_id stationId,
+        COUNT(DISTINCT (t1.user_id)) chargeUsers,
+        COUNT(t1.id) totalOrders,
+        SUM(t1.total_power) totalPower,
+        SUM(t1.total_money) totalMoney,
+        SUM(t1.elec_money) elecMoney,
+        SUM(t1.service_money) serviceMoney
+        FROM
+        (SELECT
+        *
+        FROM
+        t_charge_order
+        <where>
+            <if test="stationId != null">
+                AND station_id = #{stationId}
+            </if>
+            AND start_time &gt;= DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00')
+            AND start_time &lt;= DATE_FORMAT(NOW(), '%Y-%m-%d 23:59:59')) t1
+        </where>
+
+        GROUP BY t1.station_id
+    </select>
+
 </mapper>

+ 5 - 0
service/src/main/java/com/kym/service/miniapp/ChargeOrderService.java

@@ -8,6 +8,9 @@ import com.kym.entity.admin.vo.StationStatVo;
 import com.kym.entity.common.PageBean;
 import com.kym.entity.miniapp.ChargeOrder;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 充电订单表 服务类
@@ -29,4 +32,6 @@ public interface ChargeOrderService extends IService<ChargeOrder> {
     ChargeOrder orderDetailForApp(String startChargeSeq);
 
     PageBean<StationStatVo> stationStat(StatQueryParam params);
+
+    List<Map> stationTodayStat(String stationId);
 }

+ 12 - 0
service/src/main/java/com/kym/service/miniapp/impl/ChargeOrderServiceImpl.java

@@ -16,6 +16,8 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -86,5 +88,15 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
         return new PageBean<>(res);
     }
 
+    /**
+     * 充电站当日统计
+     *
+     * @return
+     */
+    @Override
+    public List<Map> stationTodayStat(String stationId) {
+        return baseMapper.stationTodayStat(stationId);
+    }
+
 
 }