1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package NatsServer
- import (
- "ColdVerify_local/conf"
- "ColdVerify_local/lib"
- "ColdVerify_local/logs"
- "ColdVerify_local/models/Task"
- "errors"
- "github.com/nats-io/nats.go"
- "github.com/vmihailenco/msgpack/v5"
- "time"
- )
- func Update_Task(v Task.Task) error {
- logs.Debug("Nats =>", lib.FuncName(), v)
- b, err := msgpack.Marshal(&v)
- if err != nil {
- panic(err)
- }
- msg, err := lib.Nats.Request("ColdVerify_Server_Update_Task", b, 3*time.Second)
- if err != nil {
- return err
- }
- type T_R struct {
- Code int16 `xml:"Code"`
- Msg string `xml:"Msg"`
- Data Task.Task `xml:"Data"`
- }
- var t_R T_R
- err = msgpack.Unmarshal(msg.Data, &t_R)
- if err != nil {
- return err
- }
- if t_R.Code != 200 {
- return errors.New(t_R.Msg)
- }
- return nil
- }
- func Read_Task(T_task_id string) (task Task.Task, err error) {
- logs.Println("Nats =>", lib.FuncName(), T_task_id)
- if !lib.Nats.IsConnected() {
- lib.Nats, err = nats.Connect("nats://" + conf.NatsServer_Url)
- if err != nil {
- logs.Println("无法重新连接到 NATS:", err)
- }
- logs.Println("成功重新连接到 NATS...")
- }
- msg, err := lib.Nats.Request("ColdVerify_Server_Read_Task", []byte(T_task_id), 3*time.Second)
- if err != nil {
- logs.Error(lib.FuncName(), err.Error())
- return task, err
- }
- type T_R struct {
- Code int16 `xml:"Code"`
- Msg string `xml:"Msg"`
- Data Task.Task `xml:"Data"`
- }
- var t_R T_R
- err = msgpack.Unmarshal(msg.Data, &t_R)
- if err != nil {
- logs.Error(lib.FuncName(), err.Error())
- return task, err
- }
- if t_R.Code != 200 {
- err = errors.New(t_R.Msg)
- logs.Error(lib.FuncName(), err.Error())
- return task, err
- }
- return t_R.Data, nil
- }
|