65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | 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{}, | ||
|  | 	} | ||
|  | } |