From fcc5791b5d0d03e346896800fbbc51994a93a32a Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期三, 12 三月 2025 17:37:32 +0800 Subject: [PATCH] SDK 业务功能 --- iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/CommonResult.java | 55 +++++ iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/package-info.java | 1 iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/PageParam.java | 39 +++ iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/ApiPointsValueQueryDTO.java | 48 ++++ iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/StAlarmAndSuggestRespDTO.java | 81 ++++++++ iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/enums/GlobalErrorCodeConstants.java | 44 ++++ iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java | 132 +++++++++--- iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/StAlarmAndSuggestPageReqDTO.java | 83 ++++++++ iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/package-info.java | 1 iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/PageResult.java | 49 ++++ iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/ErrorCode.java | 28 ++ iailab-plat-sdk/src/test/java/com/iailab/sdk/IailabClientTest.java | 18 - 12 files changed, 526 insertions(+), 53 deletions(-) diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java index 0a25789..e0a76ef 100644 --- a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/IailabAuthClient.java @@ -3,7 +3,12 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.databind.ObjectMapper; -import com.iailab.sdk.auth.client.dto.ApiDataQueryDTO; +import com.iailab.sdk.auth.client.common.exception.enums.GlobalErrorCodeConstants; +import com.iailab.sdk.auth.client.common.pojo.CommonResult; +import com.iailab.sdk.auth.client.common.pojo.PageResult; +import com.iailab.sdk.auth.client.dto.ApiPointsValueQueryDTO; +import com.iailab.sdk.auth.client.dto.StAlarmAndSuggestPageReqDTO; +import com.iailab.sdk.auth.client.dto.StAlarmAndSuggestRespDTO; import com.iailab.sdk.auth.client.dto.TokenDTO; import com.iailab.sdk.auth.config.SdkAutoConfiguration; import com.iailab.sdk.auth.constants.SdkErrorCodeConstants; @@ -20,6 +25,7 @@ import java.util.*; import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author Houzhongjian @@ -70,6 +76,7 @@ public static Long expireTime; private static final String RESP_CODE = "code"; + private static final String RESP_MSG = "msg"; private static final String RESP_DATA = "data"; /** @@ -98,17 +105,17 @@ Assert.isTrue(exchange.getStatusCode().is2xxSuccessful(), "响应必须是 200 成功"); Map<String, Object> authMap = exchange.getBody(); Object code = authMap.get("code"); - if(SdkErrorCodeConstants.AUTH_BAD_CREDENTIALS.getCode().equals(code)) { + if (SdkErrorCodeConstants.AUTH_BAD_CREDENTIALS.getCode().equals(code)) { throw exception(SdkErrorCodeConstants.AUTH_BAD_CREDENTIALS); - } else if(SdkErrorCodeConstants.AUTH_LOGIN_BAD_CREDENTIALS.getCode().equals(code)) { + } else if (SdkErrorCodeConstants.AUTH_LOGIN_BAD_CREDENTIALS.getCode().equals(code)) { throw exception(SdkErrorCodeConstants.AUTH_LOGIN_BAD_CREDENTIALS); - } else if(SdkErrorCodeConstants.OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH.getCode().equals(code)) { + } else if (SdkErrorCodeConstants.OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH.getCode().equals(code)) { throw exception(SdkErrorCodeConstants.OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH); - } else if(SdkErrorCodeConstants.OAUTH2_CLIENT_CLIENT_SECRET_ERROR.getCode().equals(code)) { + } else if (SdkErrorCodeConstants.OAUTH2_CLIENT_CLIENT_SECRET_ERROR.getCode().equals(code)) { throw exception(SdkErrorCodeConstants.OAUTH2_CLIENT_CLIENT_SECRET_ERROR); - } else if(SdkErrorCodeConstants.OAUTH2_CLIENT_NOT_EXISTS.getCode().equals(code)) { + } else if (SdkErrorCodeConstants.OAUTH2_CLIENT_NOT_EXISTS.getCode().equals(code)) { throw exception(SdkErrorCodeConstants.OAUTH2_CLIENT_NOT_EXISTS); - } else if(SdkErrorCodeConstants.OAUTH2_CLIENT_DISABLE.getCode().equals(code)) { + } else if (SdkErrorCodeConstants.OAUTH2_CLIENT_DISABLE.getCode().equals(code)) { throw exception(SdkErrorCodeConstants.OAUTH2_CLIENT_DISABLE); } accessToken = authMap.get("access_token").toString(); @@ -150,6 +157,7 @@ /** * 平台http请求封装 + * * @param method * @param url * @param params @@ -159,9 +167,9 @@ public static String doHttp(String method, String url, Map<String, Object> params) throws Exception { String response = null; String upperMethod = method.toUpperCase(); - if("GET".equals(upperMethod)) { + if ("GET".equals(upperMethod)) { response = IailabHttpUtils.doGet(url, params, CHARSET); - } else if("POST".equals(upperMethod)) { + } else if ("POST".equals(upperMethod)) { ObjectMapper objectMapper = new ObjectMapper(); response = IailabHttpUtils.doPost(url, objectMapper.writeValueAsString(params), CHARSET); } @@ -177,35 +185,22 @@ headers.set("tenant-id", TENANT_ID.toString()); } - // 统一处理响应 + /** + * 统一处理响应 + * + * @param response + * @param <T> + * @return + */ private static <T> TokenDTO handleResponse(ResponseEntity<T> response) { Assert.isTrue(response.getStatusCode().is2xxSuccessful(), "响应必须是 200 成功"); System.out.println(response); TokenDTO authTokenDTO = new TokenDTO(); - Map<String, Object> authMap = (Map<String, Object>)response.getBody(); + Map<String, Object> authMap = (Map<String, Object>) response.getBody(); authTokenDTO.setAccessToken(authMap.get("access_token").toString()); authTokenDTO.setRefreshToken(authMap.get("refresh_token").toString()); authTokenDTO.setExpiresTime(Long.valueOf(authMap.get("expires_time").toString())); return authTokenDTO; - } - - /** - * 查询计划chart (测试用) - * @param apiDataQueryDTO - * @return - * @throws Exception - */ - public Map<String, Object> queryPlanChart(ApiDataQueryDTO apiDataQueryDTO) throws Exception { - Map<String, Object> data = new HashMap<>(); - ObjectMapper objectMapper = new ObjectMapper(); - String jsonString = objectMapper.writeValueAsString(apiDataQueryDTO); - String resp = IailabHttpUtils.doPost(BASE_URL + "/data/api/query-plans/chart", jsonString, "utf-8"); - if (StringUtils.isEmpty(resp)) { - return data; - } - JSONObject jsonObject = JSON.parseObject(resp); - data = jsonObject.getJSONObject(RESP_DATA).toJavaObject(Map.class); - return data; } /** @@ -214,16 +209,77 @@ * @param pointNos * @return */ - public Map<String, Object> queryPointsRealValue(List<String> pointNos) throws Exception { + public CommonResult<Map<String, Object>> queryPointsRealValue(List<String> pointNos) { Map<String, Object> data = new HashMap<>(); - String url = BASE_URL + "/data/api/query-points/real-value"; - String resp = IailabHttpUtils.doPost(url, JSON.toJSONString(pointNos), "UTF-8"); - if (StringUtils.isEmpty(resp)) { - return data; + try { + String url = BASE_URL + "/data/api/query-points/real-value"; + String resp = IailabHttpUtils.doPost(url, JSON.toJSONString(pointNos), "UTF-8"); + if (StringUtils.isEmpty(resp)) { + return CommonResult.error(GlobalErrorCodeConstants.EMPTY_RESP); + } + JSONObject jsonObject = JSON.parseObject(resp); + Integer respCode = jsonObject.getInteger(RESP_CODE); + if (!GlobalErrorCodeConstants.SUCCESS.getCode().equals(respCode)) { + CommonResult.error(respCode, jsonObject.getString(RESP_MSG)); + } + data = jsonObject.getJSONObject(RESP_DATA).toJavaObject(Map.class); + } catch (Exception ex) { + return CommonResult.error(GlobalErrorCodeConstants.UNKNOWN.getCode(), ex.getMessage()); } - JSONObject jsonObject = JSON.parseObject(resp); - data = jsonObject.getJSONObject(RESP_DATA).toJavaObject(Map.class); - return data; + return CommonResult.success(data); } + /** + * 查询多个测点历史值 + * + * @param queryDto + * @return + */ + public CommonResult<Map<String, List<Map<String, Object>>>> queryPointsHistoryValue(ApiPointsValueQueryDTO queryDto) { + Map<String, List<Map<String, Object>>> data = new HashMap<>(); + try { + String url = BASE_URL + "/data/api/query-points/history-value"; + String resp = IailabHttpUtils.doPost(url, JSON.toJSONString(queryDto), "UTF-8"); + if (StringUtils.isEmpty(resp)) { + return CommonResult.error(GlobalErrorCodeConstants.EMPTY_RESP); + } + JSONObject jsonObject = JSON.parseObject(resp); + Integer respCode = jsonObject.getInteger(RESP_CODE); + if (!GlobalErrorCodeConstants.SUCCESS.getCode().equals(respCode)) { + CommonResult.error(respCode, jsonObject.getString(RESP_MSG)); + } + data = jsonObject.getJSONObject(RESP_DATA).toJavaObject(Map.class); + } catch (Exception ex) { + return CommonResult.error(GlobalErrorCodeConstants.UNKNOWN.getCode(), ex.getMessage()); + } + return CommonResult.success(data); + } + + /** + * 获取预警信息和调度建议分页列表 + * + * @param reqVO + * @return + */ + public CommonResult<PageResult<StAlarmAndSuggestRespDTO>> getAlarmAndSuggestPage(StAlarmAndSuggestPageReqDTO reqVO) { + PageResult<StAlarmAndSuggestRespDTO> data = new PageResult<>(); + try { + String url = BASE_URL + "/model/api/mcs/alarm-suggest/page"; + String resp = IailabHttpUtils.doPost(url, JSON.toJSONString(reqVO), "UTF-8"); + if (StringUtils.isEmpty(resp)) { + return CommonResult.error(GlobalErrorCodeConstants.EMPTY_RESP); + } + JSONObject jsonObject = JSON.parseObject(resp); + Integer respCode = jsonObject.getInteger(RESP_CODE); + if (!GlobalErrorCodeConstants.SUCCESS.getCode().equals(respCode)) { + CommonResult.error(respCode, jsonObject.getString(RESP_MSG)); + } + Long total = Long.parseLong(jsonObject.getJSONObject(RESP_DATA).get("total").toString()); + List<StAlarmAndSuggestRespDTO> list = jsonObject.getJSONObject(RESP_DATA).getJSONArray("list").toJavaList(StAlarmAndSuggestRespDTO.class); + data = new PageResult<>(list, total); + } catch (Exception ex) { + return CommonResult.error(GlobalErrorCodeConstants.UNKNOWN.getCode(), ex.getMessage()); + } + return CommonResult.success(data); + } } \ No newline at end of file diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/ErrorCode.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/ErrorCode.java new file mode 100644 index 0000000..9be36ab --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/ErrorCode.java @@ -0,0 +1,28 @@ +package com.iailab.sdk.auth.client.common.exception; + +import lombok.Data; + +/** + * 错误码对象 + * + * + * TODO 错误码设计成对象的原因,为未来的 i18 国际化做准备 + */ +@Data +public class ErrorCode { + + /** + * 错误码 + */ + private final Integer code; + /** + * 错误提示 + */ + private final String msg; + + public ErrorCode(Integer code, String message) { + this.code = code; + this.msg = message; + } + +} diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/enums/GlobalErrorCodeConstants.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/enums/GlobalErrorCodeConstants.java new file mode 100644 index 0000000..53faadc --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/enums/GlobalErrorCodeConstants.java @@ -0,0 +1,44 @@ +package com.iailab.sdk.auth.client.common.exception.enums; + +import com.iailab.sdk.auth.client.common.exception.ErrorCode; + +/** + * 全局错误码枚举 + * 0-999 系统异常编码保留 + * + * 一般情况下,使用 HTTP 响应状态码 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status + * 虽然说,HTTP 响应状态码作为业务使用表达能力偏弱,但是使用在系统层面还是非常不错的 + * 比较特殊的是,因为之前一直使用 0 作为成功,就不使用 200 啦。 + * + * @author iailab + */ +public interface GlobalErrorCodeConstants { + + ErrorCode SUCCESS = new ErrorCode(0, "成功"); + + // ========== 客户端错误段 ========== + + ErrorCode BAD_REQUEST = new ErrorCode(400, "请求参数不正确"); + ErrorCode UNAUTHORIZED = new ErrorCode(401, "账号未登录"); + ErrorCode FORBIDDEN = new ErrorCode(403, "没有该操作权限"); + ErrorCode NOT_FOUND = new ErrorCode(404, "请求未找到"); + ErrorCode METHOD_NOT_ALLOWED = new ErrorCode(405, "请求方法不正确"); + ErrorCode DATA_REPETITION = new ErrorCode(406, "数据库存在重复数据"); + ErrorCode LOCKED = new ErrorCode(423, "请求失败,请稍后重试"); // 并发请求,不允许 + ErrorCode TOO_MANY_REQUESTS = new ErrorCode(429, "请求过于频繁,请稍后重试"); + + // ========== 服务端错误段 ========== + + ErrorCode INTERNAL_SERVER_ERROR = new ErrorCode(500, "系统异常"); + ErrorCode NOT_IMPLEMENTED = new ErrorCode(501, "功能未实现/未开启"); + ErrorCode ERROR_CONFIGURATION = new ErrorCode(502, "错误的配置项"); + + // ========== 自定义错误段 ========== + ErrorCode REPEATED_REQUESTS = new ErrorCode(900, "重复请求,请稍后重试"); // 重复请求 + ErrorCode DEMO_DENY = new ErrorCode(901, "演示模式,禁止写操作"); + + ErrorCode EMPTY_RESP = new ErrorCode(992, "结果为空"); + + ErrorCode UNKNOWN = new ErrorCode(999, "未知错误"); + +} diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/package-info.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/package-info.java new file mode 100644 index 0000000..c3d18d3 --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/exception/package-info.java @@ -0,0 +1 @@ +package com.iailab.sdk.auth.client.common.exception; \ No newline at end of file diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/package-info.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/package-info.java new file mode 100644 index 0000000..1285d56 --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/package-info.java @@ -0,0 +1 @@ +package com.iailab.sdk.auth.client.common; \ No newline at end of file diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/CommonResult.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/CommonResult.java new file mode 100644 index 0000000..f36b397 --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/CommonResult.java @@ -0,0 +1,55 @@ +package com.iailab.sdk.auth.client.common.pojo; + +import com.iailab.sdk.auth.client.common.exception.ErrorCode; +import com.iailab.sdk.auth.client.common.exception.enums.GlobalErrorCodeConstants; +import lombok.Data; + +import java.io.Serializable; + +/** + * 通用返回 + * + * @param <T> 数据泛型 + */ +@Data +public class CommonResult<T> implements Serializable { + + /** + * 错误码 + * + * @see ErrorCode#getCode() + */ + private Integer code; + /** + * 返回数据 + */ + private T data; + /** + * 错误提示,用户可阅读 + * + * @see ErrorCode#getMsg() () + */ + private String msg; + + public static <T> CommonResult<T> error(Integer code, String message) { + CommonResult<T> result = new CommonResult<>(); + result.code = code; + result.msg = message; + return result; + } + + public static <T> CommonResult<T> error(ErrorCode errorCode) { + return error(errorCode.getCode(), errorCode.getMsg()); + } + + public static <T> CommonResult<T> success(T data) { + CommonResult<T> result = new CommonResult<>(); + result.code = GlobalErrorCodeConstants.SUCCESS.getCode(); + result.data = data; + result.msg = ""; + return result; + } + + + +} diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/PageParam.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/PageParam.java new file mode 100644 index 0000000..d60806a --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/PageParam.java @@ -0,0 +1,39 @@ +package com.iailab.sdk.auth.client.common.pojo; + +import java.io.Serializable; + +/** + * 分页参数 + */ +public class PageParam implements Serializable { + + private static final Integer PAGE_NO = 1; + private static final Integer PAGE_SIZE = 10; + + /** + * 每页条数 - 不分页 + * + * 例如说,导出接口,可以设置 {@link #pageSize} 为 -1 不分页,查询所有数据。 + */ + public static final Integer PAGE_SIZE_NONE = -1; + + private Integer pageNo = PAGE_NO; + + private Integer pageSize = PAGE_SIZE; + + public Integer getPageNo() { + return pageNo; + } + + public void setPageNo(Integer pageNo) { + this.pageNo = pageNo; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } +} diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/PageResult.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/PageResult.java new file mode 100644 index 0000000..4b4c2ec --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/common/pojo/PageResult.java @@ -0,0 +1,49 @@ +package com.iailab.sdk.auth.client.common.pojo; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +public final class PageResult<T> implements Serializable { + + private List<T> list; + + private Long total; + + public PageResult() { + } + + public PageResult(List<T> list, Long total) { + this.list = list; + this.total = total; + } + + public PageResult(Long total) { + this.list = new ArrayList<>(); + this.total = total; + } + + public static <T> PageResult<T> empty() { + return new PageResult<>(0L); + } + + public static <T> PageResult<T> empty(Long total) { + return new PageResult<>(total); + } + + public List<T> getList() { + return list; + } + + public void setList(List<T> list) { + this.list = list; + } + + public Long getTotal() { + return total; + } + + public void setTotal(Long total) { + this.total = total; + } +} diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/ApiPointsValueQueryDTO.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/ApiPointsValueQueryDTO.java new file mode 100644 index 0000000..d237ee6 --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/ApiPointsValueQueryDTO.java @@ -0,0 +1,48 @@ +package com.iailab.sdk.auth.client.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月24日 + */ +public class ApiPointsValueQueryDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private List<String> pointNos; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date start; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date end; + + public List<String> getPointNos() { + return pointNos; + } + + public void setPointNos(List<String> pointNos) { + this.pointNos = pointNos; + } + + public Date getStart() { + return start; + } + + public void setStart(Date start) { + this.start = start; + } + + public Date getEnd() { + return end; + } + + public void setEnd(Date end) { + this.end = end; + } +} \ No newline at end of file diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/StAlarmAndSuggestPageReqDTO.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/StAlarmAndSuggestPageReqDTO.java new file mode 100644 index 0000000..b7b5954 --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/StAlarmAndSuggestPageReqDTO.java @@ -0,0 +1,83 @@ +package com.iailab.sdk.auth.client.dto; + + +import com.iailab.sdk.auth.client.common.pojo.PageParam; + +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年01月07日 + */ +public class StAlarmAndSuggestPageReqDTO extends PageParam { + private static final long serialVersionUID = 1L; + + /** + * 查询对象 + */ + private String obj; + + /** + * 查询对象列表 + */ + private List<String> objList; + + /** + * 类型(alarm:预警,suggest:建议) + */ + private String type; + + /** + * 开始时间 + * yyyy-MM-dd HH:mm:ss + */ + private String startTime; + + /** + * 结束时间 + * yyyy-MM-dd HH:mm:ss + */ + private String endTime; + + public String getObj() { + return obj; + } + + public void setObj(String obj) { + this.obj = obj; + } + + public List<String> getObjList() { + return objList; + } + + public void setObjList(List<String> objList) { + this.objList = objList; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + +} \ No newline at end of file diff --git a/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/StAlarmAndSuggestRespDTO.java b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/StAlarmAndSuggestRespDTO.java new file mode 100644 index 0000000..1b7c434 --- /dev/null +++ b/iailab-plat-sdk/src/main/java/com/iailab/sdk/auth/client/dto/StAlarmAndSuggestRespDTO.java @@ -0,0 +1,81 @@ +package com.iailab.sdk.auth.client.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年01月07日 + */ +public class StAlarmAndSuggestRespDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 类型(预警:alarm,建议:suggest) + */ + private String type; + + /** + * 标题 + */ + private String title; + + /** + * 内容 + */ + private String content; + + /** + * 对象 + */ + private String obj; + + /** + * 时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date time; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getObj() { + return obj; + } + + public void setObj(String obj) { + this.obj = obj; + } + + public Date getTime() { + return time; + } + + public void setTime(Date time) { + this.time = time; + } +} \ No newline at end of file diff --git a/iailab-plat-sdk/src/test/java/com/iailab/sdk/IailabClientTest.java b/iailab-plat-sdk/src/test/java/com/iailab/sdk/IailabClientTest.java index 82fb308..00021aa 100644 --- a/iailab-plat-sdk/src/test/java/com/iailab/sdk/IailabClientTest.java +++ b/iailab-plat-sdk/src/test/java/com/iailab/sdk/IailabClientTest.java @@ -1,6 +1,7 @@ package com.iailab.sdk; import com.iailab.sdk.auth.client.IailabAuthClient; +import com.iailab.sdk.auth.client.common.pojo.CommonResult; import com.iailab.sdk.auth.client.dto.ApiDataQueryDTO; import org.junit.Test; import org.junit.runner.RunWith; @@ -48,23 +49,10 @@ } @Test - public void testQueryPlanChart() throws Exception { - ApiDataQueryDTO apiDataQueryDTO = new ApiDataQueryDTO(); - List<String> itemNos = new ArrayList<>(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - apiDataQueryDTO.setStart(sdf.parse("2024-06-11 07:24:00")); - apiDataQueryDTO.setEnd(sdf.parse("2024-06-13 00:00:00")); - itemNos.add("P0000100010"); - apiDataQueryDTO.setItemNos(itemNos); - Map<String, Object> stringObjectMap = IailabAuthClient.getInstance().queryPlanChart(apiDataQueryDTO); - System.out.println(stringObjectMap); - } - - @Test - public void testQueryPointsRealValue() throws Exception { + public void testQueryPointsRealValue() { List<String> pointNos = new ArrayList<>(); pointNos.add("111"); - Map<String, Object> stringObjectMap = IailabAuthClient.getInstance().queryPointsRealValue(pointNos); + CommonResult<Map<String, Object>> stringObjectMap = IailabAuthClient.getInstance().queryPointsRealValue(pointNos); System.out.println(stringObjectMap); } -- Gitblit v1.9.3