sms.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package api
  2. import (
  3. "box-cost/log"
  4. "encoding/json"
  5. "fmt"
  6. "sync"
  7. openapi "github.com/alibabacloud-go/darabonba-openapi/client"
  8. dysmsapi20170525 "github.com/alibabacloud-go/dysmsapi-20170525/v2/client"
  9. "github.com/alibabacloud-go/tea/tea"
  10. )
  11. func createSmsClient() (_result *dysmsapi20170525.Client, _err error) {
  12. accessKeyId := tea.String("LTAI4FmvA9HNunGVq6biNASf")
  13. accessKeySecret := tea.String("QNHsxlW0iESK15TpouJwoLQzRMSxgu")
  14. config := &openapi.Config{
  15. AccessKeyId: accessKeyId,
  16. AccessKeySecret: accessKeySecret,
  17. }
  18. config.Endpoint = tea.String("dysmsapi.aliyuncs.com")
  19. _result, _err = dysmsapi20170525.NewClient(config)
  20. return _result, _err
  21. }
  22. type SupplierSmsReq struct {
  23. Product string `json:"product"`
  24. SerialNumber string `json:"serialNumber"`
  25. }
  26. func SendSmsNotify(phone string, info *SupplierSmsReq, wg *sync.WaitGroup) error {
  27. defer wg.Done()
  28. // TODO dev
  29. // return errors.New("待配置短信模板")
  30. phone = "13408547823"
  31. client, _err := createSmsClient()
  32. if _err != nil {
  33. log.Error(_err)
  34. return _err
  35. }
  36. infobytes, _ := json.Marshal(info)
  37. sendSmsRequest := &dysmsapi20170525.SendSmsRequest{
  38. PhoneNumbers: tea.String(phone),
  39. SignName: tea.String("中鱼互动"),
  40. TemplateCode: tea.String("SMS_460545008"),
  41. TemplateParam: tea.String(string(infobytes)),
  42. }
  43. resp, err := client.SendSms(sendSmsRequest)
  44. if err != nil {
  45. log.Error(err)
  46. return err
  47. }
  48. if *resp.Body.Code == "OK" {
  49. return nil
  50. }
  51. return fmt.Errorf("code err %s", *resp.Body.Code)
  52. }
  53. func SendSmsNotify1(phone string, info *SupplierSmsReq) error {
  54. client, _err := createSmsClient()
  55. if _err != nil {
  56. log.Error(_err)
  57. return _err
  58. }
  59. infobytes, _ := json.Marshal(info)
  60. sendSmsRequest := &dysmsapi20170525.SendSmsRequest{
  61. PhoneNumbers: tea.String(phone),
  62. SignName: tea.String("中鱼互动"),
  63. TemplateCode: tea.String("SMS_460545008"),
  64. TemplateParam: tea.String(string(infobytes)),
  65. }
  66. resp, err := client.SendSms(sendSmsRequest)
  67. if err != nil {
  68. log.Error(err)
  69. return err
  70. }
  71. if *resp.Body.Code == "OK" {
  72. return nil
  73. }
  74. return fmt.Errorf("code err %s", *resp.Body.Code)
  75. }