From d32a308c6f6286669ac5941d1616bfdc9829361e Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 24 二月 2025 17:22:43 +0800
Subject: [PATCH] 2025年02月24日17:22:38

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java |  311 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 218 insertions(+), 93 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java
index 7d2030a..71c3788 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java
@@ -33,79 +33,23 @@
         return sHdlESLocalJsonLogic;
     }
 
+    /**
+     * 鑴氭湰鍦板潃鍩熷悕
+     */
+    private static final String address = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu";
+
 
     /**
-     * 銆愰�嗗彉鍣ㄣ�戣澶囧瀷鍙�
+     * 鎷兼帴鏂板湴鍧�
+     *
+     * @param fileName    json鏂囦欢鍚嶇О
+     * @param deviceType  璁惧绫诲瀷锛坕nv锛宭c锛宐ms锛宐attery锛�
+     * @param deviceModel 璁惧鍨嬪彿
+     * @return 鏂板湴鍧�
      */
-    public static final String deviceModel_ME_GSE_S5K = "ME-GSE-S5K";
-    /**
-     * 銆愯礋杞芥帶鍒朵腑蹇冦�戣澶囧瀷鍙�
-     */
-    public static final String deviceModel_ME_GSE_SPG63A = "ME-GSE-SPG63A";
-    /**
-     * 銆怋MS銆戣澶囧瀷鍙�
-     */
-    public static final String deviceModel_ME_GSE_BMS15K = "ME-GSE-BMS15K";
-    /**
-     * 銆愮數姹犲寘銆戣澶囧瀷鍙�
-     */
-    public static final String deviceModel_ME_GSE_B5K = "ME-GSE-B5K";
-
-    /**
-     * 鍒涘缓鐢电珯-閫嗗彉鍣ㄥ弬鏁伴厤缃�
-     */
-    public static final String hdl_inv_ecu_quick = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/inv/deviceModel/modbus_hdl_inv_ecu_quick_v1.5.1.json";
-    /**
-     * 鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆
-     */
-    public static final String hdl_lc_ecu_quick = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/lc/deviceModel/modbus_hdl_lc_ecu_quick_v1.5.0.json";
-    /**
-     * 閫嗗彉鍣ㄥ弬鏁伴厤缃紙config锛�
-     */
-    public static final String hdl_inv_ecu = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/inv/deviceModel/modbus_hdl_inv_ecu_v1.5.1.json";
-    /**
-     * 閫嗗彉鍣ㄨ鎯�-pv
-     */
-    public static final String hdl_inv_ecu_info_pv = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/inv/deviceModel/info/modbus_hdl_inv_ecu_info_pv_v1.4.2.json";
-    /**
-     * 閫嗗彉鍣ㄨ鎯�-杈撳嚭
-     */
-    public static final String hdl_inv_ecu_info_output = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/inv/deviceModel/info/modbus_hdl_inv_ecu_info_output_v1.4.2.json";
-    /**
-     * 閫嗗彉鍣ㄨ鎯�-item椤�
-     */
-    public static final String hdl_inv_ecu_info_item = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/inv/deviceModel/info/modbus_hdl_inv_ecu_info_item_v1.5.1.json";
-    /**
-     * 鑾峰彇璐熻浇鎺у埗涓績
-     */
-    public static final String hdl_lc_ecu_info_item = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/lc/deviceModel/modbus_hdl_lc_ecu_info_item_v1.5.0.json";
-    /**
-     * 鑾峰彇BMS淇℃伅
-     */
-    public static final String hdl_bms_ecu = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/bms/deviceModel/modbus_hdl_bms_ecu_v1.4.2.json";
-    /**
-     * 鐢垫睜鍖呬俊鎭�
-     */
-    public static final String hdl_battery_ecu = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/battery/deviceModel/modbus_hdl_battery_ecu_v1.4.2.json";
-
-    /**
-     * 鐢垫睜鍖�-鐢佃姱淇℃伅
-     */
-    public static final String hdl_battery_ecu_cell = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/battery/deviceModel/modbus_hdl_battery_ecu_cell_v1.4.2.json";
-
-    /**
-     * 閫嗗彉鍣ㄨ鎯�-淇″彿鐐�
-     */
-    public static final String hdl_inv_ecu_info_signal = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/currentLanguage/inv/deviceModel/info/modbus_hdl_inv_ecu_info_signal_v1.4.1.json";
-
-    /**
-     * 鑾峰彇閫嗗彉鍣ㄦ墍鏈塲son涓枃
-     */
-    public static final String hdl_inv_ecu_all_zh = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/zh/all_v1.5.1.json";
-    /**
-     * 鑾峰彇閫嗗彉鍣ㄦ墍鏈塲son鑻辨枃
-     */
-    public static final String hdl_inv_ecu_all_en = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu/en/all_v1.5.1.json";
+    private String getStrJointNewUrl(String fileName, String deviceType, String deviceModel) {
+        return address + "/" + UserConfigManage.getInstance().getCurrentAppLanguage() + "/" + deviceType + "/" + deviceModel + "/" + fileName;
+    }
 
     /**
      * 鍒濆鍖栬剼鏈瑄rl
@@ -115,17 +59,31 @@
     private Map<String, String> getUrlMap() {
         //娉ㄦ剰锛堥�嗗彉鍣�:ME-GSE-S5K锛岃礋杞戒腑蹇�:ME-GSE-SPG63A锛宐ms:ME-GSE-BMS15K锛岀數姹犲寘:ME-GSE-B5K锛夎澶囧瀷鍙蜂笉涓�鏍�
         Map<String, String> map = new HashMap<>();
-        map.put(this.getNewUrl(hdl_lc_ecu_info_item, deviceModel_ME_GSE_SPG63A), deviceModel_ME_GSE_SPG63A);//鑾峰彇璐熻浇鎺у埗涓績
-        map.put(this.getNewUrl(hdl_lc_ecu_quick, deviceModel_ME_GSE_SPG63A), deviceModel_ME_GSE_SPG63A); //鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆
-        map.put(this.getNewUrl(hdl_inv_ecu_quick, deviceModel_ME_GSE_S5K), deviceModel_ME_GSE_S5K);//鍒涘缓鐢电珯-閫嗗彉鍣ㄥ弬鏁伴厤缃�
-        map.put(this.getNewUrl(hdl_inv_ecu, deviceModel_ME_GSE_S5K), deviceModel_ME_GSE_S5K);//閫嗗彉鍣ㄥ弬鏁伴厤缃�
-        map.put(this.getNewUrl(hdl_inv_ecu_info_pv, deviceModel_ME_GSE_S5K), deviceModel_ME_GSE_S5K);// 閫嗗彉鍣ㄨ鎯�-pv
-        map.put(this.getNewUrl(hdl_inv_ecu_info_output, deviceModel_ME_GSE_S5K), deviceModel_ME_GSE_S5K);//閫嗗彉鍣ㄨ鎯�-杈撳嚭
-        map.put(this.getNewUrl(hdl_inv_ecu_info_item, deviceModel_ME_GSE_S5K), deviceModel_ME_GSE_S5K);//閫嗗彉鍣ㄨ鎯�-item椤�
-        map.put(this.getNewUrl(hdl_inv_ecu_info_signal, deviceModel_ME_GSE_S5K), deviceModel_ME_GSE_S5K);//閫嗗彉鍣ㄨ鎯�-淇″彿鐐�
-        map.put(this.getNewUrl(hdl_bms_ecu, deviceModel_ME_GSE_BMS15K), deviceModel_ME_GSE_BMS15K);//鑾峰彇BMS淇℃伅
-        map.put(this.getNewUrl(hdl_battery_ecu, deviceModel_ME_GSE_B5K), deviceModel_ME_GSE_B5K);//鐢垫睜鍖呬俊鎭�
-        map.put(this.getNewUrl(hdl_battery_ecu_cell, deviceModel_ME_GSE_B5K), deviceModel_ME_GSE_B5K);//鐢垫睜鍖�-鐢佃姱淇℃伅
+        map.put(this.getStrJointNewUrl(FileName.hdl_lc_ecu_info_item, DeviceType.LC, DeviceModel.LC), DeviceModel.LC);//鑾峰彇璐熻浇鎺у埗涓績
+        map.put(this.getStrJointNewUrl(FileName.hdl_lc_ecu_quick, DeviceType.LC, DeviceModel.LC), DeviceModel.LC); //鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_quick, DeviceType.INV, DeviceModel.INV), DeviceModel.INV);//鍒涘缓鐢电珯-閫嗗彉鍣ㄥ弬鏁伴厤缃�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu, DeviceType.INV, DeviceModel.INV), DeviceModel.INV);//閫嗗彉鍣ㄥ弬鏁伴厤缃�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_info_pv, DeviceType.INV, DeviceModel.INV), DeviceModel.INV);// 閫嗗彉鍣ㄨ鎯�-pv
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_info_output, DeviceType.INV, DeviceModel.INV), DeviceModel.INV);//閫嗗彉鍣ㄨ鎯�-杈撳嚭
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_info_item, DeviceType.INV, DeviceModel.INV), DeviceModel.INV);//閫嗗彉鍣ㄨ鎯�-item椤�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_info_signal, DeviceType.INV, DeviceModel.INV), DeviceModel.INV);//閫嗗彉鍣ㄨ鎯�-淇″彿鐐�
+        map.put(this.getStrJointNewUrl(FileName.hdl_bms_ecu, DeviceType.BMS, DeviceModel.INV_BMS), DeviceModel.INV_BMS);//鑾峰彇BMS淇℃伅
+        map.put(this.getStrJointNewUrl(FileName.hdl_battery_ecu, DeviceType.BATTERY, DeviceModel.INV_BATTERY), DeviceModel.INV_BATTERY);//鐢垫睜鍖呬俊鎭�
+        map.put(this.getStrJointNewUrl(FileName.hdl_battery_ecu_cell, DeviceType.BATTERY, DeviceModel.INV_BATTERY), DeviceModel.INV_BATTERY);//鐢垫睜鍖�-鐢佃姱淇℃伅
+        //绂荤綉閫嗗彉鍣�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_quick_off, DeviceType.INV, DeviceModel.OFF_INV), DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_master_ecu_off, DeviceType.INV, DeviceModel.OFF_INV), DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄤ富鏈洪厤缃�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_slave_ecu_off, DeviceType.INV, DeviceModel.OFF_INV), DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄤ粠鏈洪厤缃�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_info_pv_off, DeviceType.INV, DeviceModel.OFF_INV), DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄨ鎯呭厜浼忚緭鍏�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_info_input_off, DeviceType.INV, DeviceModel.OFF_INV), DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄨ鎯呬氦娴佽緭鍏�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_info_output_off, DeviceType.INV, DeviceModel.OFF_INV), DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄨ鎯呬氦娴佽緭鍑�
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_info_item_off, DeviceType.INV, DeviceModel.OFF_INV), DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄨ鎯呭熀纭�鍙傛暟
+        map.put(this.getStrJointNewUrl(FileName.hdl_inv_ecu_info_signal_off, DeviceType.INV, DeviceModel.OFF_INV), DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄨ鎯呯粺璁�
+        map.put(this.getStrJointNewUrl(FileName.hdl_bms_ecu_off, DeviceType.BMS, DeviceModel.OFF_INV_BMS), DeviceModel.OFF_INV_BMS);//绂荤綉閫嗗彉鍣˙MS璇︽儏
+        map.put(this.getStrJointNewUrl(FileName.hdl_battery_ecu_off, DeviceType.BATTERY, DeviceModel.OFF_INV_BATTERY), DeviceModel.OFF_INV_BATTERY);//绂荤綉閫嗗彉鍣ㄧ數姹犺鎯�
+        map.put(this.getStrJointNewUrl(FileName.hdl_battery_ecu_cell_off, DeviceType.BATTERY, DeviceModel.OFF_INV_BATTERY), DeviceModel.OFF_INV_BATTERY);//绂荤綉閫嗗彉鍣ㄧ數姹犵數鑺�
+
+
         return map;
     }
 
@@ -175,18 +133,6 @@
     public String readHdlESLocalJson(String url, String deviceModel) {
         return this.readJson(url, deviceModel);
     }
-
-    /**
-     * 澶勭悊url杩斿洖鏂扮殑url
-     *
-     * @param url         鍦板潃
-     * @param deviceModel 璁惧绫诲瀷
-     * @return 杩斿洖鍦板潃
-     */
-    private String getNewUrl(String url, String deviceModel) {
-        return url.replace("currentLanguage", UserConfigManage.getInstance().getCurrentAppLanguage()).replace("deviceModel", deviceModel);
-    }
-
 
     /**
      * 淇濆瓨json鏁版嵁
@@ -248,4 +194,183 @@
         }
     }
 
+    /**
+     * Json鏁版嵁閰嶇疆鏂囦欢鍚�
+     */
+    public @interface FileName {
+        /**
+         * 鍒涘缓鐢电珯-閫嗗彉鍣ㄥ弬鏁伴厤缃�
+         */
+        String hdl_inv_ecu_quick = "modbus_hdl_inv_ecu_quick_v1.5.1.json";
+        /**
+         * 鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆
+         */
+        String hdl_lc_ecu_quick = "modbus_hdl_lc_ecu_quick_v1.5.0.json";
+        /**
+         * 閫嗗彉鍣ㄥ弬鏁伴厤缃紙config锛�
+         */
+        String hdl_inv_ecu = "modbus_hdl_inv_ecu_v1.5.2.json";
+        /**
+         * 閫嗗彉鍣ㄨ鎯�-pv
+         */
+        String hdl_inv_ecu_info_pv = "info/modbus_hdl_inv_ecu_info_pv_v1.4.2.json";
+        /**
+         * 閫嗗彉鍣ㄨ鎯�-杈撳嚭
+         */
+        String hdl_inv_ecu_info_output = "info/modbus_hdl_inv_ecu_info_output_v1.4.2.json";
+        /**
+         * 閫嗗彉鍣ㄨ鎯�-item椤�
+         */
+        String hdl_inv_ecu_info_item = "info/modbus_hdl_inv_ecu_info_item_v1.5.2.json";
+        /**
+         * 鑾峰彇璐熻浇鎺у埗涓績
+         */
+        String hdl_lc_ecu_info_item = "modbus_hdl_lc_ecu_info_item_v1.5.0.json";
+        /**
+         * 鑾峰彇BMS淇℃伅
+         */
+        String hdl_bms_ecu = "modbus_hdl_bms_ecu_v1.4.2.json";
+        /**
+         * 鐢垫睜鍖呬俊鎭�
+         */
+        String hdl_battery_ecu = "modbus_hdl_battery_ecu_v1.4.2.json";
+
+        /**
+         * 鐢垫睜鍖�-鐢佃姱淇℃伅
+         */
+        String hdl_battery_ecu_cell = "modbus_hdl_battery_ecu_cell_v1.4.2.json";
+
+        /**
+         * 閫嗗彉鍣ㄨ鎯�-淇″彿鐐�
+         */
+        String hdl_inv_ecu_info_signal = "info/modbus_hdl_inv_ecu_info_signal_v1.4.1.json";
+
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃�
+         */
+        String hdl_inv_ecu_quick_off = "modbus_hdl_inv_ecu_quick_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄤ富鏈洪厤缃�
+         */
+        String hdl_inv_master_ecu_off = "modbus_hdl_inv_master_ecu_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄤ粠鏈洪厤缃�
+         */
+        String hdl_inv_slave_ecu_off = "modbus_hdl_inv_slave_ecu_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄨ鎯呭厜浼忚緭鍏�
+         */
+        String hdl_inv_ecu_info_pv_off = "modbus_hdl_inv_ecu_info_pv_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄨ鎯呬氦娴佽緭鍏�
+         */
+        String hdl_inv_ecu_info_input_off = "modbus_hdl_inv_ecu_info_input_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄨ鎯呬氦娴佽緭鍑�
+         */
+        String hdl_inv_ecu_info_output_off = "modbus_hdl_inv_ecu_info_output_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄨ鎯呭熀纭�鍙傛暟
+         */
+        String hdl_inv_ecu_info_item_off = "modbus_hdl_inv_ecu_info_item_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄨ鎯呯粺璁�
+         */
+        String hdl_inv_ecu_info_signal_off = "modbus_hdl_inv_ecu_info_signal_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣˙MS璇︽儏
+         */
+        String hdl_bms_ecu_off = "modbus_hdl_bms_ecu_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄧ數姹犺鎯�
+         */
+        String hdl_battery_ecu_off = "modbus_hdl_battery_ecu_v1.5.2.json";
+
+        /**
+         * 绂荤綉閫嗗彉鍣ㄧ數姹犵數鑺�
+         */
+        String hdl_battery_ecu_cell_off = "modbus_hdl_battery_ecu_cell_v1.5.2.json";
+
+
+        /**
+         * 鑾峰彇閫嗗彉鍣ㄦ墍鏈塲son涓枃
+         */
+        String hdl_inv_ecu_all_zh = "/zh/all_v1.5.1.json";
+        /**
+         * 鑾峰彇閫嗗彉鍣ㄦ墍鏈塲son鑻辨枃
+         */
+        String hdl_inv_ecu_all_en = "/en/all_v1.5.1.json";
+
+    }
+
+    /**
+     * 璁惧鍨嬪彿
+     */
+    public @interface DeviceModel {
+        /**
+         * 銆愰�嗗彉鍣ㄣ�戣澶囧瀷鍙�
+         */
+        String INV = "ME-GSE-S5K";
+        /**
+         * 銆愯礋杞芥帶鍒朵腑蹇冦�戣澶囧瀷鍙�
+         */
+        String LC = "ME-GSE-SPG63A";
+        /**
+         * 銆怋MS銆戣澶囧瀷鍙�
+         */
+        String INV_BMS = "ME-GSE-BMS15K";
+        /**
+         * 銆愮數姹犲寘銆戣澶囧瀷鍙�
+         */
+        String INV_BATTERY = "ME-GSE-B5K";
+
+
+        /**
+         * 銆愮绾块�嗗彉鍣ㄣ�戣澶囧瀷鍙�
+         */
+        String OFF_INV = "ME-GLE-S5K";
+
+        /**
+         * 銆愮缃戦�嗗彉鍣ㄨ櫄鎷烞MS銆戣澶囧瀷鍙�
+         */
+        String OFF_INV_BMS = "ME-GLE-S5K-BMS";
+        /**
+         * 銆愮缃戦�嗗彉鍣ㄧ數姹犲寘銆戣澶囧瀷鍙�
+         */
+        String OFF_INV_BATTERY = "ME-GLE-B5K";
+    }
+
+    /**
+     * 璁惧绫诲瀷
+     */
+    public @interface DeviceType {
+        /**
+         * 銆愰�嗗彉鍣ㄣ�戠被鍨�
+         */
+        String INV = "inv";
+        /**
+         * 銆愯礋杞芥帶鍒朵腑蹇冦�戠被鍨�
+         */
+        String LC = "lc";
+        /**
+         * 銆怋MS銆戠被鍨�
+         */
+        String BMS = "bms";
+        /**
+         * 銆愮數姹犲寘銆戠被鍨�
+         */
+        String BATTERY = "battery";
+
+    }
+
 }

--
Gitblit v1.8.0