fix(notify): aliyunSmsdriver

This commit is contained in:
mhf
2023-03-13 15:31:46 +08:00
parent 59a2a01b95
commit 696db9307a
5 changed files with 31 additions and 16 deletions

View File

@@ -141,18 +141,30 @@ type SSendParams struct {
}
type SendParams struct {
Title string
Message string
Priority string
RemoteTemplate string
Topic string
Event string
Receivers SNotifyReceiver
EmailMsg *SEmailMessage
DomainId string
Title string
Message string
Priority string
RemoteTemplate string
Topic string
Event string
Receivers SNotifyReceiver
EmailMsg *SEmailMessage
DomainId string
RemoteTemplateParam SRemoteTemplateParam
}
type SRemoteTemplateParam struct {
Code string `json:"code"`
Domain string `json:"domain"`
User string `json:"user"`
Type string `json:"type"`
AlertName string `json:"alert_name"`
}
type SSMSSendParams struct {
RemoteTemplate string
RemoteTemplateParam SRemoteTemplateParam
AppKey string
AppSecret string
From string

View File

@@ -15,8 +15,6 @@
package sender
import (
"strings"
"yunion.io/x/cloudmux/pkg/cloudprovider"
"yunion.io/x/pkg/errors"
@@ -35,10 +33,10 @@ func (smsSender *SMobileSender) GetSenderType() string {
func (smsSender *SMobileSender) Send(args api.SendParams) error {
smsSendParams := api.SSMSSendParams{
TemplateId: strings.Split(args.RemoteTemplate, "/")[1],
TemplateParas: args.Message,
To: args.Receivers.Contact,
From: strings.Split(args.RemoteTemplate, "/")[0],
TemplateParas: args.Message,
To: args.Receivers.Contact,
RemoteTemplate: args.RemoteTemplate,
RemoteTemplateParam: args.RemoteTemplateParam,
}
smsdriver := models.GetSMSDriver(models.ConfigMap[api.MOBILE].Content.SmsDriver)
return smsdriver.Send(smsSendParams, false, &api.NotifyConfig{

View File

@@ -23,6 +23,7 @@ import (
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/errors"
api "yunion.io/x/onecloud/pkg/apis/notify"
@@ -55,6 +56,7 @@ func (d *SAliyunSMSDriver) Send(args api.SSMSSendParams, isVerify bool, config *
args.AppSecret = models.ConfigMap[api.MOBILE].Content.AccessKeySecret
args.Signature = models.ConfigMap[api.MOBILE].Content.Signature
}
args.TemplateId = args.RemoteTemplate
return d.sendSms(args)
}
@@ -84,7 +86,7 @@ func (d *SAliyunSMSDriver) sendSms(args api.SSMSSendParams) error {
request.QueryParams["SignName"] = args.Signature
request.QueryParams["TemplateCode"] = args.TemplateId
request.QueryParams["TemplateParam"] = args.TemplateParas
request.QueryParams["TemplateParam"] = jsonutils.Marshal(args.RemoteTemplateParam).String()
return d.checkResponseAndError(client.ProcessCommonRequest(request))
}

View File

@@ -63,6 +63,8 @@ func (d *SHuaweiSMSDriver) Send(args api.SSMSSendParams, isVerify bool, config *
args.Signature = models.ConfigMap[api.MOBILE].Content.Signature
}
args.TemplateId = strings.Split(args.RemoteTemplate, "/")[1]
args.From = strings.Split(args.RemoteTemplate, "/")[0]
return d.sendSms(args)
}

View File

@@ -106,6 +106,7 @@ func (self *VerificationSendTask) OnInit(ctx context.Context, obj db.IStandalone
self.taskFailed(ctx, receiver, err.Error())
return
}
param.RemoteTemplateParam = api.SRemoteTemplateParam{Code: verification.Token}
param.Receivers = notifyReceiver
param.EmailMsg = emailMsg
driver := models.GetDriver(contactType)