device.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package controller
  2. import (
  3. "MeterService/controller/dto"
  4. "MeterService/core/api"
  5. "net/http"
  6. "github.com/gin-gonic/gin"
  7. )
  8. func AddDevice(c *gin.Context) {
  9. device := &dto.Device{}
  10. if err := c.BindJSON(device); err != nil {
  11. api.Fail(c, err.Error())
  12. }
  13. if err := device.AddOrUpdate(); err != nil {
  14. api.Fail(c, err.Error())
  15. }
  16. api.Ok(c)
  17. }
  18. func UpdateDevice(c *gin.Context) {
  19. device := &dto.Device{}
  20. if err := c.BindJSON(device); err != nil {
  21. api.Fail(c, err.Error())
  22. }
  23. if err := device.Delete(); err != nil {
  24. api.Fail(c, err.Error())
  25. }
  26. if err := device.AddOrUpdate(); err != nil {
  27. api.Fail(c, err.Error())
  28. }
  29. api.Ok(c)
  30. }
  31. func DeleteDevice(c *gin.Context) {
  32. device := &dto.Device{}
  33. if err := c.BindJSON(device); err != nil {
  34. api.Fail(c, err.Error())
  35. }
  36. if err := device.Delete(); err != nil {
  37. api.Fail(c, err.Error())
  38. }
  39. api.Ok(c)
  40. }
  41. func Mock(c *gin.Context) {
  42. var data []dto.Device
  43. device := dto.Device{
  44. Enable: true,
  45. SN: "202402200322",
  46. //IP: "www.shvber.com",
  47. IP: "192.168.0.104",
  48. Port: 7777,
  49. Protocol: "YC-HJ212",
  50. Pw: "123456",
  51. Secs: 5,
  52. St: "01",
  53. Cn: "4",
  54. Others: "",
  55. Mn: "123",
  56. Name: "MOCK_METER",
  57. ID: 1,
  58. SimId: "",
  59. Slave: []dto.DeviceSlave{
  60. {
  61. Addr: 1,
  62. NO: "2024031185256281581",
  63. MType: "ADW300",
  64. LvRef: 220,
  65. PvRef: 380,
  66. },
  67. },
  68. }
  69. data = append(data, device)
  70. c.JSON(http.StatusOK, data)
  71. }