From 5d3efa4c93dde0cde474951e5310bb72ebbf4184 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 15:18:26 +0800 Subject: [PATCH] 2025年05月07日15:18:20 1.2.0 --- app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java | 143 ++++++++++++++++++++++------------------------- 1 files changed, 66 insertions(+), 77 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 ebb0dd4..7ffd5bc 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlESLocalJsonLogic.java @@ -42,6 +42,10 @@ */ private static final String address = "https://hdl-hz-dev.oss-cn-hangzhou.aliyuncs.com/ecu"; + /** + * 鎷兼帴绗﹀彿 + */ + private final String concatenation_symbol = "%"; /** * 鎷兼帴鏂板湴鍧� @@ -52,7 +56,20 @@ * @return 鏂板湴鍧� */ private String getStrJointNewUrl(String fileName, String deviceType, String deviceModel) { - return address + "/" + UserConfigManage.getInstance().getCurrentAppLanguage() + "/" + deviceType + "/" + deviceModel + "/" + fileName + this.getVersion(fileName) + ".json"; + String joinFileName = fileName + concatenation_symbol + deviceType + concatenation_symbol + deviceModel; + if (joinFileName.equals(FileName.hdl_inv_ecu_info_pv + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV) + || joinFileName.equals(FileName.hdl_inv_ecu_info_output + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV) + || joinFileName.equals(FileName.hdl_inv_ecu_info_item + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV) + || joinFileName.equals(FileName.hdl_inv_ecu_info_signal + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV) + || joinFileName.equals(FileName.hdl_inv_ecu_info_pv + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV) + || joinFileName.equals(FileName.hdl_inv_ecu_info_output + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV) + || joinFileName.equals(FileName.hdl_inv_ecu_info_item + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV) + || joinFileName.equals(FileName.hdl_inv_ecu_info_signal + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV) + || joinFileName.equals(FileName.hdl_inv_ecu_info_input_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV) + ) { + return address + "/" + UserConfigManage.getInstance().getCurrentAppLanguage() + "/" + deviceType + "/" + deviceModel + "/info/" + fileName + this.getVersion(joinFileName) + ".json"; + } + return address + "/" + UserConfigManage.getInstance().getCurrentAppLanguage() + "/" + deviceType + "/" + deviceModel + "/" + fileName + this.getVersion(joinFileName) + ".json"; } @@ -62,7 +79,6 @@ * @return map */ private String getVersion(String fileName) { - Map<String, String> map = this.getFeliAndVersion(); for (Map.Entry<String, String> entry : map.entrySet()) { if (entry.getKey().equals(fileName)) { @@ -72,42 +88,6 @@ return ""; } - - /** - * 鑾峰彇json鏂囦欢鍚�,璁惧绫诲瀷锛岃澶囧瀷鍙� - * - * @return map - */ - private List<String> getFileNameAndDeviceTypeAndDeviceModeList() { - //娉ㄦ剰锛堥�嗗彉鍣�:ME-GSE-S5K锛岃礋杞戒腑蹇�:ME-GSE-SPG63A锛宐ms:ME-GSE-BMS15K锛岀數姹犲寘:ME-GSE-B5K锛夎澶囧瀷鍙蜂笉涓�鏍� - //鎷兼帴瑙勫垯锛氭枃浠跺悕_璁惧绫诲瀷_璁惧淇″彿 - List<String> stringList = new ArrayList<>(); - stringList.add(FileName.hdl_lc_ecu_info_item + "%" + DeviceType.LC + "%" + DeviceModel.LC);//鑾峰彇璐熻浇鎺у埗涓績 - stringList.add(FileName.hdl_lc_ecu_quick + "%" + DeviceType.LC + "%" + DeviceModel.LC);//鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆 - stringList.add(FileName.hdl_inv_ecu_quick + "%" + DeviceType.INV + "%" + DeviceModel.INV);//鍒涘缓鐢电珯-閫嗗彉鍣ㄥ弬鏁伴厤缃� - stringList.add(FileName.hdl_inv_ecu + "%" + DeviceType.INV + "%" + DeviceModel.INV);//閫嗗彉鍣ㄥ弬鏁伴厤缃� - stringList.add(FileName.hdl_inv_ecu_info_pv + "%" + DeviceType.INV + "%" + DeviceModel.INV);// 閫嗗彉鍣ㄨ鎯�-pv - stringList.add(FileName.hdl_inv_ecu_info_output + "%" + DeviceType.INV + "%" + DeviceModel.INV);//閫嗗彉鍣ㄨ鎯�-杈撳嚭 - stringList.add(FileName.hdl_inv_ecu_info_item + "%" + DeviceType.INV + "%" + DeviceModel.INV);//閫嗗彉鍣ㄨ鎯�-item椤� - stringList.add(FileName.hdl_inv_ecu_info_signal + "%" + DeviceType.INV + "%" + DeviceModel.INV);//閫嗗彉鍣ㄨ鎯�-淇″彿鐐� - stringList.add(FileName.hdl_bms_ecu + "%" + DeviceType.BMS + "%" + DeviceModel.INV_BMS);//鑾峰彇BMS淇℃伅 - stringList.add(FileName.hdl_battery_ecu + "%" + DeviceType.BATTERY + "%" + DeviceModel.INV_BATTERY);//鐢垫睜鍖呬俊鎭� - stringList.add(FileName.hdl_battery_ecu_cell + "%" + DeviceType.BATTERY + "%" + DeviceModel.INV_BATTERY);//鐢垫睜鍖�-鐢佃姱淇℃伅 - //绂荤綉閫嗗彉鍣� - stringList.add(FileName.hdl_inv_ecu_quick_off + "%" + DeviceType.INV + "%" + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_inv_master_ecu_off + "%" + DeviceType.INV + "%" + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_inv_slave_ecu_off + "%" + DeviceType.INV + "%" + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_inv_ecu_info_pv_off + "%" + DeviceType.INV + "%" + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_inv_ecu_info_input_off + "%" + DeviceType.INV + "%" + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_inv_ecu_info_output_off + "%" + DeviceType.INV + "%" + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_inv_ecu_info_item_off + "%" + DeviceType.INV + "%" + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_inv_ecu_info_signal_off + "%" + DeviceType.INV + "%" + DeviceModel.OFF_INV);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_bms_ecu_off + "%" + DeviceType.BMS + "%" + DeviceModel.OFF_INV_BMS);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_bms_ecu_off + "%" + DeviceType.BATTERY + "%" + DeviceModel.OFF_INV_BATTERY);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - stringList.add(FileName.hdl_battery_ecu_cell_off + "%" + DeviceType.BATTERY + "%" + DeviceModel.OFF_INV_BATTERY);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� - return stringList; - } - /** * 鏂囦欢瀵瑰簲鐗堟湰鍙� * @@ -115,29 +95,30 @@ */ private Map<String, String> getFeliAndVersion() { Map<String, String> map = new HashMap<>(); - map.put(FileName.hdl_lc_ecu_info_item, Version.v_1_5_0); - map.put(FileName.hdl_lc_ecu_quick, Version.v_1_5_0); - map.put(FileName.hdl_inv_ecu_quick, Version.v_1_5_1); - map.put(FileName.hdl_inv_ecu, Version.v_1_5_2); - map.put(FileName.hdl_inv_ecu_info_pv, Version.v_1_4_2); - map.put(FileName.hdl_inv_ecu_info_output, Version.v_1_4_2); - map.put(FileName.hdl_inv_ecu_info_item, Version.v_1_5_2); - map.put(FileName.hdl_inv_ecu_info_signal, Version.v_1_4_1); - map.put(FileName.hdl_bms_ecu, Version.v_1_4_2); - map.put(FileName.hdl_battery_ecu, Version.v_1_4_2); - map.put(FileName.hdl_battery_ecu_cell, Version.v_1_4_2); + //鎷兼帴瑙勫垯锛氭枃浠跺悕_璁惧绫诲瀷_璁惧淇″彿 + map.put(FileName.hdl_lc_ecu_info_item + concatenation_symbol + DeviceType.LC + concatenation_symbol + DeviceModel.LC, Version.v_1_5_0);//鑾峰彇璐熻浇鎺у埗涓績 + map.put(FileName.hdl_lc_ecu_quick + concatenation_symbol + DeviceType.LC + concatenation_symbol + DeviceModel.LC, Version.v_1_5_2);//鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆 + map.put(FileName.hdl_inv_ecu_quick + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_5_1);//鍒涘缓鐢电珯-閫嗗彉鍣ㄥ弬鏁伴厤缃� + map.put(FileName.hdl_inv_ecu + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_5_3);//閫嗗彉鍣ㄥ弬鏁伴厤缃�//鏇存柊鍒皏_1_5_3,鐩墠纭欢涓嶆敮鎸� + map.put(FileName.hdl_inv_ecu_info_pv + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_4_2);// 閫嗗彉鍣ㄨ鎯�-pv + map.put(FileName.hdl_inv_ecu_info_output + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_4_2);//閫嗗彉鍣ㄨ鎯�-杈撳嚭 + map.put(FileName.hdl_inv_ecu_info_item + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_5_2);//閫嗗彉鍣ㄨ鎯�-item椤�//鏇存柊鍒皏_1_5_2锛岀洰鍓嶇‖浠朵笉鏀寔卢 + map.put(FileName.hdl_inv_ecu_info_signal + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.INV, Version.v_1_4_1);//閫嗗彉鍣ㄨ鎯�-淇″彿鐐� + map.put(FileName.hdl_bms_ecu + concatenation_symbol + DeviceType.BMS + concatenation_symbol + DeviceModel.INV_BMS, Version.v_1_4_2);//鑾峰彇BMS淇℃伅 + map.put(FileName.hdl_battery_ecu + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.INV_BATTERY, Version.v_1_4_2);//鐢垫睜鍖呬俊鎭� + map.put(FileName.hdl_battery_ecu_cell + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.INV_BATTERY, Version.v_1_4_2);//鐢垫睜鍖�-鐢佃姱淇℃伅 //绂荤綉閫嗗彉鍣� - map.put(FileName.hdl_inv_ecu_quick_off, Version.v_1_5_2); - map.put(FileName.hdl_inv_master_ecu_off, Version.v_1_5_2); - map.put(FileName.hdl_inv_slave_ecu_off, Version.v_1_5_2); - map.put(FileName.hdl_inv_ecu_info_pv_off, Version.v_1_5_2); - map.put(FileName.hdl_inv_ecu_info_input_off, Version.v_1_5_2); - map.put(FileName.hdl_inv_ecu_info_output_off, Version.v_1_5_2); - map.put(FileName.hdl_inv_ecu_info_item_off, Version.v_1_5_2); - map.put(FileName.hdl_inv_ecu_info_signal_off, Version.v_1_5_2); - map.put(FileName.hdl_bms_ecu_off, Version.v_1_5_2); - map.put(FileName.hdl_battery_ecu_off, Version.v_1_5_2); - map.put(FileName.hdl_battery_ecu_cell_off, Version.v_1_5_2); + map.put(FileName.hdl_inv_ecu_quick_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_inv_master_ecu_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_3);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_inv_slave_ecu_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_inv_ecu_info_pv_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_inv_ecu_info_input_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_inv_ecu_info_output_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_inv_ecu_info_item_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_inv_ecu_info_signal_off + concatenation_symbol + DeviceType.INV + concatenation_symbol + DeviceModel.OFF_INV, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_bms_ecu_off + concatenation_symbol + DeviceType.BMS + concatenation_symbol + DeviceModel.OFF_INV_BMS, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_battery_ecu_off + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.OFF_INV_BATTERY, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� + map.put(FileName.hdl_battery_ecu_cell_off + concatenation_symbol + DeviceType.BATTERY + concatenation_symbol + DeviceModel.OFF_INV_BATTERY, Version.v_1_5_2);//绂荤綉閫嗗彉鍣ㄥ揩閫熼厤缃� return map; } @@ -145,12 +126,15 @@ * 鍚戜簯绔幏鍙朖son銆愭墍鏈夈�戣剼鏈� */ public void getAllHdlESLocalJson() { - for (String str : this.getFileNameAndDeviceTypeAndDeviceModeList()) { - String[] ary = str.split("%"); + for (Map.Entry<String, String> str : this.getFeliAndVersion().entrySet()) { + if (TextUtils.isEmpty(str.getKey())) { + continue; + } + String[] ary = str.getKey().split(concatenation_symbol); String fileName = ary[0]; String deviceType = ary[1]; String deviceMode = ary[2]; - this.getHdlESLocalJson(fileName, deviceType, deviceMode, null); + this.getHdlESLocalJson(fileName, deviceType, deviceMode, true, null); } } @@ -162,14 +146,15 @@ * @param fileName 鏂囦欢鍚� * @param deviceType 璁惧绫诲瀷 * @param deviceModel 璁惧鍨嬪彿 + * @param isDelPath 鏄惁鍒犻櫎锛坱rue琛ㄧず鍒犻櫎锛屽惁鍒欎笉鍒犻櫎锛� */ - public void getHdlESLocalJson(String fileName, String deviceType, String deviceModel, CloudCallBeak<String> callBeak) { + public void getHdlESLocalJson(String fileName, String deviceType, String deviceModel, boolean isDelPath, CloudCallBeak<String> callBeak) { //鎷兼帴鍦板潃 String url = getStrJointNewUrl(fileName, deviceType, deviceModel); HttpClient.getInstance().requestJsonHttpGet(url, new CloudCallBeak<String>() { @Override public void onSuccess(String json) { - saveJson(fileName, deviceModel, json); + saveJson(fileName, deviceModel, json, isDelPath); HdlLogLogic.print("鑾峰彇浜戠鑴氭湰---" + url + "\r\n" + json, false); if (callBeak != null) { callBeak.onSuccess(json); @@ -201,9 +186,10 @@ * * @param fileName 鏂囦欢鍚� * @param deviceModel 璁惧鍨嬪彿锛堥�嗗彉鍣紝璐熻浇涓績锛宐ms锛岀數姹犲寘锛� - * @param json 鍐呭 + * @param json json鍐呭 + * @param isDelPath 鏄惁鍒犻櫎锛坱rue琛ㄧず鍒犻櫎锛屽惁鍒欎笉鍒犻櫎锛� */ - private void saveJson(String fileName, String deviceModel, String json) { + private void saveJson(String fileName, String deviceModel, String json, boolean isDelPath) { try { if (TextUtils.isEmpty(json)) { return; @@ -214,7 +200,9 @@ //涓枃鏂囦欢璺緞 fullPath = HdlFileLogic.getInstance().getHdlESLocalJsonZhFilePath(deviceModel, fileName); } - + if (isDelPath) { + HdlFileLogic.getInstance().deleteFile(fullPath); + } HdlFileLogic.getInstance().writeFile(fullPath, json); } catch (Exception ignored) { } @@ -247,15 +235,11 @@ * Json鏁版嵁閰嶇疆鏂囦欢鍚� */ public @interface FileName { - /** * 鍒涘缓鐢电珯-閫嗗彉鍣ㄥ弬鏁伴厤缃� */ String hdl_inv_ecu_quick = "modbus_hdl_inv_ecu_quick_v"; - /** - * 鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆 - */ - String hdl_lc_ecu_quick = "modbus_hdl_lc_ecu_quick_v"; + /** * 閫嗗彉鍣ㄥ弬鏁伴厤缃紙config锛� */ @@ -263,15 +247,19 @@ /** * 閫嗗彉鍣ㄨ鎯�-pv */ - String hdl_inv_ecu_info_pv = "info/modbus_hdl_inv_ecu_info_pv_v"; + String hdl_inv_ecu_info_pv = "modbus_hdl_inv_ecu_info_pv_v"; /** * 閫嗗彉鍣ㄨ鎯�-杈撳嚭 */ - String hdl_inv_ecu_info_output = "info/modbus_hdl_inv_ecu_info_output_v"; + String hdl_inv_ecu_info_output = "modbus_hdl_inv_ecu_info_output_v"; /** * 閫嗗彉鍣ㄨ鎯�-item椤� */ - String hdl_inv_ecu_info_item = "info/modbus_hdl_inv_ecu_info_item_v"; + String hdl_inv_ecu_info_item = "modbus_hdl_inv_ecu_info_item_v"; + /** + * 鍒涘缓鐢电珯-璐熻浇鎺у埗涓績鍙傛暟閰嶇疆 + */ + String hdl_lc_ecu_quick = "modbus_hdl_lc_ecu_quick_v"; /** * 鑾峰彇璐熻浇鎺у埗涓績 */ @@ -293,7 +281,7 @@ /** * 閫嗗彉鍣ㄨ鎯�-淇″彿鐐� */ - String hdl_inv_ecu_info_signal = "info/modbus_hdl_inv_ecu_info_signal_v"; + String hdl_inv_ecu_info_signal = "modbus_hdl_inv_ecu_info_signal_v"; /** @@ -373,6 +361,7 @@ String v_1_5_0 = "1.5.0"; String v_1_5_1 = "1.5.1"; String v_1_5_2 = "1.5.2"; + String v_1_5_3 = "1.5.3"; } -- Gitblit v1.8.0