package mtunionapi

import (
	"encoding/json"
	"git.rosy.net.cn/baseapi/utils"
	"io/ioutil"
	"net/http"
	"strings"
)

type CallBack struct {
	Errcode string `json:"errcode"`
	Errmsg  string `json:"errmsg"`
}

type CallBackResult struct {
	Smstitle  string `json:"smstitle"`
	Quantity  string `json:"quantity"`
	Orderid   string `json:"orderid"`
	Dealid    string `json:"dealid"`
	Paytime   string `json:"paytime"`
	Type      string `json:"type"`
	Ordertime string `json:"ordertime"`
	Sid       string `json:"sid"`
	UID       string `json:"uid"`
	Status    string `json:"status"`
	Total     string `json:"total"`
	Direct    string `json:"direct"`
	Ratio     string `json:"ratio"`
	Sign      string `json:"sign"`
}

func (a *API) GetCallbackMsg(request *http.Request) (call *CallBackResult, err error) {
	data, err := ioutil.ReadAll(request.Body)
	if err != nil {
		return nil, err
	}
	values, err := utils.HTTPBody2Values(data, false)
	if err != nil {
		return nil, err
	}
	mapData := utils.URLValues2Map(values)
	for k, _ := range mapData {
		k = strings.ReplaceAll(k, "&", "")
		json.Unmarshal([]byte(k), &call)
	}
	return call, err
}
