package center_api import ( "crypto/md5" "encoding/hex" "fmt" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" ) type PackagingTaskCallbackReq struct { *requests.RpcRequest TaskId string `position:"Body" field:"task_id"` Status int `position:"Body" field:"status"` Msg string `position:"Body" field:"msg"` Url string `position:"Body" field:"url"` Md5 string `position:"Body" field:"md5"` Sign string `position:"Body" field:"sign"` Ts int64 `position:"Body" field:"ts"` } type PackagingTaskCallbackResp struct { *responses.BaseResponse StatusCode int `json:"status_code"` StatusMsg string `json:"status_msg"` } type Data struct { TaskId string `json:"task_id"` Status int `json:"status"` Msg string `json:"msg"` Url string `json:"url"` Md5 string `json:"md5"` } func CreatePackagingTaskCallbackReq(data Data) *PackagingTaskCallbackReq { req := &PackagingTaskCallbackReq{ RpcRequest: &requests.RpcRequest{}, } req.TaskId = data.TaskId req.Status = data.Status req.Msg = data.Msg req.Url = data.Url req.Md5 = data.Md5 req.Ts = 1730357662 // sign=md5(ts+task_id+sign_key) 32位 // 生成 MD5 哈希 hash := md5.Sum([]byte(fmt.Sprintf("%d%s%s", req.Ts, req.TaskId, "xBPVBJ132asdUeJC3XjD7AnFWD2sbGH6pJC4654y89"))) // 将哈希结果转换为十六进制字符串 hashString := hex.EncodeToString(hash[:]) req.Sign = hashString req.InitWithApiInfo(HOST, VERSION, "/v1/packaging/task/callback") req.Method = requests.POST return req } func CreatePackagingTaskCallbackResp() *PackagingTaskCallbackResp { return &PackagingTaskCallbackResp{ BaseResponse: &responses.BaseResponse{}, } }