Explorar el Código

feat(chargeOrder): 新增电池SOC字段及三方价时段信息

- 在chargeOrderInfo相关查询中新增soc字段并拼接百分号显示
- ChargeOrderInfoVO新增soc属性
- ThirdPartyStationInfo相关SQL新增时段标志periodFlag及三方价thirdPartPrice字段
- StationInfoVO新增periodFlag和thirdPartPrice属性
- 修正WFTOrderService中的支付退款参数内容,调整订单号及金额信息
wzq hace 1 semana
padre
commit
fdf0f780b3

+ 2 - 0
src/main/java/com/zsElectric/boot/business/model/vo/ChargeOrderInfoVO.java

@@ -122,4 +122,6 @@ public class ChargeOrderInfoVO implements Serializable {
     private String stationName;
     @Schema(description = "用户手机号")
     private String phone;
+    @Schema(description = "电池soc%")
+    private String soc;
 }

+ 6 - 0
src/main/java/com/zsElectric/boot/business/model/vo/StationInfoVO.java

@@ -46,6 +46,12 @@ public class StationInfoVO implements Serializable {
     @Schema(description = "峰时段时间")
     private String peakTime;
 
+    @Schema(description = "时段标志(1-尖,2-峰,3-平,4-谷)")
+    private Integer periodFlag;
+
+    @Schema(description = "三方价")
+    private BigDecimal thirdPartPrice;
+
     @Schema(description = "平台价")
     private BigDecimal platformPrice;
 

+ 11 - 5
src/main/resources/mapper/business/ChargeOrderInfoMapper.xml

@@ -53,12 +53,14 @@
         coi.version,
         coi.is_deleted,
         pci.connector_id,
-        pci.connector_name
+        pci.connector_name,
+        CONCAT(tcs.soc,'%') AS soc
         FROM
         c_charge_order_info coi
         LEFT JOIN c_user_info ui ON coi.user_id = ui.id
         left JOIN third_party_connector_info pci ON coi.connector_id = pci.connector_id
         LEFT JOIN third_party_station_info psi ON coi.third_party_station_id = psi.id
+        LEFT JOIN third_party_charge_status tcs ON coi.start_charge_seq = tcs.start_charge_seq
         <where>
             coi.is_deleted = 0
             <if test="queryParams.equipmentId != null">
@@ -144,11 +146,13 @@
         coi.is_deleted,
         pci.connector_id,
         pci.connector_name,
-        psi.station_name
+        psi.station_name,
+        CONCAT(tcs.soc,'%') AS soc
         FROM
         c_charge_order_info coi
-        left JOIN third_party_connector_info pci ON coi.connector_id = pci.connector_id
+        LEFT JOIN third_party_connector_info pci ON coi.connector_id = pci.connector_id
         LEFT JOIN third_party_station_info psi ON pci.station_id = psi.station_id
+        LEFT JOIN third_party_charge_status tcs ON coi.start_charge_seq = tcs.start_charge_seq
         <where>
             coi.is_deleted = 0
             <if test="queryParams.userId != null">
@@ -217,12 +221,14 @@
         coi.version,
         coi.is_deleted,
         pci.connector_id,
-        pci.connector_name
+        pci.connector_name,
+        CONCAT(tcs.soc,'%') AS soc
         FROM
         c_charge_order_info coi
         LEFT JOIN c_user_info ui ON coi.user_id = ui.id
-        left JOIN third_party_connector_info pci ON coi.connector_id = pci.connector_id
+        LEFT JOIN third_party_connector_info pci ON coi.connector_id = pci.connector_id
         LEFT JOIN third_party_station_info psi ON coi.third_party_station_id = psi.id
+        LEFT JOIN third_party_charge_status tcs ON coi.start_charge_seq = tcs.start_charge_seq
         <where>
             coi.is_deleted = 0
             <if test="chargeOrderNo != null and chargeOrderNo !=''">

+ 27 - 0
src/main/resources/mapper/business/ThirdPartyStationInfoMapper.xml

@@ -152,6 +152,8 @@
         <result property="slowCharging" column="slow_charging"/>
         <result property="peakValue" column="peak_value"/>
         <result property="peakTime" column="peak_time"/>
+        <result property="periodFlag" column="period_flag"/>
+        <result property="thirdPartPrice" column="third_part_price"/>
         <result property="platformPrice" column="platform_price"/>
         <result property="enterprisePrice" column="enterprise_price"/>
     </resultMap>
@@ -229,6 +231,31 @@
                 ORDER BY tppi.start_time DESC
                 LIMIT 1
             ) AS peak_time,
+            <!-- 时段标志(1-尖,2-峰,3-平,4-谷) -->
+            (
+                SELECT tppi.period_flag
+                FROM third_party_policy_info tppi
+                INNER JOIN third_party_equipment_price_policy tpepp ON tppi.price_policy_id = tpepp.id AND tpepp.is_deleted = 0
+                INNER JOIN third_party_connector_info tpci7 ON tpepp.connector_id = tpci7.connector_id AND tpci7.is_deleted = 0
+                WHERE tpci7.station_id = tpsi.station_id
+                    AND tppi.is_deleted = 0
+                    AND tppi.start_time &lt;= #{currentTime}
+                ORDER BY tppi.start_time DESC
+                LIMIT 1
+            ) AS period_flag,
+            <!-- 三方价/原价(电费+服务费) -->
+            (
+                SELECT
+                    ROUND(IFNULL(tppi.elec_price, 0) + IFNULL(tppi.service_price, 0), 4)
+                FROM third_party_policy_info tppi
+                INNER JOIN third_party_equipment_price_policy tpepp ON tppi.price_policy_id = tpepp.id AND tpepp.is_deleted = 0
+                INNER JOIN third_party_connector_info tpci6 ON tpepp.connector_id = tpci6.connector_id AND tpci6.is_deleted = 0
+                WHERE tpci6.station_id = tpsi.station_id
+                    AND tppi.is_deleted = 0
+                    AND tppi.start_time &lt;= #{currentTime}
+                ORDER BY tppi.start_time DESC
+                LIMIT 1
+            ) AS third_part_price,
             <!-- 平台价(综合销售费) -->
             (
                 SELECT