|
@@ -2,6 +2,13 @@ package controller
|
|
|
|
|
|
import (
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gin-gonic/gin"
|
|
|
|
+ "iot_manager_service/app/dao"
|
|
|
|
+ "iot_manager_service/app/model"
|
|
|
|
+ "iot_manager_service/app/service"
|
|
|
|
+ "iot_manager_service/app/utils"
|
|
|
|
+ "math"
|
|
|
|
+ "net/http"
|
|
|
|
+ "strconv"
|
|
)
|
|
)
|
|
|
|
|
|
// 配电箱基本信息管理对象
|
|
// 配电箱基本信息管理对象
|
|
@@ -10,25 +17,85 @@ var SwitchBox = new(switchBoxCtl)
|
|
type switchBoxCtl struct{}
|
|
type switchBoxCtl struct{}
|
|
|
|
|
|
func (c *switchBoxCtl) Detail(ctx *gin.Context) {
|
|
func (c *switchBoxCtl) Detail(ctx *gin.Context) {
|
|
|
|
+ id, e := strconv.Atoi(ctx.Query("id"))
|
|
|
|
+ if e != nil {
|
|
|
|
+ ctx.JSON(http.StatusOK, utils.ParamsInvalidResponse(e.Error(), nil))
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ device, err := service.SwitchBoxService.Get(id)
|
|
|
|
+ if err != nil {
|
|
|
|
+ ctx.JSON(http.StatusOK, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ ctx.JSON(http.StatusOK, utils.SuccessResponse(utils.Succeeded, device))
|
|
}
|
|
}
|
|
|
|
|
|
func (c *switchBoxCtl) List(ctx *gin.Context) {
|
|
func (c *switchBoxCtl) List(ctx *gin.Context) {
|
|
|
|
+ searchValue := ctx.Query("searchValue")
|
|
|
|
+ current, _ := strconv.Atoi(ctx.Query("current"))
|
|
|
|
+ size, _ := strconv.Atoi(ctx.Query("size"))
|
|
|
|
+ if current == 0 {
|
|
|
|
+ current = 1
|
|
|
|
+ }
|
|
|
|
+ if size <= 0 || size > 100 {
|
|
|
|
+ size = 10
|
|
|
|
+ }
|
|
|
|
+ devices, err := service.SwitchBoxService.List(searchValue, current, size)
|
|
|
|
+ if err != nil {
|
|
|
|
+ ctx.JSON(http.StatusOK, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ pages := math.Ceil(float64(len(devices)) / float64(size))
|
|
|
|
+ rsp := model.RsqSwitchBoxList{
|
|
|
|
+ Current: current,
|
|
|
|
+ Size: size,
|
|
|
|
+ Total: len(devices),
|
|
|
|
+ Pages: int(pages),
|
|
|
|
+ }
|
|
|
|
+ for _, device := range devices {
|
|
|
|
+
|
|
|
|
+ rsp.Records = append(rsp.Records, device)
|
|
|
|
+ }
|
|
|
|
+ ctx.JSON(http.StatusOK, utils.SuccessResponse(utils.Succeeded, rsp))
|
|
}
|
|
}
|
|
|
|
|
|
func (c *switchBoxCtl) CreateOrUpdate(ctx *gin.Context) {
|
|
func (c *switchBoxCtl) CreateOrUpdate(ctx *gin.Context) {
|
|
|
|
+ var req dao.SwitchBox
|
|
|
|
+ if err := ctx.ShouldBindJSON(&req); err != nil {
|
|
|
|
+ ctx.JSON(http.StatusOK, utils.ParamsInvalidResponse(err.Error(), nil))
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ err := service.SwitchBoxService.CreateOrUpdate(req)
|
|
|
|
+ ctx.JSON(http.StatusOK, err)
|
|
}
|
|
}
|
|
|
|
|
|
func (c *switchBoxCtl) Remove(ctx *gin.Context) {
|
|
func (c *switchBoxCtl) Remove(ctx *gin.Context) {
|
|
|
|
+ var req *model.ReqSwitchBoxRemove
|
|
|
|
+ if err := ctx.ShouldBindJSON(&req); err != nil {
|
|
|
|
+ ctx.JSON(http.StatusOK, utils.ParamsInvalidResponse(err.Error(), nil))
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ err := service.SwitchBoxService.Remove(req.IDs)
|
|
|
|
+ if err != nil {
|
|
|
|
+ ctx.JSON(http.StatusOK, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ ctx.JSON(http.StatusOK, utils.SuccessResponse(utils.Succeeded, nil))
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+func (c *switchBoxCtl) GetList(ctx *gin.Context) {
|
|
|
|
+ devices, err := service.SwitchBoxService.GetList()
|
|
|
|
+ if err != nil {
|
|
|
|
+ ctx.JSON(http.StatusOK, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ ctx.JSON(http.StatusOK, utils.SuccessResponse(utils.Succeeded, devices))
|
|
|
|
+}
|
|
func (c *switchBoxCtl) ImportExcel(ctx *gin.Context) {
|
|
func (c *switchBoxCtl) ImportExcel(ctx *gin.Context) {
|
|
}
|
|
}
|
|
-
|
|
|
|
func (c *switchBoxCtl) ExportExcel(ctx *gin.Context) {
|
|
func (c *switchBoxCtl) ExportExcel(ctx *gin.Context) {
|
|
}
|
|
}
|
|
-
|
|
|
|
func (c *switchBoxCtl) ExportTemplate(ctx *gin.Context) {
|
|
func (c *switchBoxCtl) ExportTemplate(ctx *gin.Context) {
|
|
-}
|
|
|
|
|
|
|
|
-func (c *switchBoxCtl) GetList(ctx *gin.Context) {
|
|
|
|
}
|
|
}
|