message.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package http
  2. import "errors"
  3. type MessageResp struct {
  4. Rows int `json:"rows"`
  5. }
  6. type MessageReq struct {
  7. MsgTypeID int `json:"msg_type_id"`
  8. Miniprogram Miniprogram `json:"miniprogram"`
  9. Target []string `json:"target"`
  10. Keys []string `json:"keys"`
  11. Content []Tag `json:"content"`
  12. }
  13. type Miniprogram struct {
  14. AppID string `json:"appid"`
  15. PagePath string `json:"pagepath"`
  16. }
  17. type Tag struct {
  18. Value string `json:"value"`
  19. Color string `json:"color"`
  20. }
  21. type MessageTypeReq struct {
  22. SysName string `form:"sys_name" json:"sys_name" gorm:"sys_name"`
  23. ID int `form:"id" json:"id" gorm:"id"`
  24. PastureID int `form:"pasture_id" json:"pasture_id" gorm:"pasture_id"`
  25. TypeName string `form:"type_name" json:"type_name" gorm:"type_name"`
  26. RemindTypeID int `form:"remind_type_id" json:"remind_type_id" gorm:"remind_type_id"`
  27. RemindType string `form:"remind_type" json:"remind_type" gorm:"remind_type"`
  28. PushDate string `form:"push_date" json:"push_date" gorm:"push_date"`
  29. PushTime string `form:"push_time" json:"push_time" gorm:"push_time"`
  30. IntervalTime int `form:"interval_time" json:"interval_time" gorm:"interval_time"`
  31. PushLimit int `form:"push_limit" json:"push_limit" gorm:"push_limit"`
  32. TemplateID string `form:"template_id" json:"template_id" gorm:"template_id"`
  33. RolesID string `form:"roles_id" json:"roles_id" gorm:"roles_id"`
  34. UsersID string `form:"users_id" json:"users_id" gorm:"users_id"`
  35. }
  36. func (m MessageTypeReq) Validate() error {
  37. if m.SysName == "" || m.PastureID == 0 {
  38. return errors.New("sys_name or pasture_id is required")
  39. }
  40. return nil
  41. }
  42. func (p MessageReq) Validate() error {
  43. return nil
  44. }