|
@@ -9,13 +9,13 @@ import (
|
|
|
"git.sxidc.com/service-supports/fslog"
|
|
|
)
|
|
|
|
|
|
-func NoResponse(_ any, _ error) {
|
|
|
+func NoResponse(_ *mqtt_client.MqttClient, _ *router.Item, _ Identifier, _ any, _ error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func SendMsgResponse(c *mqtt_client.MqttClient, item *router.Item, _ any, err error) {
|
|
|
+func SendMsgResponse(c *mqtt_client.MqttClient, item *router.Item, responseIdentifier Identifier, _ any, err error) {
|
|
|
msgResp := formMsgResponse(err)
|
|
|
- jsonResponse(c, item, msgResp)
|
|
|
+ jsonResponse(c, item, responseIdentifier, msgResp)
|
|
|
}
|
|
|
|
|
|
type IDResponse[T IDType] struct {
|
|
@@ -23,9 +23,9 @@ type IDResponse[T IDType] struct {
|
|
|
ID T `json:"id"`
|
|
|
}
|
|
|
|
|
|
-func SendIDResponse[T IDType](c *mqtt_client.MqttClient, item *router.Item, id T, err error) {
|
|
|
+func SendIDResponse[T IDType](c *mqtt_client.MqttClient, item *router.Item, responseIdentifier Identifier, id T, err error) {
|
|
|
msgResp := formMsgResponse(err)
|
|
|
- jsonResponse(c, item, IDResponse[T]{
|
|
|
+ jsonResponse(c, item, responseIdentifier, IDResponse[T]{
|
|
|
MsgResponse: msgResp,
|
|
|
ID: id,
|
|
|
})
|
|
@@ -36,9 +36,9 @@ type InfoResponse[T any] struct {
|
|
|
Info T `json:"info"`
|
|
|
}
|
|
|
|
|
|
-func SendInfoResponse[T any](c *mqtt_client.MqttClient, item *router.Item, info T, err error) {
|
|
|
+func SendInfoResponse[T any](c *mqtt_client.MqttClient, item *router.Item, responseIdentifier Identifier, info T, err error) {
|
|
|
msgResp := formMsgResponse(err)
|
|
|
- jsonResponse(c, item, InfoResponse[T]{
|
|
|
+ jsonResponse(c, item, responseIdentifier, InfoResponse[T]{
|
|
|
MsgResponse: msgResp,
|
|
|
Info: info,
|
|
|
})
|
|
@@ -49,9 +49,9 @@ type InfosResponse[T any] struct {
|
|
|
InfosData[T]
|
|
|
}
|
|
|
|
|
|
-func SendInfosResponse[T any](c *mqtt_client.MqttClient, item *router.Item, data InfosData[T], err error) {
|
|
|
+func SendInfosResponse[T any](c *mqtt_client.MqttClient, item *router.Item, responseIdentifier Identifier, data InfosData[T], err error) {
|
|
|
msgResp := formMsgResponse(err)
|
|
|
- jsonResponse(c, item, InfosResponse[T]{
|
|
|
+ jsonResponse(c, item, responseIdentifier, InfosResponse[T]{
|
|
|
MsgResponse: msgResp,
|
|
|
InfosData: data,
|
|
|
})
|
|
@@ -72,13 +72,13 @@ func StructToMap(originStruct any) map[string]any {
|
|
|
return retMap
|
|
|
}
|
|
|
|
|
|
-func SendMapResponse(c *mqtt_client.MqttClient, item *router.Item, data map[string]any, err error) {
|
|
|
+func SendMapResponse(c *mqtt_client.MqttClient, item *router.Item, responseIdentifier Identifier, data map[string]any, err error) {
|
|
|
msgRespMap := formMapMsgResponse(err)
|
|
|
for key, value := range data {
|
|
|
msgRespMap[key] = value
|
|
|
}
|
|
|
|
|
|
- jsonResponse(c, item, msgRespMap)
|
|
|
+ jsonResponse(c, item, responseIdentifier, msgRespMap)
|
|
|
}
|
|
|
|
|
|
type MsgResponse struct {
|
|
@@ -126,39 +126,39 @@ func formMapMsgResponse(err error) map[string]any {
|
|
|
return resp
|
|
|
}
|
|
|
|
|
|
-func SendString(c *mqtt_client.MqttClient, item *router.Item, data string, err error) {
|
|
|
+func SendString(c *mqtt_client.MqttClient, item *router.Item, responseIdentifier Identifier, data string, err error) {
|
|
|
if err != nil {
|
|
|
- bytesResponse(c, item, []byte(err.Error()))
|
|
|
+ bytesResponse(c, item, responseIdentifier, []byte(err.Error()))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- bytesResponse(c, item, []byte(data))
|
|
|
+ bytesResponse(c, item, responseIdentifier, []byte(data))
|
|
|
}
|
|
|
|
|
|
-func WriteBytes(c *mqtt_client.MqttClient, item *router.Item, bytes []byte, err error) {
|
|
|
+func WriteBytes(c *mqtt_client.MqttClient, item *router.Item, responseIdentifier Identifier, bytes []byte, err error) {
|
|
|
if err != nil {
|
|
|
- bytesResponse(c, item, []byte(err.Error()))
|
|
|
+ bytesResponse(c, item, responseIdentifier, []byte(err.Error()))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- bytesResponse(c, item, bytes)
|
|
|
+ bytesResponse(c, item, responseIdentifier, bytes)
|
|
|
}
|
|
|
|
|
|
-func jsonResponse(c *mqtt_client.MqttClient, item *router.Item, obj any) {
|
|
|
+func jsonResponse(c *mqtt_client.MqttClient, item *router.Item, responseIdentifier Identifier, obj any) {
|
|
|
jsonBytes, err := json.Marshal(obj)
|
|
|
if err != nil {
|
|
|
panic(err)
|
|
|
}
|
|
|
|
|
|
- err = c.Response(item, jsonBytes)
|
|
|
+ err = c.Response(item, responseIdentifier.Identifier(), jsonBytes)
|
|
|
if err != nil {
|
|
|
fmt.Println("发送mqtt json响应失败")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func bytesResponse(c *mqtt_client.MqttClient, item *router.Item, obj []byte) {
|
|
|
- err := c.Response(item, []byte(obj))
|
|
|
+func bytesResponse(c *mqtt_client.MqttClient, item *router.Item, responseIdentifier Identifier, obj []byte) {
|
|
|
+ err := c.Response(item, responseIdentifier.Identifier(), obj)
|
|
|
if err != nil {
|
|
|
fmt.Println("发送mqtt bytes响应失败")
|
|
|
return
|