Explorar el Código

feat(pricing): 新增三方价及时段标志字段支持

- 在AppletConnectorDetailVO新增thirdPartPrice和periodFlag字段
- 在AppletStationDetailVO新增thirdPartPrice和periodFlag字段
- 在ThirdPartyConnectorInfoMapper.xml中新增third_part_price和period_flag映射及SQL计算
- 在ThirdPartyStationInfoMapper.xml中新增third_part_price和period_flag映射及SQL查询逻辑
- 完善相关数据库字段映射,支持电费+服务费价格展示及时段分类标识
wzq hace 1 semana
padre
commit
64291306a8

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

@@ -61,6 +61,12 @@ public class AppletStationDetailVO implements Serializable {
     @Schema(description = "原价/划线价(元/度)")
     private BigDecimal originalPrice;
 
+    @Schema(description = "三方价/原价(元/度),电费+服务费")
+    private BigDecimal thirdPartPrice;
+
+    @Schema(description = "时段标志(1-尖,2-峰,3-平,4-谷)")
+    private Integer periodFlag;
+
     @Schema(description = "单笔预计省(元)")
     private BigDecimal estimatedSaving;
 

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

@@ -94,6 +94,12 @@ public class AppletConnectorDetailVO implements Serializable {
     @Schema(description = "企业价格(元/度),电价+服务费+企业运营费+增值费用,仅企业用户有值")
     private BigDecimal enterprisePrice;
 
+    @Schema(description = "三方价/原价(元/度),电价+服务费")
+    private BigDecimal thirdPartPrice;
+
+    @Schema(description = "时段标志(1-尖,2-峰,3-平,4-谷)")
+    private Integer periodFlag;
+
     @Schema(description = "是否企业用户")
     private Boolean isFirmUser;
 

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

@@ -459,6 +459,8 @@
         <result property="currentPeriod" column="current_period"/>
         <result property="enterprisePrice" column="enterprise_price"/>
         <result property="originalPrice" column="original_price"/>
+        <result property="thirdPartPrice" column="third_part_price"/>
+        <result property="periodFlag" column="period_flag"/>
         <result property="businessHours" column="business_hours"/>
         <result property="serviceProvider" column="service_provider"/>
         <result property="invoiceProvider" column="invoice_provider"/>
@@ -557,6 +559,31 @@
                 ORDER BY tppi.start_time DESC
                 LIMIT 1
             ) AS original_price,
+            <!-- 三方价/原价(电费+服务费) -->
+            (
+                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 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 third_part_price,
+            <!-- 时段标志(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 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 period_flag,
             <!-- 企业价 -->
             <if test="firmId != null">
             (

+ 8 - 0
src/main/resources/mapper/charging/ThirdPartyConnectorInfoMapper.xml

@@ -28,6 +28,8 @@
         <result property="nationalStandardName" column="national_standard_name"/>
         <result property="currentPrice" column="current_price"/>
         <result property="enterprisePrice" column="enterprise_price"/>
+        <result property="thirdPartPrice" column="third_part_price"/>
+        <result property="periodFlag" column="period_flag"/>
         <result property="isFirmUser" column="is_firm_user"/>
         <result property="currentPeriodDesc" column="current_period_desc"/>
         <result property="parkingTips" column="parking_tips"/>
@@ -102,6 +104,12 @@
             -- 企业价格(综合销售费)
             ROUND(IFNULL(pf.comp_sales_fee, 0), 4) AS enterprise_price,
             
+            -- 三方价/原价(电费+服务费)
+            ROUND(IFNULL(tppi.elec_price, 0) + IFNULL(tppi.service_price, 0), 4) AS third_part_price,
+            
+            -- 时段标志(1-尖,2-峰,3-平,4-谷)
+            tppi.period_flag AS period_flag,
+            
             -- 是否企业用户(如果查询到企业价格则为true)
             CASE WHEN pf.id IS NOT NULL THEN 1 ELSE 0 END AS is_firm_user,