沙钢智慧能源系统后端代码
dongyukun
5 天以前 6b0c10dfb1b67a658648b08f0130ffda94caeebd
shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/SyncSegmentedDataTask.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.iailab.framework.common.util.date.DateUtils;
import com.iailab.framework.common.util.http.HttpUtils;
import com.iailab.module.model.api.mcs.McsApi;
import com.iailab.module.model.api.mcs.dto.ElectricityPriceSegmentedDTO;
@@ -37,13 +38,13 @@
    @Autowired
    private RabbitTemplate rabbitTemplate;
    private static final String PUBLIC_KEY_URL = "http://10.88.7.107:8081/api/api/services/Runtime/Authentication/GetLoginRSAPublicKeyAsync";
    private static final String PUBLIC_KEY_URL = "http://zhny.shasteel.cn/api/api/services/Runtime/Authentication/GetLoginRSAPublicKeyAsync";
    private static final String ACCESS_TOKEN_URL = "http://10.88.7.107:8081/EP.Web/account/ajaxLogin";
    private static final String ACCESS_TOKEN_URL = "http://zhny.shasteel.cn/EP.Web/account/ajaxLogin";
    private static final String QUERY_SEGMENTED_DATA_URL = "http://10.88.7.107:8081/SG.Web/api/services/nYJK/DiagnosticsSg/QuerySegmentedDataAsync";
    private static final String QUERY_SEGMENTED_DATA_URL = "http://zhny.shasteel.cn/SG.Web/api/services/nYJK/DiagnosticsSg/QuerySegmentedDataAsync";
    private static final String USERNAME = "MX001@sgis";
    private static final String USERNAME = "Mx001@sgis";
    private static final String PASSWORD = "123456";
@@ -67,17 +68,17 @@
            // 使用公钥和组合后的密码进行密码加密
            String realPassword = encryptWithPublicKey(publicKeyKey, password);
            logger.info("公钥和组合后的密码进行密码加密:" + realPassword);
            requestAccessToken.setReaPassword(realPassword);
            requestAccessToken.setPassword(realPassword);
            requestAccessToken.setSource(1);
            //获取 token
            String accessToken = "Bearer " + getAccessToken(requestAccessToken);
            //获取保存后的数据
            List<ElectricityPriceSegmentedDTO> list = getElectricityPriceSegmentedList(accessToken);
            list.forEach(item -> {
                mcsApi.createElectricityPrice(item);
            });
            logger.info("开始保存数据:" + JSON.toJSONString(list));
            mcsApi.createElectricityPrice(list);
            logger.info("保存数据完成");
        } catch (Exception ex) {
            logger.error("syncSegmentedDataTask运行异常");
            logger.error("syncSegmentedDataTask运行异常:" + ex.getMessage());
            ex.printStackTrace();
        }
        logger.info("syncSegmentedDataTask运行完成");
@@ -98,6 +99,7 @@
    public String getAccessToken(RequestAccessTokenVO requestAccessToken) {
        String accessToken = "";
        logger.info("请求参数:" + JSON.toJSONString(requestAccessToken));
        String resp = HttpUtils.sendPost(ACCESS_TOKEN_URL, JSON.toJSONString(requestAccessToken));
        logger.info("获取token的返回值:" + resp);
        JSONObject jsonObject = JSON.parseObject(resp);
@@ -111,14 +113,17 @@
    }
    public List<ElectricityPriceSegmentedDTO> getElectricityPriceSegmentedList(String accessToken){
        logger.info("accessToken: " + accessToken);
        Map<String, String> paramsMap = new HashMap<>();
        LocalDate date = LocalDate.now();  // 获取当前日期的LocalDate实例
        String year = String.valueOf(date.getYear());
        paramsMap.put("clock", year);
        String resp = HttpUtils.sendPost(QUERY_SEGMENTED_DATA_URL, JSON.toJSONString(paramsMap), accessToken);
        Date now = Date.from(Instant.now());
        paramsMap.put("clock", DateUtils.format(now, "yyyy-MM"));
        paramsMap.put("timeGranId", "MONTH");
        logger.info("请求参数:" + JSON.toJSONString(paramsMap));
        String resp = HttpUtils.sendPostToken(QUERY_SEGMENTED_DATA_URL, JSON.toJSONString(paramsMap), accessToken);
        logger.info("获取分段数据的返回值:" + resp);
        JSONObject jsonObject = JSON.parseObject(resp);
        List<ElectricityPriceSegmentedDTO> list = jsonObject.getJSONArray("data").toJavaList(ElectricityPriceSegmentedDTO.class);
        list.forEach(item -> item.setYear(year));
        list.forEach(item -> item.setYear(DateUtils.format(now, "yyyy")));
        return list;
    }
@@ -128,4 +133,5 @@
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
        return Base64.getEncoder().encodeToString(cipher.doFinal(data.getBytes()));
    }
}