|
|
@@ -1,12 +1,17 @@
|
|
|
package com.xunmei.mediator.websocket.dto;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import com.xunmei.common.core.constant.HttpStatus;
|
|
|
+import com.xunmei.mediator.websocket.constant.WebSocketConstants;
|
|
|
+import com.xunmei.system.api.dto.protection.ReceiveErrorDto;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.Data;
|
|
|
import lombok.NoArgsConstructor;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* @author gaoxiong
|
|
|
@@ -39,12 +44,27 @@ public class WebsocketResult implements Serializable {
|
|
|
private Object payload;
|
|
|
|
|
|
|
|
|
- public String invokeTopic(String productName,String deviceName) {
|
|
|
- return String.format("things/%s/%s/service/invoke",productName,deviceName);
|
|
|
+ public String invokeTopic(String productName, String deviceName) {
|
|
|
+ return String.format("things/%s/%s/service/invoke", productName, deviceName);
|
|
|
}
|
|
|
|
|
|
- public void setTimestamp(Date date) {
|
|
|
- this.timestamp=DateUtil.format(date,"yyyy-MM-dd'T'HH:mm:ss");
|
|
|
+ public void setTimestamp(Date date) {
|
|
|
+ this.timestamp = DateUtil.format(date, "yyyy-MM-dd'T'HH:mm:ss");
|
|
|
+ }
|
|
|
+
|
|
|
+ public static WebsocketResult of(ReceiveErrorDto dto, String topic, String id) {
|
|
|
+ WebsocketResult result = new WebsocketResult();
|
|
|
+ result.setId(id);
|
|
|
+ result.setTopic(topic);
|
|
|
+ result.setTimestamp(new Date());
|
|
|
+ if (dto == null) {
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put(WebSocketConstants.STATUS_CODE, dto.getSuccess() ? HttpStatus.SUCCESS : HttpStatus.ERROR);
|
|
|
+ map.put(WebSocketConstants.STATUS_DESCRIPTION, dto.getErrorMsg());
|
|
|
+ result.setPayload(map);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
}
|