query.go 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package yb_activity
  2. import (
  3. "hongze/hongze_yb/global"
  4. "time"
  5. )
  6. type ActivityItem struct {
  7. ActivityID int `json:"activityId"`
  8. FirstActivityTypeID int `json:"firstActivityTypeId"` // 第一级的活动类型ID
  9. FirstActivityTypeName string `json:"firstActivityTypeName"` // 第一级的活动类型名称
  10. ActivityName string `json:"activityName"` // 活动名称
  11. ActivityTypeID int `json:"activityTypeId"` // 活动类型ID
  12. ActivityTypeName string `json:"activityTypeName"` // 活动类型名称
  13. StartTime time.Time `json:"startTime"` // 活动开始时间
  14. EndTime time.Time `json:"endTime"` // 活动结束时间
  15. Speaker string `json:"speaker"` // 主讲人
  16. SpeakerHeadPic string `json:"speakerHeadPic"` // 主讲人头像
  17. SpeakerBackgroundPic string `json:"speakerBackgroundPic"` // 主讲人背景图
  18. City string `json:"city"` // 城市
  19. WeekString string `json:"weekString"` // 周几
  20. HasRemind int `json:"hasRemind"` // 是否已提醒
  21. HasPlayBack int `json:"hasPlayBack"` // 是否有回放
  22. RegisterState int `json:"registerState"` // 报名状态 0-取消报名 1-已报名
  23. ActivityState int `json:"activityState"` // 活动状态 1-本周预告 2-进行中 3-已结束
  24. }
  25. type ActivityDetail struct {
  26. ActivityItem
  27. MainlandTel string `json:"mainlandTel"` // 大陆拨入
  28. HongKongTel string `json:"hongKongTel"` // 香港拨入
  29. TaiwanTel string `json:"taiwanTel"` // 台湾拨入
  30. AmericaTel string `json:"americaTel"` // 美国拨入
  31. SingaporeTel string `json:"singaporeTel"` // 新加坡拨入
  32. ParticipationCode string `json:"participationCode"` // 参会密码
  33. LinkParticipants string `json:"linkParticipants"` // 参会链接
  34. IsLimitPeople int8 `json:"isLimitPeople"` // 是否限制人数 1是,0否
  35. LimitPeopleNum int `json:"limitPeopleNum"` // 限制人数数量
  36. ReportLink string `json:"reportLink"` // 报告链接
  37. ReportName string `json:"reportName"` // 报告名称
  38. Address string `json:"address"` // 活动地址
  39. RegisteredNum int `json:"registeredNum"` // 已报名人数
  40. }
  41. // GetPageListByWhere 分页获取活动列表
  42. func GetPageListByWhere(condition string, pars []interface{}, page, limit int, order string, userId int) (activities []ActivityItem, err error) {
  43. fields := []string{
  44. "activity_id", "activity_name", "activity_type_id", "activity_type_name", "start_time", "end_time", "speaker",
  45. "city", "speaker_head_pic", "speaker_background_pic", "first_activity_type_id", "first_activity_type_name",
  46. }
  47. queryOrder := "start_time asc"
  48. if order != "" {
  49. queryOrder = order
  50. }
  51. err = global.DEFAULT_MYSQL.Model(YbActivity{}).Select(fields).Where(condition, pars...).Order(queryOrder).Limit(limit).Offset((page - 1) * limit).Scan(&activities).Error
  52. return
  53. }
  54. // GetDetailById 根据主键获取详情
  55. func GetDetailById(activityId int) (activity *ActivityDetail, err error) {
  56. fields := []string{
  57. "activity_id", "activity_name", "activity_type_id", "activity_type_name", "start_time", "end_time", "speaker", "city", "speaker_head_pic", "speaker_background_pic",
  58. "mainland_tel", "hong_kong_tel", "taiwan_tel", "america_tel", "singapore_tel", "participation_code",
  59. "link_participants", "is_limit_people", "limit_people_num", "report_link", "report_name", "address", "first_activity_type_id", "first_activity_type_name",
  60. }
  61. err = global.DEFAULT_MYSQL.Model(YbActivity{}).Select(fields).Where("activity_id", activityId).Scan(&activity).Error
  62. return
  63. }
  64. // GetOneById 根据主键获取活动
  65. func GetOneById(activityId int) (activity *YbActivity, err error) {
  66. err = global.DEFAULT_MYSQL.Where("activity_id = ?", activityId).First(&activity).Error
  67. return
  68. }