baozhensong 6 лет назад
Родитель
Сommit
efdc8bc2c0
2 измененных файлов с 30 добавлено и 0 удалено
  1. 29 0
      services/knowoapi/controllers/device.go
  2. 1 0
      services/knowoapi/router.go

+ 29 - 0
services/knowoapi/controllers/device.go

@@ -3,6 +3,8 @@ package controllers
 import (
 	"errors"
 	"fmt"
+	"sparrow/pkg/rpcs"
+	"sparrow/pkg/server"
 	"sparrow/services/knowoapi/services"
 	"strconv"
 	"time"
@@ -47,6 +49,33 @@ func (a *DeviceController) Get() {
 	})
 }
 
+//获取设备在线状态
+// GET /devicestatus?device_id=
+func (a *DeviceController) GetDevicestatus() {
+
+	deviceid, err := a.Ctx.URLParamInt("device_id")
+	if err != nil {
+		deviceid = 0
+	}
+
+	onlineargs := rpcs.ArgsGetDeviceOnlineStatus{
+		Id: uint64(deviceid),
+	}
+
+	onlinereply := rpcs.ReplyGetDeviceOnlineStatus{}
+	err = server.RPCCallByName(nil, "devicemanager", "DeviceManager.GetDeviceOnlineStatus", onlineargs, &onlinereply)
+	if err != nil {
+		server.Log.Errorf("get devie online status error: %v", err)
+		responseError(a.Ctx, ErrDatabase, err.Error())
+		return
+	}
+
+	done(a.Ctx, map[string]interface{}{
+		"status": onlinereply,
+	})
+
+}
+
 // GetBannerdata 获取设备激活和活跃数据
 // GET /bannerdata?proid=
 func (a *DeviceController) GetBannerdata() {

+ 1 - 0
services/knowoapi/router.go

@@ -95,4 +95,5 @@ func registerRouters(srv *iris.Application, models *model.All, gen *generator.Ke
 	adminRouter := v1router.Party("/admin", newJWThandle())
 	RoleAPI := mvc.New(adminRouter.Party("/role"))
 	RoleAPI.Register(roleService).Handle(new(controllers.RoleController))
+
 }