| | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.LocalTime; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Random; |
| | | import java.util.*; |
| | | |
| | | |
| | | /** |
| | |
| | | |
| | | private static String token; |
| | | |
| | | private static String accessToken; |
| | | |
| | | |
| | | private static List<String> stationIds= Arrays.asList("2025060710462417","2025060711331323","2025060715425437","2025060716010425"); |
| | | |
| | | |
| | | /** |
| | | * 获取今日总发电量 |
| | | * @param time |
| | | * @return |
| | | */ |
| | | public static Double getTodayEnergy(String time) { |
| | | try { |
| | | HttpRequest get = HttpUtil.createGet("http://111.230.136.62:8092/station/list/earn"); |
| | |
| | | return getTodayEnergy(time); |
| | | } |
| | | } |
| | | public static ArrayList<Map<String, Object>> getMonthEnergy(String time,String time1) { |
| | | ArrayList<Map<String, Object>> list = new ArrayList<>(); |
| | | try { |
| | | HttpRequest get = HttpUtil.createGet("http://111.230.136.62:8092/protocol/user/statistic/elec/chart"); |
| | | get.header("Authorization", "Bearer "+token); |
| | | get.form("stime", time); |
| | | get.form("attribId", "201"); |
| | | HttpResponse execute = get.execute(); |
| | | String body = execute.body(); |
| | | if(body.contains("code")){ |
| | | token = token(); |
| | | return getMonthEnergy(time,time1); |
| | | } |
| | | JSONArray jsonArray = JSONArray.parseArray(body); |
| | | for (Object o1 : jsonArray) { |
| | | HashMap<String, Object> stringObjectHashMap = new HashMap<>(); |
| | | JSONObject jsonObject = JSONObject.parseObject(o1.toString()) ; |
| | | stringObjectHashMap.put("time", jsonObject.getString("saveTime")); |
| | | stringObjectHashMap.put("value", jsonObject.getString("attribValue")); |
| | | list.add(stringObjectHashMap); |
| | | } |
| | | // 相同月份 |
| | | if(!time.equals(time1)){ |
| | | list.addAll(getMonthEnergy(time1,time1)); |
| | | } |
| | | |
| | | return list; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | token = token(); |
| | | return getMonthEnergy(time,time1); |
| | | } |
| | | } |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | ArrayList<Map<String, Object>> monthEnergy = getMonthEnergy("2025-05", "2025-06"); |
| | | System.out.println(monthEnergy); |
| | | } |
| | | |
| | | /** |
| | | * 光伏累计 |
| | | * @return |
| | | */ |
| | | public static Double getAllEnergy(String time) { |
| | | try { |
| | | HttpRequest get = HttpUtil.createGet("http://111.230.136.62:8092/station/list/earn"); |
| | |
| | | return divide; |
| | | } |
| | | |
| | | |
| | | |
| | | private static Double getYearAllEnergy(String stationId) { |
| | | try { |
| | | HttpRequest get = HttpUtil.createGet("http://111.230.136.62:8092/protocol/station/statistic/elec/chart"); |
| | | get.header("Authorization", "Bearer "+token); |
| | | get.form("stationId", "2025060710462417"); |
| | | get.form("stationId", stationId); |
| | | get.form("attribId", "202"); |
| | | get.form("stime",LocalDate.now().getYear()+"" ); |
| | | HttpResponse execute = get.execute(); |
| | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | token = token(); |
| | | return getYearAllEnergy(LocalDate.now().getYear()+""); |
| | | return getYearAllEnergy(stationId); |
| | | } |
| | | } |
| | | |
| | |
| | | return access_token; |
| | | } |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | System.out.println(getYearAllEnergy("2025","")); |
| | | |
| | | public static String getAccessToken(){ |
| | | HttpRequest post = HttpRequest.post("https://www.zsdcloud.cn:8443/openApi/getAccessToken.action?accessId=87bde117-1f29-4371-8d4d-82324d17ddc3"); |
| | | HttpResponse execute = post.execute(); |
| | | String body = execute.body(); |
| | | JSONObject jsonObject = JSONObject.parseObject(body); |
| | | return jsonObject.getString("result"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 消纳数据 |
| | | * @return |
| | | */ |
| | | public static String getElectricity(){ |
| | | String value = "0"; |
| | | HttpRequest post = HttpRequest.post("https://www.zsdcloud.cn:8443/openApi/equipment/select.action"); |
| | | post.form("token", accessToken); |
| | | post.form("keyCode", "869916072003947"); |
| | | post.form("version", "V2"); |
| | | HttpResponse execute = post.execute(); |
| | | String body = execute.body(); |
| | | JSONObject jsonObject = JSONObject.parseObject(body); |
| | | String string = jsonObject.get("statusCode").toString(); |
| | | if(!string.equals("200")){ |
| | | accessToken = getAccessToken(); |
| | | return getElectricity(); |
| | | |
| | | } |
| | | String string1 = jsonObject.getString("result"); |
| | | JSONObject jsonObject1 = JSONObject.parseObject(string1); |
| | | String realInfo = jsonObject1.getString("realInfo"); |
| | | JSONArray jsonArray = JSONArray.parseArray(realInfo); |
| | | for (Object o : jsonArray) { |
| | | JSONObject jsonObject2 = JSONObject.parseObject(o.toString()); |
| | | if(jsonObject2.get("Name").toString().equals("累积日充电量")){ |
| | | value= jsonObject2.get("Value").toString(); |
| | | break; |
| | | } |
| | | } |
| | | return value; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |