worker.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package change
  2. import (
  3. "Wine-Server/utils"
  4. "Wine-Server/utils/tables"
  5. "github.com/gorilla/websocket"
  6. )
  7. func Query(conn *websocket.Conn, manager *tables.ManagerTable, data any) {
  8. var param queryParam
  9. err := utils.AnyTrans(data, &param)
  10. if err != nil {
  11. utils.Logger.Println(err)
  12. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeQueryRes", utils.Fail("参数错误")))
  13. return
  14. }
  15. total, warns, err := tables.WarnQuery(manager.Id, param.Cond, param.Deal, param.Limit, param.Page)
  16. if err != nil {
  17. utils.Logger.Println(err)
  18. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeQueryRes", utils.Fail("查询信息失败")))
  19. return
  20. }
  21. _ = conn.WriteJSON(utils.WsEvent(
  22. "adminWineChangeQueryRes",
  23. utils.Success(utils.JsonType{"total": total, "list": warns}),
  24. ))
  25. }
  26. func QueryWine(conn *websocket.Conn, data any) {
  27. cond, ok := data.(string)
  28. if !ok {
  29. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeQueryWineRes", utils.Fail("参数错误")))
  30. return
  31. }
  32. wines, err := tables.WinesQueryByIdOrName(cond)
  33. if err != nil {
  34. utils.Logger.Println(err)
  35. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeQueryWineRes", utils.Fail("查询酒品失败")))
  36. return
  37. }
  38. _ = conn.WriteJSON(utils.WsEvent(
  39. "adminWineChangeQueryWineRes",
  40. utils.Success(wines),
  41. ))
  42. }
  43. func QueryWorker(conn *websocket.Conn, manager *tables.ManagerTable, data any) {
  44. cond, ok := data.(string)
  45. if !ok {
  46. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeQueryWorkerRes", utils.Fail("参数错误")))
  47. return
  48. }
  49. workers, err := tables.WorkersQueryByPhoneOrName(manager.Id, cond)
  50. if err != nil {
  51. utils.Logger.Println(err)
  52. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeQueryWorkerRes", utils.Fail("查询酒品失败")))
  53. return
  54. }
  55. _ = conn.WriteJSON(utils.WsEvent(
  56. "adminWineChangeQueryWorkerRes",
  57. utils.Success(workers),
  58. ))
  59. }
  60. func Assign(conn *websocket.Conn, data any) {
  61. var param assignParam
  62. err := utils.AnyTrans(data, &param)
  63. if err != nil {
  64. utils.Logger.Println(err)
  65. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeAssignRes", utils.Fail("参数错误")))
  66. return
  67. }
  68. if param.Worker == "" {
  69. utils.Logger.Println(err)
  70. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeAssignRes", utils.Fail("请选择上酒工")))
  71. return
  72. }
  73. worker := tables.WorkerTable{Id: param.Worker}
  74. err = worker.Get()
  75. if err != nil {
  76. utils.Logger.Println(err)
  77. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeAssignRes", utils.Fail("上酒工不存在")))
  78. return
  79. }
  80. warn := tables.WarnTable{Id: param.Id}
  81. err = warn.Get()
  82. if err != nil {
  83. utils.Logger.Println(err)
  84. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeAssignRes", utils.Fail("报警不存在")))
  85. return
  86. }
  87. change := tables.ChangeTable{
  88. Wid: warn.Id, Device: warn.Device, Manager: warn.Manager,
  89. Worker: param.Worker, Code: utils.RandomString(6, utils.NumberPatten),
  90. }
  91. change.Old, change.New = param.Old, param.New
  92. err = change.Insert()
  93. if err != nil {
  94. utils.Logger.Println(err)
  95. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeAssignRes", utils.Fail("安排失败 01")))
  96. return
  97. }
  98. warn.Deal = true
  99. err = warn.UpdateSelf()
  100. if err != nil {
  101. utils.Logger.Println(err)
  102. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeAssignRes", utils.Fail("安排失败 02")))
  103. return
  104. }
  105. worker.Todo++
  106. err = worker.UpdateSelf()
  107. if err != nil {
  108. utils.Logger.Println(err)
  109. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeAssignRes", utils.Fail("安排失败 03")))
  110. return
  111. }
  112. _ = conn.WriteJSON(utils.WsEvent("adminWineChangeAssignRes", utils.Success(nil)))
  113. }