- update ejiaofei

master
李光春 1 year ago
parent 41f01c0dd6
commit b9d5e40fe1

@ -21,15 +21,15 @@ type CheckCostResult struct {
Result CheckCostResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newCheckCostResult(result CheckCostResponse, body []byte, http gorequest.Response, err error) *CheckCostResult {
return &CheckCostResult{Result: result, Body: body, Http: http, Err: err}
func newCheckCostResult(result CheckCostResponse, body []byte, http gorequest.Response) *CheckCostResult {
return &CheckCostResult{Result: result, Body: body, Http: http}
}
// CheckCost 会员订单成本价查询接口
func (c *Client) CheckCost(ctx context.Context, orderId string) *CheckCostResult {
// orderID 用户提交的订单号 用户提交的订单号最长32位用户保证其唯一性
func (c *Client) CheckCost(ctx context.Context, orderId string) (*CheckCostResult, error) {
// 参数
param := gorequest.NewParams()
param.Set("orderid", orderId)
@ -38,8 +38,11 @@ func (c *Client) CheckCost(ctx context.Context, orderId string) *CheckCostResult
c.config.signStr = fmt.Sprintf("userid%vpwd%vorderid%v", c.GetUserId(), c.GetPwd(), orderId)
// 请求
request, err := c.request(ctx, apiUrl+"/checkCost.do", params, http.MethodGet)
if err != nil {
return newCheckCostResult(CheckCostResponse{}, request.ResponseBody, request), err
}
// 定义
var response CheckCostResponse
err = xml.Unmarshal(request.ResponseBody, &response)
return newCheckCostResult(response, request.ResponseBody, request, err)
return newCheckCostResult(response, request.ResponseBody, request), err
}

@ -26,18 +26,17 @@ type ChOngZhiJkOrdersResult struct {
Result ChOngZhiJkOrdersResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newChOngZhiJkOrdersResult(result ChOngZhiJkOrdersResponse, body []byte, http gorequest.Response, err error) *ChOngZhiJkOrdersResult {
return &ChOngZhiJkOrdersResult{Result: result, Body: body, Http: http, Err: err}
func newChOngZhiJkOrdersResult(result ChOngZhiJkOrdersResponse, body []byte, http gorequest.Response) *ChOngZhiJkOrdersResult {
return &ChOngZhiJkOrdersResult{Result: result, Body: body, Http: http}
}
// ChOngZhiJkOrders 话费充值接口
// orderid 用户提交的订单号 用户提交的订单号最长32位用户保证其唯一性
// orderID 用户提交的订单号 用户提交的订单号最长32位用户保证其唯一性
// face 充值面值 以元为单位包含10、20、30、50、100、200、300、500 移动联通电信
// account 手机号码 需要充值的手机号码
func (c *Client) ChOngZhiJkOrders(ctx context.Context, orderID string, face int, account string) *ChOngZhiJkOrdersResult {
func (c *Client) ChOngZhiJkOrders(ctx context.Context, orderID string, face int, account string) (*ChOngZhiJkOrdersResult, error) {
// 参数
param := gorequest.NewParams()
param.Set("orderid", orderID)
@ -49,8 +48,11 @@ func (c *Client) ChOngZhiJkOrders(ctx context.Context, orderID string, face int,
c.config.signStr = fmt.Sprintf("userid%vpwd%vorderid%vface%vaccount%vamount1", c.GetUserId(), c.GetPwd(), orderID, face, account)
// 请求
request, err := c.request(ctx, apiUrl+"/chongzhi_jkorders.do", params, http.MethodGet)
if err != nil {
return newChOngZhiJkOrdersResult(ChOngZhiJkOrdersResponse{}, request.ResponseBody, request), err
}
// 定义
var response ChOngZhiJkOrdersResponse
err = xml.Unmarshal(request.ResponseBody, &response)
return newChOngZhiJkOrdersResult(response, request.ResponseBody, request, err)
return newChOngZhiJkOrdersResult(response, request.ResponseBody, request), err
}

@ -1,5 +1,7 @@
package ejiaofei
import "fmt"
const (
apiUrl = "http://api.ejiaofei.net:11140"
)
@ -7,3 +9,74 @@ const (
const (
LogTable = "ejiaofei"
)
// OperatorInfo 运营商描述
func OperatorInfo(operator string) string {
switch operator {
case "mobile":
return "移动"
case "unicom":
return "联通"
case "telecom":
return "电信"
}
return fmt.Sprintf("%v", operator)
}
// StateInfo 状态描述
func StateInfo[ST int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | string](state ST) string {
stateString := fmt.Sprintf("%v", state)
switch stateString {
case "0":
return "充值中"
case "1":
return "充值成功"
case "2":
return "充值失败"
case "8":
return "等待扣款"
}
return stateString
}
// ErrorInfo 错误描述
func ErrorInfo[ET int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | string](error ET) string {
errorString := fmt.Sprintf("%v", error)
switch errorString {
case "0":
return "无错误"
case "1003":
return "用户ID或接口密码错误"
case "1004":
return "用户IP错误"
case "1005":
return "用户接口已关闭"
case "1006":
return "加密结果错误"
case "1007":
return "订单号不存在"
case "1011":
return "号码归属地未知"
case "1013":
return "手机对应的商品有误或者没有上架"
case "1014":
return "无法找到手机归属地"
case "1015":
return "余额不足"
case "1016":
return "QQ号格式错误"
case "1017":
return "产品未分配用户,联系商务"
case "1018":
return "订单生成失败"
case "1019":
return "充值号码与产品不匹配"
case "1020":
return "号码运营商未知"
case "9998":
return "参数有误"
case "9999":
return "系统错误"
}
return errorString
}

@ -39,23 +39,25 @@ type GprsChOngZhiAdvanceResult struct {
Result GprsChOngZhiAdvanceResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newGprsChOngZhiAdvanceResult(result GprsChOngZhiAdvanceResponse, body []byte, http gorequest.Response, err error) *GprsChOngZhiAdvanceResult {
return &GprsChOngZhiAdvanceResult{Result: result, Body: body, Http: http, Err: err}
func newGprsChOngZhiAdvanceResult(result GprsChOngZhiAdvanceResponse, body []byte, http gorequest.Response) *GprsChOngZhiAdvanceResult {
return &GprsChOngZhiAdvanceResult{Result: result, Body: body, Http: http}
}
// GprsChOngZhiAdvance 流量充值接口
func (c *Client) GprsChOngZhiAdvance(ctx context.Context, notMustParams ...gorequest.Params) *GprsChOngZhiAdvanceResult {
func (c *Client) GprsChOngZhiAdvance(ctx context.Context, notMustParams ...gorequest.Params) (*GprsChOngZhiAdvanceResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 签名
c.config.signStr = fmt.Sprintf("userid%vpwd%vorderid%vaccount%vgprs%varea%veffecttime%vvalidity%vtimes%v", c.GetUserId(), c.GetPwd(), params["orderid"], params["account"], params["gprs"], params["area"], params["effecttime"], params["validity"], params["times"])
// 请求
request, err := c.request(ctx, apiUrl+"/gprsChongzhiAdvance.do", params, http.MethodGet)
if err != nil {
return newGprsChOngZhiAdvanceResult(GprsChOngZhiAdvanceResponse{}, request.ResponseBody, request), err
}
// 定义
var response GprsChOngZhiAdvanceResponse
err = xml.Unmarshal(request.ResponseBody, &response)
return newGprsChOngZhiAdvanceResult(response, request.ResponseBody, request, err)
return newGprsChOngZhiAdvanceResult(response, request.ResponseBody, request), err
}

@ -19,21 +19,23 @@ type MoneyJkUserResult struct {
Result MoneyJkUserResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newMoneyJkUserResult(result MoneyJkUserResponse, body []byte, http gorequest.Response, err error) *MoneyJkUserResult {
return &MoneyJkUserResult{Result: result, Body: body, Http: http, Err: err}
func newMoneyJkUserResult(result MoneyJkUserResponse, body []byte, http gorequest.Response) *MoneyJkUserResult {
return &MoneyJkUserResult{Result: result, Body: body, Http: http}
}
// MoneyJkUser 用户余额查询
func (c *Client) MoneyJkUser(ctx context.Context) *MoneyJkUserResult {
func (c *Client) MoneyJkUser(ctx context.Context) (*MoneyJkUserResult, error) {
// 签名
c.config.signStr = fmt.Sprintf("userid%vpwd%v", c.GetUserId(), c.GetPwd())
// 请求
request, err := c.request(ctx, apiUrl+"/money_jkuser.do", map[string]interface{}{}, http.MethodGet)
if err != nil {
return newMoneyJkUserResult(MoneyJkUserResponse{}, request.ResponseBody, request), err
}
// 定义
var response MoneyJkUserResponse
err = xml.Unmarshal(request.ResponseBody, &response)
return newMoneyJkUserResult(response, request.ResponseBody, request, err)
return newMoneyJkUserResult(response, request.ResponseBody, request), err
}

@ -26,16 +26,15 @@ type QueryJkOrdersResult struct {
Result QueryJkOrdersResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newQueryJkOrdersResult(result QueryJkOrdersResponse, body []byte, http gorequest.Response, err error) *QueryJkOrdersResult {
return &QueryJkOrdersResult{Result: result, Body: body, Http: http, Err: err}
func newQueryJkOrdersResult(result QueryJkOrdersResponse, body []byte, http gorequest.Response) *QueryJkOrdersResult {
return &QueryJkOrdersResult{Result: result, Body: body, Http: http}
}
// QueryJkOrders 通用查询接口
// orderid 用户提交的订单号 用户提交的订单号最长32位用户保证其唯一性
func (c *Client) QueryJkOrders(ctx context.Context, orderId string) *QueryJkOrdersResult {
// orderId 用户提交的订单号 用户提交的订单号最长32位用户保证其唯一性
func (c *Client) QueryJkOrders(ctx context.Context, orderId string) (*QueryJkOrdersResult, error) {
// 参数
param := gorequest.NewParams()
param.Set("orderid", orderId)
@ -44,8 +43,11 @@ func (c *Client) QueryJkOrders(ctx context.Context, orderId string) *QueryJkOrde
c.config.signStr = fmt.Sprintf("userid%vpwd%vorderid%v", c.GetUserId(), c.GetPwd(), orderId)
// 请求
request, err := c.request(ctx, apiUrl+"/query_jkorders.do", params, http.MethodGet)
if err != nil {
return newQueryJkOrdersResult(QueryJkOrdersResponse{}, request.ResponseBody, request), err
}
// 定义
var response QueryJkOrdersResponse
err = xml.Unmarshal(request.ResponseBody, &response)
return newQueryJkOrdersResult(response, request.ResponseBody, request, err)
return newQueryJkOrdersResult(response, request.ResponseBody, request), err
}

@ -17,21 +17,23 @@ type QueryTxProductResult struct {
Result QueryTxProductResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newQueryTxProductResult(result QueryTxProductResponse, body []byte, http gorequest.Response, err error) *QueryTxProductResult {
return &QueryTxProductResult{Result: result, Body: body, Http: http, Err: err}
func newQueryTxProductResult(result QueryTxProductResponse, body []byte, http gorequest.Response) *QueryTxProductResult {
return &QueryTxProductResult{Result: result, Body: body, Http: http}
}
// QueryTxProduct 可充值腾讯产品查询
func (c *Client) QueryTxProduct(ctx context.Context) *QueryTxProductResult {
func (c *Client) QueryTxProduct(ctx context.Context) (*QueryTxProductResult, error) {
// 签名
c.config.signStr = fmt.Sprintf("userid%vpwd%v", c.GetUserId(), c.GetPwd())
// 请求
request, err := c.request(ctx, apiUrl+"/queryTXproduct.do", map[string]interface{}{}, http.MethodGet)
if err != nil {
return newQueryTxProductResult(QueryTxProductResponse{}, request.ResponseBody, request), err
}
// 定义
var response QueryTxProductResponse
err = xml.Unmarshal(request.ResponseBody, &response)
return newQueryTxProductResult(response, request.ResponseBody, request, err)
return newQueryTxProductResult(response, request.ResponseBody, request), err
}

@ -35,23 +35,25 @@ type TxChOngZhiResult struct {
Result TxChOngZhiResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newTxChOngZhiResult(result TxChOngZhiResponse, body []byte, http gorequest.Response, err error) *TxChOngZhiResult {
return &TxChOngZhiResult{Result: result, Body: body, Http: http, Err: err}
func newTxChOngZhiResult(result TxChOngZhiResponse, body []byte, http gorequest.Response) *TxChOngZhiResult {
return &TxChOngZhiResult{Result: result, Body: body, Http: http}
}
// TxChOngZhi 流量充值接口
func (c *Client) TxChOngZhi(ctx context.Context, notMustParams ...gorequest.Params) *TxChOngZhiResult {
func (c *Client) TxChOngZhi(ctx context.Context, notMustParams ...gorequest.Params) (*TxChOngZhiResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 签名
c.config.signStr = fmt.Sprintf("userid%vpwd%vorderid%vaccount%vproductid%vamount%vip%vtimes%v", c.GetUserId(), c.GetPwd(), params["orderid"], params["account"], params["productid"], params["amount"], params["ip"], params["times"])
// 请求
request, err := c.request(ctx, apiUrl+"/txchongzhi.do", params, http.MethodGet)
if err != nil {
return newTxChOngZhiResult(TxChOngZhiResponse{}, request.ResponseBody, request), err
}
// 定义
var response TxChOngZhiResponse
err = xml.Unmarshal(request.ResponseBody, &response)
return newTxChOngZhiResult(response, request.ResponseBody, request, err)
return newTxChOngZhiResult(response, request.ResponseBody, request), err
}

Loading…
Cancel
Save