sms_models.go 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package models
  2. type SMSTemplate struct {
  3. ID int64 `gorm:"column:id"`
  4. TemplateType int8 `gorm:"column:template_type"` // 模板类型 1.默认模板 2.自定义模板
  5. TemplateID int64 `gorm:"column:template_id"` // 短信平台上的模板 id
  6. MessageType int8 `gorm:"column:message_type"` // 短信类型 1.通知短信 2.服务短信
  7. Content string // 模板内容
  8. // ParamTypes string `gorm:"column:param_types"` // 字段因业务没有采用默认模板的方式而弃用了!!!! 模板内容里的参数类型:1,2,3 。参数类型以逗号隔开,位置代表了参数‘{n+1}’,类型暂时有:1.用户名 2.商家简称 3.链接 4.商品名称 5.活动名称 6.验证码。(自定义模板是没有值的,因为它没有参数)
  9. Autograph string // 短信签名
  10. OrgID int64 `gorm:"column:org_id"` // 模板所属机构(自定义模板才有值)
  11. Status int8 // 模板状态 0.无效 1.有效 2.审核中
  12. CreateTime int64 `gorm:"column:ctime"` // 创建时间
  13. ModifyTime int64 `gorm:"column:mtime"` // 修改时间
  14. }
  15. func (SMSTemplate) TableName() string {
  16. return "sgj_patient_sms_template"
  17. }
  18. type UserSMSFreeLimit struct {
  19. ID int64 `gorm:"column:id"`
  20. OrgID int64 `gorm:"column:org_id"` // 机构 ID
  21. TotalCount int `gorm:"column:total_count"` // 免费额度,单位:条,下同
  22. UsedCount int `gorm:"column:used_count"` // 已用额度
  23. ValidMonth string `gorm:"column:valid_month"` // 生效月份,格式:201804
  24. Status int8 // 状态 0.无效 1.有效
  25. CreateTime int64 `gorm:"column:ctime"` // 创建时间
  26. ModifyTime int64 `gorm:"column:mtime"` // 修改时间
  27. }
  28. func (UserSMSFreeLimit) TableName() string {
  29. return "sgj_patient_user_sms_free_limit"
  30. }
  31. type SMSBatch struct {
  32. ID int64 `gorm:"column:id"`
  33. OrgID int64 `gorm:"column:org_id"` // 机构 ID
  34. TemplateID int64 `gorm:"column:sms_template_id"` // 对应短信平台上的模板 ID
  35. Autograph string // 短信签名
  36. Params string // 模板参数,以“,”隔开
  37. FullContent string `gorm:"column:full_content"` // 完整短信内容
  38. Mobiles string // 接收手机号,以“,”隔开
  39. SendTime int64 `gorm:"column:send_time"` // 发送时间
  40. Status int8 // 状态: 1.待审核 2.审核未通过 3.未发送 4.已发送 5.发送失败
  41. CreateTime int64 `gorm:"column:ctime"` // 创建时间
  42. ModifyTime int64 `gorm:"column:mtime"` // 修改时间
  43. }
  44. func (SMSBatch) TableName() string {
  45. return "sgj_patient_sms_batch"
  46. }
  47. type SMSSendStatus struct {
  48. ID int64 `gorm:"column:id"`
  49. BatchID int64 `gorm:"batch_id"` // 批次 ID,对应 SMSBatch.ID
  50. Mobile string // 接收手机号
  51. Status int8 // 发送结果状态: 0.失败 1.成功
  52. Code string // 短信平台返回的错误码
  53. Msg string // 短信平台返回的错误信息
  54. CreateTime int64 `gorm:"column:ctime"` // 创建时间
  55. ModifyTime int64 `gorm:"column:mtime"` // 修改时间
  56. }
  57. func (SMSSendStatus) TableName() string {
  58. return "sgj_patient_sms_send_status"
  59. }
  60. // 1.待审核 2.审核未通过 3.未发送 4.已发送 5.发送失败
  61. const (
  62. SMSBatchStatusInReview = int8(1)
  63. SMSBatchStatusUnapproved = int8(2)
  64. SMSBatchStatusUnsend = int8(3)
  65. SMSBatchStatusDidSend = int8(4)
  66. SMSBatchStatusSendFailed = int8(5)
  67. SMSBatchStatusSending = int8(6)
  68. )