sms.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package sms
  2. import (
  3. "errors"
  4. "time"
  5. "zhiyuan/models"
  6. "zhiyuan/pkg/config"
  7. "zhiyuan/pkg/db"
  8. "zhiyuan/pkg/sms"
  9. "zhiyuan/pkg/utils"
  10. )
  11. var Sms models.Sms
  12. func CheckVerifyCode(phone string, code string) bool {
  13. if config.Cfg.Server.RunMode == "debug" && phone == "18007097771" {
  14. return true
  15. }
  16. res, err := Sms.GetOne(map[string]interface{}{"phone": phone, "template_param": code, "type": 1, "state": 1, "_orderby": "id desc"}, nil)
  17. expireTime := utils.ToInt(time.Now().Unix()) - 100
  18. if err != nil || res == nil || res.CreatedAt < expireTime {
  19. return false
  20. }
  21. db.Update(Sms.TableName(), map[string]interface{}{"id": res.ID}, map[string]interface{}{"state": 2})
  22. return true
  23. }
  24. func SendVerifyCode(phone string) error {
  25. code := string(utils.RandomCreateBytes(6, utils.RAND_KIND_NUM))
  26. signName := "志远装饰"
  27. templateCode := "2479583"
  28. if utils.CheckMobile(phone) == false {
  29. return errors.New("请输入正确的手机号")
  30. }
  31. if err := sms.SendSms([]string{"+86" + phone}, signName, templateCode, []string{code}); err != nil {
  32. return errors.New("短信发送失败")
  33. }
  34. smsMap := map[string]interface{}{
  35. "phone": phone,
  36. "template_code": templateCode,
  37. "template_param": code,
  38. "sign_name": signName,
  39. }
  40. db.InsertOne(Sms.TableName(), smsMap)
  41. return nil
  42. }
  43. func SendAftersaleOrderAllot(phone string) error {
  44. signName := "志远装饰"
  45. templateCode := "1743109"
  46. if err := sms.SendSms([]string{"+86" + phone}, signName, templateCode, []string{}); err != nil {
  47. return errors.New("短信发送失败")
  48. }
  49. smsMap := map[string]interface{}{
  50. "phone": phone,
  51. "template_code": templateCode,
  52. "template_param": "",
  53. "sign_name": signName,
  54. "type": 2,
  55. }
  56. db.InsertOne(Sms.TableName(), smsMap)
  57. return nil
  58. }