NatsServer.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package NatsServer
  2. import (
  3. "ColdVerify_local/lib"
  4. "ColdVerify_local/logs"
  5. "ColdVerify_local/models/Task"
  6. "errors"
  7. "github.com/vmihailenco/msgpack/v5"
  8. "time"
  9. )
  10. func Update_Task(v Task.Task) error {
  11. logs.Debug("Nats =>", lib.FuncName(), v)
  12. b, err := msgpack.Marshal(&v)
  13. if err != nil {
  14. panic(err)
  15. }
  16. msg, err := lib.Nats.Request("ColdVerify_Server_Update_Task", b, 3*time.Second)
  17. if err != nil {
  18. return err
  19. }
  20. type T_R struct {
  21. Code int16 `xml:"Code"`
  22. Msg string `xml:"Msg"`
  23. Data Task.Task `xml:"Data"`
  24. }
  25. var t_R T_R
  26. err = msgpack.Unmarshal(msg.Data, &t_R)
  27. if err != nil {
  28. return err
  29. }
  30. if t_R.Code != 200 {
  31. return errors.New(t_R.Msg)
  32. }
  33. return nil
  34. }
  35. func Read_Task(T_task_id string) (task Task.Task, err error) {
  36. logs.Println("Nats =>", lib.FuncName(), T_task_id)
  37. msg, err := lib.Nats.Request("ColdVerify_Server_Read_Task", []byte(T_task_id), 3*time.Second)
  38. if err != nil {
  39. return task, err
  40. }
  41. type T_R struct {
  42. Code int16 `xml:"Code"`
  43. Msg string `xml:"Msg"`
  44. Data Task.Task `xml:"Data"`
  45. }
  46. var t_R T_R
  47. err = msgpack.Unmarshal(msg.Data, &t_R)
  48. if err != nil {
  49. return task, err
  50. }
  51. if t_R.Code != 200 {
  52. return task, errors.New(t_R.Msg)
  53. }
  54. return t_R.Data, nil
  55. }