device.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. Addr: 2,
  69. NO: "2024031185256281582",
  70. MType: "TEST",
  71. LvRef: 220,
  72. PvRef: 380,
  73. },
  74. },
  75. }
  76. data = append(data, device)
  77. c.JSON(http.StatusOK, data)
  78. }