sms.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package controllers
  2. import (
  3. "hongze/hongze_robot/cache"
  4. "hongze/hongze_robot/models"
  5. "hongze/hongze_robot/services"
  6. "hongze/hongze_robot/utils"
  7. "strconv"
  8. "strings"
  9. "time"
  10. )
  11. //短信管理
  12. type SmsController struct {
  13. BaseCommonController
  14. }
  15. // @Title 短信转发接口
  16. // @Description 短信转发接口
  17. // @Param request body company.CompanyApplyApproveReq true "type json string"
  18. // @Success Ret=200 转发成功
  19. // @router /send [post]
  20. func (this *SmsController) SmsSend() {
  21. br := new(models.BaseResponse).Init()
  22. var err error
  23. defer func() {
  24. if err != nil {
  25. utils.FileLog.Info("send msg err: %s", err.Error())
  26. }
  27. this.Data["json"] = br
  28. this.ServeJSON()
  29. }()
  30. sign := this.GetString("Sign")
  31. address := this.GetString("Address")
  32. body := this.GetString("Body")
  33. name := this.GetString("Name")
  34. date := this.GetString("Date")
  35. utils.FileLog.Info("send msg: %s; %s; %s; %s; %s", sign, address, body, name, date)
  36. count, err := models.GetSmsRecordCount(address, date)
  37. if err != nil && err.Error() != utils.ErrNoRow() {
  38. br.Msg = "失败,请联系技术"
  39. br.ErrMsg = "失败;Err:" + err.Error()
  40. return
  41. }
  42. item, err := cache.GetSmsConfigByCache("mobile")
  43. if err != nil {
  44. br.Msg = "失败,请联系技术"
  45. br.ErrMsg = "获取配置信息失败;Err:" + err.Error()
  46. return
  47. }
  48. if item.ConfigValue == "" {
  49. br.Msg = "失败,请联系技术"
  50. br.ErrMsg = "配置信息为空"
  51. return
  52. }
  53. isAdd := false
  54. //判断记录是否存在
  55. if count <= 0 && strings.Contains(item.ConfigValue, address) {
  56. var tm time.Time
  57. if date != "" {
  58. smsDateInt64, _ := strconv.ParseInt(date, 10, 64)
  59. tm = time.Unix(smsDateInt64/1e3, 0)
  60. }
  61. record := new(models.SmsRecord)
  62. record.CreateTime = time.Now()
  63. record.ModifyTime = time.Now()
  64. record.IsSend = 0
  65. record.SmsDateTime = tm
  66. record.Mobile = address
  67. record.SmsDate = date
  68. record.Body = body
  69. _, err = models.AddSmsRecord(record)
  70. if err != nil {
  71. br.Msg = "失败,请联系技术"
  72. br.ErrMsg = "新增记录失败;Err:" + err.Error()
  73. return
  74. }
  75. isAdd = true
  76. }
  77. if isAdd {
  78. go services.SendSms()
  79. }
  80. br.Ret = 200
  81. br.Success = true
  82. br.Msg = "发送成功"
  83. }
  84. //func init() {
  85. // fmt.Println("start")
  86. // smsDate:=`1620290685894`
  87. // int64, err := strconv.ParseInt(smsDate, 10, 64)
  88. // fmt.Println(err)
  89. // tm:=time.Unix(int64/1e3,0)
  90. // fmt.Println(tm)
  91. // fmt.Println(tm.Format(utils.FormatDateTime))
  92. // fmt.Println("end")
  93. //}