aa
This commit is contained in:
@@ -2,13 +2,14 @@ package secretNumber
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/baseapi/utils/errlist"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/alibabacloud-go/dyplsapi-20170525/client"
|
||||
"github.com/alibabacloud-go/tea/tea"
|
||||
"strings"
|
||||
)
|
||||
|
||||
//查询线上可购号码余量
|
||||
@@ -20,11 +21,11 @@ func QuerySecretNoRemain(city string) (b bool, err error) {
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
if *result.Body.Code != "OK" {
|
||||
err = fmt.Errorf(*result.Body.Message)
|
||||
if tea.StringValue(result.Body.Code) != "OK" {
|
||||
err = fmt.Errorf(tea.StringValue(result.Body.Message))
|
||||
return false, err
|
||||
}
|
||||
if *result.Body.SecretRemainDTO.Amount > 0 {
|
||||
if tea.Int64Value(result.Body.SecretRemainDTO.Amount) > 0 {
|
||||
return true, nil
|
||||
}
|
||||
return false, err
|
||||
@@ -40,11 +41,11 @@ func BuySecretNo(ctx *jxcontext.Context, poolKey, city string) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if *result.Body.Code != "OK" {
|
||||
err = fmt.Errorf(*result.Body.Message)
|
||||
if tea.StringValue(result.Body.Code) != "OK" {
|
||||
err = fmt.Errorf(tea.StringValue(result.Body.Message))
|
||||
return err
|
||||
}
|
||||
if secretNo := *result.Body.SecretBuyInfoDTO.SecretNo; secretNo != "" {
|
||||
if secretNo := tea.StringValue(result.Body.SecretBuyInfoDTO.SecretNo); secretNo != "" {
|
||||
secretNumber := &model.SecretNumber{
|
||||
City: city,
|
||||
Number: secretNo,
|
||||
@@ -67,26 +68,128 @@ func BindAxb(ctx *jxcontext.Context, secretNumber, numberA, numberB, expiration
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if *result.Body.Code != "OK" {
|
||||
err = fmt.Errorf(*result.Body.Message)
|
||||
if tea.StringValue(result.Body.Code) != "OK" {
|
||||
err = fmt.Errorf(tea.StringValue(result.Body.Message))
|
||||
return err
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
//查询绑定唯一标识SubsId
|
||||
func QuerySubsId(poolKey, secretNumber string) (err error) {
|
||||
func QuerySubsId(poolKey, secretNumber string) (subIDs string, err error) {
|
||||
result, err := api.SecretNumClient.QuerySubsId(&client.QuerySubsIdRequest{
|
||||
PoolKey: tea.String(poolKey),
|
||||
PhoneNoX: tea.String(secretNumber),
|
||||
})
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if tea.StringValue(result.Body.Code) != "OK" {
|
||||
err = fmt.Errorf(tea.StringValue(result.Body.Message))
|
||||
return "", err
|
||||
}
|
||||
//多个绑定关系是返回的逗号间隔的
|
||||
if tea.StringValue(result.Body.SubsId) != "" {
|
||||
return *result.Body.SubsId, nil
|
||||
}
|
||||
return "", err
|
||||
}
|
||||
|
||||
type QuerySubscriptionDetailResult struct {
|
||||
Status int `json:"status"` //该绑定关系的状态。其中:0:已失效。1:生效中。
|
||||
NumberA string `json:"numberA"`
|
||||
NumberB string `json:"numberB"`
|
||||
NumberX string `json:"numberX"`
|
||||
GmtCreate string `json:"gmtCreate"` //绑定时间
|
||||
ExpireDate string `json:"expireDate"` //绑定过期时间
|
||||
SubsID string `json:"subsID"` //绑定ID
|
||||
PoolKey string `json:"poolKey"`
|
||||
}
|
||||
|
||||
//查询号码的绑定关系
|
||||
func QuerySubscriptionDetail(poolKey, phoneNoX string) (querySubscriptionDetailResult []*QuerySubscriptionDetailResult, err error) {
|
||||
subIDs, err := QuerySubsId(poolKey, phoneNoX)
|
||||
if err != nil {
|
||||
return querySubscriptionDetailResult, fmt.Errorf("查询号码绑定关系ID错误!err: %v", err)
|
||||
}
|
||||
errList := errlist.New()
|
||||
for _, v := range strings.Split(subIDs, ",") {
|
||||
result, err2 := api.SecretNumClient.QuerySubscriptionDetail(&client.QuerySubscriptionDetailRequest{
|
||||
PoolKey: tea.String(poolKey),
|
||||
SubsId: tea.String(v),
|
||||
PhoneNoX: tea.String(phoneNoX),
|
||||
})
|
||||
if err2 != nil {
|
||||
errList.AddErr(err2)
|
||||
continue
|
||||
}
|
||||
if tea.StringValue(result.Body.Code) != "OK" {
|
||||
errList.AddErr(fmt.Errorf(tea.StringValue(result.Body.Message)))
|
||||
continue
|
||||
}
|
||||
dto := result.Body.SecretBindDetailDTO
|
||||
r := &QuerySubscriptionDetailResult{
|
||||
Status: int(tea.Int64Value(dto.Status)),
|
||||
NumberA: tea.StringValue(dto.PhoneNoA),
|
||||
NumberB: tea.StringValue(dto.PhoneNoB),
|
||||
NumberX: tea.StringValue(dto.PhoneNoX),
|
||||
GmtCreate: tea.StringValue(dto.GmtCreate),
|
||||
ExpireDate: tea.StringValue(dto.ExpireDate),
|
||||
SubsID: v,
|
||||
PoolKey: poolKey,
|
||||
}
|
||||
querySubscriptionDetailResult = append(querySubscriptionDetailResult, r)
|
||||
}
|
||||
return querySubscriptionDetailResult, err
|
||||
}
|
||||
|
||||
//修改绑定关系
|
||||
//修改哪个字段就传哪个字段
|
||||
//updateNoA:修改A号码。
|
||||
//updateNoB:修改B号码。
|
||||
//updateExpire:修改绑定关系有效期。
|
||||
func UpdateSubscription(poolKey, subsId, phoneNoX, phoneNoA, phoneNoB, expiration string) (err error) {
|
||||
params := &client.UpdateSubscriptionRequest{
|
||||
PoolKey: tea.String(poolKey),
|
||||
SubsId: tea.String(subsId),
|
||||
PhoneNoX: tea.String(phoneNoX),
|
||||
}
|
||||
if phoneNoA != "" {
|
||||
params.OperateType = tea.String("updateNoA")
|
||||
params.PhoneNoA = tea.String(phoneNoA)
|
||||
}
|
||||
if phoneNoB != "" {
|
||||
params.OperateType = tea.String("updateNoB")
|
||||
params.PhoneNoB = tea.String(phoneNoB)
|
||||
}
|
||||
if expiration != "" {
|
||||
params.OperateType = tea.String("updateExpire")
|
||||
params.Expiration = tea.String(expiration)
|
||||
}
|
||||
result, err := api.SecretNumClient.UpdateSubscription(params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if *result.Body.Code != "OK" {
|
||||
err = fmt.Errorf(*result.Body.Message)
|
||||
if tea.StringValue(result.Body.Code) != "OK" {
|
||||
err = fmt.Errorf(tea.StringValue(result.Body.Message))
|
||||
return err
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
//解除号码的绑定关系
|
||||
func UnbindSubscription(poolKey, subsId, phoneNoX string) (err error) {
|
||||
result, err := api.SecretNumClient.UnbindSubscription(&client.UnbindSubscriptionRequest{
|
||||
PoolKey: tea.String(poolKey),
|
||||
SubsId: tea.String(subsId),
|
||||
SecretNo: tea.String(phoneNoX),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if tea.StringValue(result.Body.Code) != "OK" {
|
||||
err = fmt.Errorf(tea.StringValue(result.Body.Message))
|
||||
return err
|
||||
}
|
||||
fmt.Println(utils.Format4Output(result.Body, true))
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user