package controller import ( "MeterService/controller/dto" "MeterService/core/api" "net/http" "github.com/gin-gonic/gin" ) func AddDevice(c *gin.Context) { device := &dto.Device{} if err := c.BindJSON(device); err != nil { api.Fail(c, err.Error()) } if err := device.AddOrUpdate(); err != nil { api.Fail(c, err.Error()) } api.Ok(c) } func UpdateDevice(c *gin.Context) { device := &dto.Device{} if err := c.BindJSON(device); err != nil { api.Fail(c, err.Error()) } if err := device.Delete(); err != nil { api.Fail(c, err.Error()) } if err := device.AddOrUpdate(); err != nil { api.Fail(c, err.Error()) } api.Ok(c) } func DeleteDevice(c *gin.Context) { device := &dto.Device{} if err := c.BindJSON(device); err != nil { api.Fail(c, err.Error()) } if err := device.Delete(); err != nil { api.Fail(c, err.Error()) } api.Ok(c) } func Mock(c *gin.Context) { var data []dto.Device device := dto.Device{ Enable: true, SN: "202402200322", //IP: "www.shvber.com", IP: "192.168.0.104", Port: 7777, Protocol: "YC-HJ212", Pw: "123456", Secs: 5, St: "01", Cn: "4", Others: "", Mn: "123", Name: "MOCK_METER", ID: 1, SimId: "", Slave: []dto.DeviceSlave{ { Addr: 1, NO: "2024031185256281581", MType: "ADW300", LvRef: 220, PvRef: 380, }, { Addr: 2, NO: "2024031185256281582", MType: "TEST", LvRef: 220, PvRef: 380, }, }, } data = append(data, device) c.JSON(http.StatusOK, data) }