package apis import ( "fmt" "github.com/gin-gonic/gin" "IotAdmin/core/sdk/api" "IotAdmin/core/sdk/pkg/jwt-auth/user" _ "IotAdmin/core/sdk/pkg/response" "IotAdmin/app/iot/models" "IotAdmin/app/iot/service" "IotAdmin/app/iot/service/dto" "IotAdmin/common/permission" ) // IotDeviceApi 设备接口 type IotDeviceApi struct { api.Api } // GetPage 获取设备列表 // @Summary 获取设备列表 // @Description 获取设备列表 // @Tags 设备管理 // @Param groupId query string false "设备分组" // @Param sn query string false "设备编码" // @Param name query string false "设备名称" // @Param type query string false "设备类型" // @Param mode query string false "设备模式" // @Param pageSize query int false "页条数" // @Param pageIndex query int false "页码" // @Success 200 {object} response.Response{data=response.Page{list=[]models.IotDevice}} "{"code": 200, "data": [...]}" // @Router /api/iot-device [get] // @Security Bearer func (e IotDeviceApi) GetPage(c *gin.Context) { req := dto.IotDeviceGetPageReq{} s := service.IotDeviceService{} err := e.MakeContext(c). MakeOrm(). Bind(&req). MakeService(&s.Service). Errors if err != nil { e.Logger.Error(err) e.Error(500, err, err.Error()) return } p := permission.GetPermissionFromContext(c) list := make([]models.IotDevice, 0) var count int64 err = s.GetPage(&req, p, &list, &count) if err != nil { e.Error(500, err, fmt.Sprintf("获取设备失败,\r\n失败信息 %s", err.Error())) return } e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功") } // Get 获取设备 // @Summary 获取设备 // @Description 获取设备 // @Tags 设备管理 // @Param id path int false "id" // @Success 200 {object} response.Response{data=models.IotDevice} "{"code": 200, "data": [...]}" // @Router /api/iot-device/{id} [get] // @Security Bearer func (e IotDeviceApi) Get(c *gin.Context) { req := dto.IotDeviceGetReq{} s := service.IotDeviceService{} err := e.MakeContext(c). MakeOrm(). Bind(&req). MakeService(&s.Service). Errors if err != nil { e.Logger.Error(err) e.Error(500, err, err.Error()) return } var object models.IotDevice p := permission.GetPermissionFromContext(c) err = s.Get(&req, p, &object) if err != nil { e.Error(500, err, fmt.Sprintf("获取设备失败,\r\n失败信息 %s", err.Error())) return } e.OK( object, "查询成功") } // Insert 添加设备 // @Summary 添加设备 // @Description 添加设备 // @Tags 设备管理 // @Accept application/json // @Product application/json // @Param data body dto.IotDeviceInsertReq true "data" // @Success 200 {object} response.Response "{"code": 200, "message": "添加成功"}" // @Router /api/iot-device [post] // @Security Bearer func (e IotDeviceApi) Insert(c *gin.Context) { req := dto.IotDeviceInsertReq{} s := service.IotDeviceService{} err := e.MakeContext(c). MakeOrm(). Bind(&req). MakeService(&s.Service). Errors if err != nil { e.Logger.Error(err) e.Error(500, err, err.Error()) return } // 设置创建人 req.SetCreateBy(user.GetUserId(c)) err = s.Insert(&req) if err != nil { e.Error(500, err, fmt.Sprintf("添加设备失败,\r\n失败信息 %s", err.Error())) return } e.OK(req.GetId(), "添加成功") } // Update 修改设备 // @Summary 修改设备 // @Description 修改设备 // @Tags 设备管理 // @Accept application/json // @Product application/json // @Param id path int true "id" // @Param data body dto.IotDeviceUpdateReq true "body" // @Success 200 {object} response.Response "{"code": 200, "message": "修改成功"}" // @Router /api/iot-device/{id} [put] // @Security Bearer func (e IotDeviceApi) Update(c *gin.Context) { req := dto.IotDeviceUpdateReq{} s := service.IotDeviceService{} err := e.MakeContext(c). MakeOrm(). Bind(&req). MakeService(&s.Service). Errors if err != nil { e.Logger.Error(err) e.Error(500, err, err.Error()) return } req.SetUpdateBy(user.GetUserId(c)) p := permission.GetPermissionFromContext(c) err = s.Update(&req, p) if err != nil { e.Error(500, err, fmt.Sprintf("修改设备失败,\r\n失败信息 %s", err.Error())) return } e.OK( req.GetId(), "修改成功") } // Delete 删除设备 // @Summary 删除设备 // @Description 删除设备 // @Tags 设备管理 // @Param data body dto.IotDeviceDeleteReq true "body" // @Success 200 {object} response.Response "{"code": 200, "message": "删除成功"}" // @Router /api/iot-device [delete] // @Security Bearer func (e IotDeviceApi) Delete(c *gin.Context) { s := service.IotDeviceService{} req := dto.IotDeviceDeleteReq{} err := e.MakeContext(c). MakeOrm(). Bind(&req). MakeService(&s.Service). Errors if err != nil { e.Logger.Error(err) e.Error(500, err, err.Error()) return } // req.SetUpdateBy(user.GetUserId(c)) p := permission.GetPermissionFromContext(c) err = s.Remove(&req, p) if err != nil { e.Error(500, err, fmt.Sprintf("删除设备失败,\r\n失败信息 %s", err.Error())) return } e.OK( req.GetId(), "删除成功") }