diff --git a/service/ejiaofei/check_cost.go b/service/ejiaofei/check_cost.go index 93061545..61f59dd2 100644 --- a/service/ejiaofei/check_cost.go +++ b/service/ejiaofei/check_cost.go @@ -6,7 +6,7 @@ import ( "net/http" ) -type CheckCostResult struct { +type CheckCostResponse struct { XMLName xml.Name `xml:"response"` UserID string `xml:"userid"` // 用户账号 OrderID string `xml:"orderid"` // 用户提交订单号 @@ -15,8 +15,18 @@ type CheckCostResult struct { Error int `xml:"error"` // 错误提示 } +type CheckCostResult struct { + Result CheckCostResponse // 结果 + Body []byte // 内容 + Err error // 错误 +} + +func NewCheckCostResult(result CheckCostResponse, body []byte, err error) *CheckCostResult { + return &CheckCostResult{Result: result, Body: body, Err: err} +} + // CheckCost 会员订单成本价查询接口 -func (app *App) CheckCost(orderID string) (body []byte, err error) { +func (app *App) CheckCost(orderID string) *CheckCostResult { // 参数 param := NewParams() param.Set("orderid", orderID) @@ -24,6 +34,9 @@ func (app *App) CheckCost(orderID string) (body []byte, err error) { // 签名 app.signStr = fmt.Sprintf("userid%vpwd%vorderid%v", app.UserID, app.Pwd, orderID) // 请求 - body, err = app.request("http://api.ejiaofei.net:11140/checkCost.do", params, http.MethodGet) - return body, err + body, err := app.request("http://api.ejiaofei.net:11140/checkCost.do", params, http.MethodGet) + // 定义 + var response CheckCostResponse + err = xml.Unmarshal(body, &response) + return NewCheckCostResult(response, body, err) } diff --git a/service/ejiaofei/chongzhi_jkorders.go b/service/ejiaofei/chongzhi_jkorders.go index 76070afb..8800b6a1 100644 --- a/service/ejiaofei/chongzhi_jkorders.go +++ b/service/ejiaofei/chongzhi_jkorders.go @@ -6,7 +6,7 @@ import ( "net/http" ) -type ChOngZhiJkOrdersResult struct { +type ChOngZhiJkOrdersResponse struct { XMLName xml.Name `xml:"response"` UserID string `xml:"userid"` // 会员账号 PorderID string `xml:"Porderid"` // 鼎信平台订单号 @@ -20,11 +20,21 @@ type ChOngZhiJkOrdersResult struct { Error string `xml:"error"` // 错误提示 } +type ChOngZhiJkOrdersResult struct { + Result ChOngZhiJkOrdersResponse // 结果 + Body []byte // 内容 + Err error // 错误 +} + +func NewChOngZhiJkOrdersResult(result ChOngZhiJkOrdersResponse, body []byte, err error) *ChOngZhiJkOrdersResult { + return &ChOngZhiJkOrdersResult{Result: result, Body: body, Err: err} +} + // ChOngZhiJkOrders 话费充值接口 // orderid 用户提交的订单号 用户提交的订单号,最长32位(用户保证其唯一性) // face 充值面值 以元为单位,包含10、20、30、50、100、200、300、500 移动联通电信 // account 手机号码 需要充值的手机号码 -func (app *App) ChOngZhiJkOrders(orderID string, face int, account string) (body []byte, err error) { +func (app *App) ChOngZhiJkOrders(orderID string, face int, account string) *ChOngZhiJkOrdersResult { // 参数 param := NewParams() param.Set("orderid", orderID) @@ -35,6 +45,9 @@ func (app *App) ChOngZhiJkOrders(orderID string, face int, account string) (body // 签名 app.signStr = fmt.Sprintf("userid%vpwd%vorderid%vface%vaccount%vamount1", app.UserID, app.Pwd, orderID, face, account) // 请求 - body, err = app.request("http://api.ejiaofei.net:11140/chongzhi_jkorders.do", params, http.MethodGet) - return body, err + body, err := app.request("http://api.ejiaofei.net:11140/chongzhi_jkorders.do", params, http.MethodGet) + // 定义 + var response ChOngZhiJkOrdersResponse + err = xml.Unmarshal(body, &response) + return NewChOngZhiJkOrdersResult(response, body, err) } diff --git a/service/ejiaofei/gprs_chongzhi_advance.go b/service/ejiaofei/gprs_chongzhi_advance.go index 78976039..83eafc5f 100644 --- a/service/ejiaofei/gprs_chongzhi_advance.go +++ b/service/ejiaofei/gprs_chongzhi_advance.go @@ -17,7 +17,7 @@ type GprsChOngZhiAdvanceParams struct { Times string `json:"times"` // 时间戳 格式:yyyyMMddhhmmss } -type GprsChOngZhiAdvanceResult struct { +type GprsChOngZhiAdvanceResponse struct { XMLName xml.Name `xml:"response"` UserID string `xml:"userid"` // 会员账号 OrderID string `xml:"orderid"` // 会员提交订单号 @@ -34,14 +34,27 @@ type GprsChOngZhiAdvanceResult struct { Validity string `xml:"validity"` // 流量有效期(显示月数,0为当月) } +type GprsChOngZhiAdvanceResult struct { + Result GprsChOngZhiAdvanceResponse // 结果 + Body []byte // 内容 + Err error // 错误 +} + +func NewGprsChOngZhiAdvanceResult(result GprsChOngZhiAdvanceResponse, body []byte, err error) *GprsChOngZhiAdvanceResult { + return &GprsChOngZhiAdvanceResult{Result: result, Body: body, Err: err} +} + // GprsChOngZhiAdvance 流量充值接口 -func (app *App) GprsChOngZhiAdvance(param GprsChOngZhiAdvanceParams) (body []byte, err error) { +func (app *App) GprsChOngZhiAdvance(param GprsChOngZhiAdvanceParams) *GprsChOngZhiAdvanceResult { // 签名 app.signStr = fmt.Sprintf("userid%vpwd%vorderid%vaccount%vgprs%varea%veffecttime%vvalidity%vtimes%v", app.UserID, app.Pwd, param.OrderID, param.Account, param.Gprs, param.Area, param.EffectTime, param.Validity, param.Times) // 请求 b, _ := json.Marshal(¶m) var params map[string]interface{} _ = json.Unmarshal(b, ¶ms) - body, err = app.request("http://api.ejiaofei.net:11140/gprsChongzhiAdvance.do", params, http.MethodGet) - return body, err + body, err := app.request("http://api.ejiaofei.net:11140/gprsChongzhiAdvance.do", params, http.MethodGet) + // 定义 + var response GprsChOngZhiAdvanceResponse + err = xml.Unmarshal(body, &response) + return NewGprsChOngZhiAdvanceResult(response, body, err) } diff --git a/service/ejiaofei/money_jkuser.go b/service/ejiaofei/money_jkuser.go index db2cd0b1..9e485c65 100644 --- a/service/ejiaofei/money_jkuser.go +++ b/service/ejiaofei/money_jkuser.go @@ -6,18 +6,31 @@ import ( "net/http" ) -type MoneyJkUserResult struct { +type MoneyJkUserResponse struct { XMLName xml.Name `xml:"response"` LastMoney float64 `xml:"lastMoney"` // 用户余额 Tag int `xml:"tag"` // 用户状态(0正常 1暂停) Error int `xml:"error"` // 错误提示 } +type MoneyJkUserResult struct { + Result MoneyJkUserResponse // 结果 + Body []byte // 内容 + Err error // 错误 +} + +func NewMoneyJkUserResult(result MoneyJkUserResponse, body []byte, err error) *MoneyJkUserResult { + return &MoneyJkUserResult{Result: result, Body: body, Err: err} +} + // MoneyJkUser 用户余额查询 -func (app *App) MoneyJkUser() (body []byte, err error) { +func (app *App) MoneyJkUser() *MoneyJkUserResult { // 签名 app.signStr = fmt.Sprintf("userid%vpwd%v", app.UserID, app.Pwd) // 请求 - body, err = app.request("http://api.ejiaofei.net:11140/money_jkuser.do", map[string]interface{}{}, http.MethodGet) - return body, err + body, err := app.request("http://api.ejiaofei.net:11140/money_jkuser.do", map[string]interface{}{}, http.MethodGet) + // 定义 + var response MoneyJkUserResponse + err = xml.Unmarshal(body, &response) + return NewMoneyJkUserResult(response, body, err) } diff --git a/service/ejiaofei/query_jkorders.go b/service/ejiaofei/query_jkorders.go index 4e76e891..0b941e44 100644 --- a/service/ejiaofei/query_jkorders.go +++ b/service/ejiaofei/query_jkorders.go @@ -6,7 +6,7 @@ import ( "net/http" ) -type QueryJkOrdersResult struct { +type QueryJkOrdersResponse struct { XMLName xml.Name `xml:"response"` UserID string `xml:"userid"` // 会员账号 POrderID string `xml:"Porderid"` // 鼎信平台订单号 @@ -20,9 +20,19 @@ type QueryJkOrdersResult struct { Error string `xml:"error"` // 错误提示 } +type QueryJkOrdersResult struct { + Result QueryJkOrdersResponse // 结果 + Body []byte // 内容 + Err error // 错误 +} + +func NewQueryJkOrdersResult(result QueryJkOrdersResponse, body []byte, err error) *QueryJkOrdersResult { + return &QueryJkOrdersResult{Result: result, Body: body, Err: err} +} + // QueryJkOrders 通用查询接口 // orderid 用户提交的订单号 用户提交的订单号,最长32位(用户保证其唯一性) -func (app *App) QueryJkOrders(orderID string) (body []byte, err error) { +func (app *App) QueryJkOrders(orderID string) *QueryJkOrdersResult { // 参数 param := NewParams() param.Set("orderid", orderID) @@ -30,6 +40,9 @@ func (app *App) QueryJkOrders(orderID string) (body []byte, err error) { // 签名 app.signStr = fmt.Sprintf("userid%vpwd%vorderid%v", app.UserID, app.Pwd, orderID) // 请求 - body, err = app.request("http://api.ejiaofei.net:11140/query_jkorders.do", params, http.MethodGet) - return body, err + body, err := app.request("http://api.ejiaofei.net:11140/query_jkorders.do", params, http.MethodGet) + // 定义 + var response QueryJkOrdersResponse + err = xml.Unmarshal(body, &response) + return NewQueryJkOrdersResult(response, body, err) } diff --git a/service/ejiaofei/query_tx_product.go b/service/ejiaofei/query_tx_product.go index da9b34d9..b1987ffe 100644 --- a/service/ejiaofei/query_tx_product.go +++ b/service/ejiaofei/query_tx_product.go @@ -6,16 +6,29 @@ import ( "net/http" ) -type QueryTxProductResult struct { +type QueryTxProductResponse struct { XMLName xml.Name `xml:"response"` Error string `xml:"error"` // 错误提示 } +type QueryTxProductResult struct { + Result QueryTxProductResponse // 结果 + Body []byte // 内容 + Err error // 错误 +} + +func NewQueryTxProductResult(result QueryTxProductResponse, body []byte, err error) *QueryTxProductResult { + return &QueryTxProductResult{Result: result, Body: body, Err: err} +} + // QueryTxProduct 可充值腾讯产品查询 -func (app *App) QueryTxProduct() (body []byte, err error) { +func (app *App) QueryTxProduct() *QueryTxProductResult { // 签名 app.signStr = fmt.Sprintf("userid%vpwd%v", app.UserID, app.Pwd) // 请求 - body, err = app.request("http://api.ejiaofei.net:11140/queryTXproduct.do", map[string]interface{}{}, http.MethodGet) - return body, err + body, err := app.request("http://api.ejiaofei.net:11140/queryTXproduct.do", map[string]interface{}{}, http.MethodGet) + // 定义 + var response QueryTxProductResponse + err = xml.Unmarshal(body, &response) + return NewQueryTxProductResult(response, body, err) } diff --git a/service/ejiaofei/tx_chongzhi.go b/service/ejiaofei/tx_chongzhi.go index 288f72ed..f8a8ebd8 100644 --- a/service/ejiaofei/tx_chongzhi.go +++ b/service/ejiaofei/tx_chongzhi.go @@ -16,7 +16,7 @@ type TxChOngZhiParams struct { Times string `json:"times"` // 时间戳 格式:yyyyMMddhhmmss } -type TxChOngZhiResult struct { +type TxChOngZhiResponse struct { XMLName xml.Name `xml:"response"` UserID string `xml:"userid"` // 用户编号 PorderID string `xml:"Porderid"` // 鼎信平台订单号 @@ -30,14 +30,27 @@ type TxChOngZhiResult struct { Error string `xml:"error"` // 错误提示 } +type TxChOngZhiResult struct { + Result TxChOngZhiResponse // 结果 + Body []byte // 内容 + Err error // 错误 +} + +func NewTxChOngZhiResult(result TxChOngZhiResponse, body []byte, err error) *TxChOngZhiResult { + return &TxChOngZhiResult{Result: result, Body: body, Err: err} +} + // TxChOngZhi 流量充值接口 -func (app *App) TxChOngZhi(param TxChOngZhiParams) (body []byte, err error) { +func (app *App) TxChOngZhi(param TxChOngZhiParams) *TxChOngZhiResult { // 签名 app.signStr = fmt.Sprintf("userid%vpwd%vorderid%vaccount%vproductid%vamount%vip%vtimes%v", app.UserID, app.Pwd, param.OrderID, param.Account, param.ProductID, param.Amount, param.Ip, param.Times) // 请求 b, _ := json.Marshal(¶m) var params map[string]interface{} _ = json.Unmarshal(b, ¶ms) - body, err = app.request("http://api.ejiaofei.net:11140/txchongzhi.do", params, http.MethodGet) - return body, err + body, err := app.request("http://api.ejiaofei.net:11140/txchongzhi.do", params, http.MethodGet) + // 定义 + var response TxChOngZhiResponse + err = xml.Unmarshal(body, &response) + return NewTxChOngZhiResult(response, body, err) }