ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TStationCollectServiceImpl.java
@@ -325,8 +325,9 @@ JSONObject json = JSONObject.parseObject(item.toString()); String collectId = firstNotBlank(json.getString("devDn"), json.getString("esnCode")); String stationId = json.getString("stationCode"); Integer devTypeId = json.getInteger("devTypeId"); if (StringUtils.isBlank(collectId) || StringUtils.isBlank(stationId) || existingKeys.contains(collectId) || !pendingKeys.add(collectId)) { || existingKeys.contains(collectId) || !pendingKeys.add(collectId) || devTypeId != 1) { continue; } TStationCollect collect = new TStationCollect(); ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TStationInfoServiceImpl.java
@@ -365,6 +365,10 @@ statusVO.setOnStatusCount(onStatusList.size()); statusVO.setOffStatusCount(stationInfoList.size() - onStatusList.size()); } // 电站状态数量加上非科士达的数据 List<TStationInfo> noKeShiDaList = stationInfoList.stream().filter(s -> s.getPlatformId() != 0).collect(Collectors.toList()); statusVO.setTotal(statusVO.getTotal() + noKeShiDaList.size()); statusVO.setOnline(statusVO.getOnline() + noKeShiDaList.size()); return statusVO; } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/HuWeiUtils.java
@@ -3,6 +3,10 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.other.domain.TPlatformConfig; import com.ruoyi.other.service.TPlatformConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -38,10 +42,17 @@ @Resource private RestTemplate restTemplate; @Resource private TPlatformConfigService platformConfigService; /** 登录华为 FusionSolar 并取得 XSRF-TOKEN。 */ public String getXsrfToken() { TPlatformConfig config = platformConfigService.getOne(Wrappers.lambdaQuery(TPlatformConfig.class).eq(TPlatformConfig::getPlatformName, "华为")); if (config == null || StringUtils.isBlank(config.getAccount()) || StringUtils.isBlank(config.getPassword())) { return getXsrfToken(DEFAULT_USER_NAME, DEFAULT_SYSTEM_CODE); } return getXsrfToken(config.getAccount(), config.getPassword()); } /** 使用指定账号登录并取得 XSRF-TOKEN。 */ public String getXsrfToken(String userName, String systemCode) { ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/KsolarUtils.java
@@ -5,7 +5,11 @@ import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.other.domain.TPlatformConfig; import com.ruoyi.other.service.TPlatformConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -166,11 +170,18 @@ public static String token() { TPlatformConfig config = SpringUtils.getBean(TPlatformConfigService.class).getOne(Wrappers.lambdaQuery(TPlatformConfig.class).eq(TPlatformConfig::getPlatformName, "科士达")); if (config == null) { config = new TPlatformConfig(); } if (StringUtils.isBlank(config.getAccount()) || StringUtils.isBlank(config.getPassword())) { config.setAccount("环岛光伏"); config.setPassword("cR8GGwIXMI462A8Dfl9eXg=="); } HttpRequest post = HttpUtil.createPost("http://111.230.136.62:8092/authentication/form"); post.basicAuth("kstar","kstarSecret"); post.form("username", "环岛光伏"); post.form("password", "cR8GGwIXMI462A8Dfl9eXg=="); System.out.println(post); post.form("username", config.getAccount()); post.form("password", config.getPassword()); HttpResponse execute = post.execute(); String body = execute.body(); JSONObject jsonObject = JSONObject.parseObject(body);