package originalJd

import (
	"kami/internal/consts"
)

type CreateOrder struct {
	OrderId     string `json:"orderId"`
	OrderAmount string `json:"orderAmount"`
	OrderTime   string `json:"orderTime"`
}

type DeleteOrderReq struct {
	Cookie  string `json:"cookie"`
	OrderId string `json:"orderId"`
}

type DeleteOrderResp struct {
	Status bool `json:"status"`
}

type DeleteClientResp struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

type SmsLoginReq struct {
	Phone       string `json:"phone"`
	Ck          string `json:"ck"`
	Code        string `json:"code"`
	SToken      string `json:"s_token"`
	JdRiskToken string `json:"jd_risk_token_id"`
	RsaModulus  string `json:"rsa_modulus"`
}

type SmsLoginResp struct {
	Cookie string `json:"cookie"`
}

type SmsLoginClientResp struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
		Ck string `json:"ck"`
	} `json:"data"`
}

type AppleRechargeReq struct {
	FacePrice float64                        `json:"face_price"`
	Category  consts.RedeemOrderCardCategory `json:"category"`
	OrderId   string                         `json:"order_id"`
	Cookies   string                         `json:"cookies"`
}

type AppleRechargeClientResp struct {
	Code    HttpStatus `json:"code"`
	Message string     `json:"message"`
	Data    struct {
		Deeplink string `json:"deeplink"`
		OrderId  string `json:"order_id"`
		PayId    string `json:"pay_id"`
	} `json:"data,omitempty"`
}

type AppleRechargeResp struct {
	Code      consts.CardCookieJDOrderStatus `json:"code" description:"编码"`
	Msg       string                         `json:"msg" description:"错误信息"`
	Deeplink  string                         `json:"deeplink" description:"微信支付链接"`
	OrderId   string                         `json:"order_id" description:"京东订单号"`
	PayId     string                         `json:"pay_id" description:"微信payid"`
	FacePrice string                         `json:"face_price" description:"面值"`
}

type AppleRechargeCardInfoReq struct {
	OrderId   string                         `json:"order_id"`
	JdOrderId string                         `json:"jd_order_id"`
	Cookies   string                         `json:"cookies"`
	Category  consts.RedeemOrderCardCategory `json:"category"`
}

type AppleRechargeCardInfoResp struct {
	OrderStatus  string `json:"order_status"`
	CardNo       string `json:"cardNo"`
	CardPassword string `json:"cardPassword"`
	Remark       string `json:"remark"`
	IsCkFailed   bool   `json:"is_ck_failed"`
}

type QueryCardReq struct {
	JdOrderNum string `json:"jd_order_num"`
	Cookies    string `json:"cookies"`
}

type QueryCardClientResp struct {
	Code int `json:"code"`
	//Data    struct {
	//	Card string `json:"card"`
	//} `json:"data"`
}

type QueryCardResp struct {
	Status bool `json:"status"`
	Data   struct {
		Card string `json:"card"`
	} `json:"data"`
}

// CheckOrderPaymentReq 检查订单支付状态请求
type CheckOrderPaymentReq struct {
	JdOrderId string `json:"jd_order_id"`
	Cookies   string `json:"cookies"`
}

// CheckOrderPaymentClientResp 检查订单支付状态原始响应
type CheckOrderPaymentClientResp struct {
	Code HttpStatus `json:"code"`
	Msg  string     `json:"msg"`
	Data struct {
		PaymentStatus int    `json:"payment_status"` // 1:待支付 2:已支付 3:已过期 4:已取消
		OrderStatus   string `json:"order_status"`   // 订单状态描述
		CanReuse      bool   `json:"can_reuse"`      // 是否可以复用
	} `json:"data,omitempty"`
}

// CheckOrderPaymentResp 检查订单支付状态响应
type CheckOrderPaymentResp struct {
	PaymentStatus int    `json:"payment_status"` // 1:待支付 2:已支付 3:已过期 4:已取消
	OrderStatus   string `json:"order_status"`   // 订单状态描述
	CanReuse      bool   `json:"can_reuse"`      // 是否可以复用
	IsPaid        bool   `json:"is_paid"`        // 是否已支付
}

type RefreshPaymentReq struct {
	Cookies     string `json:"cookies"`
	OrderId     int64  `json:"order_id"`
	PayId       string `json:"pay_id"`
	UserOrderId string `json:"user_order_id"`
}

type RefreshPaymentRes struct {
	Code      consts.CardCookieJDOrderStatus `json:"code"`
	Msg       string                         `json:"msg" description:"错误信息"`
	Deeplink  string                         `json:"deeplink" description:"微信支付链接"`
	OrderId   string                         `json:"order_id" description:"京东订单号"`
	PayId     string                         `json:"pay_id" description:"微信payid"`
	FacePrice string                         `json:"face_price" description:"面值"`
}
