package NatsServer

import (
	"Cold_GoodsOrder/lib"
	"Cold_GoodsOrder/logs"
	"fmt"
	"github.com/vmihailenco/msgpack/v5"
	"time"
)

func Qiniu_UploadToken(T_suffix string, T_MimeLimit string) (string, bool) {
	type Qiniu_UploadToken struct {
		T_suffix    string
		T_MimeLimit string
	}

	b, err := msgpack.Marshal(&Qiniu_UploadToken{
		T_suffix:    T_suffix,
		T_MimeLimit: T_MimeLimit,
	})
	if err != nil {
		panic(err)
	}

	// 请求-响应， 向 test3 发布一个 `help me` 请求数据，设置超时间3秒，如果有多个响应，只接收第一个收到的消息
	msg, err := lib.Nats.Request("Qiniu_UploadToken", b, 3*time.Second)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("Qiniu_UploadToken : %s\n", string(msg.Data))
		return string(msg.Data), true
	}

	return string(msg.Data), false
}

func Qiniu_UploadFile(localFile string, name string) (string, bool) {
	logs.Println("Nats =>", lib.FuncName(), localFile, name)
	type Qiniu_UploadFile struct {
		File string
		Name string
	}
	RR := Qiniu_UploadFile{File: localFile, Name: name}
	println(":", RR.File)
	b, err := msgpack.Marshal(&RR)
	if err != nil {
		panic(err)
	}

	// 请求-响应， 向 test3 发布一个 `help me` 请求数据，设置超时间3秒，如果有多个响应，只接收第一个收到的消息
	msg, err := lib.Nats.Request("Qiniu_UploadFile", b, 3*time.Second)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("Qiniu_UploadFile : %s\n", string(msg.Data))
		return string(msg.Data), true
	}

	return string(msg.Data), false
}
