1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package yb_activity
- import (
- "errors"
- "hongze/hongze_yb/global"
- "hongze/hongze_yb/utils"
- "time"
- )
- type ActivityList struct {
- ActivityID int `json:"activityId"`
- ActivityName string `json:"activityName"`
- ActivityTypeName string `json:"activityTypeName"`
- StartTime time.Time `json:"startTime"`
- EndTime time.Time `json:"endTime"`
- Speaker string `json:"speaker"`
- HasRemind int `json:"hasRemind"`
- HasPlayBack int `json:"hasPlayBack"`
- Registered int `json:"registered"`
- }
- type ActivityDetail struct {
-
- }
- // GetPageListByWhereMap 分页获取列表-关联录音、提醒和报名信息
- func GetPageListByWhereMap(where map[string]interface{}, page, limit int, order string, userId int) (activities []*ActivityList, err error) {
- condition, values, buildErr := utils.WhereBuild(where)
- if buildErr != nil {
- err = errors.New("系统异常,生成查询语句失败")
- return
- }
- fields := []string{
- "a.activity_id", "a.activity_name", "a.activity_type_name", "a.start_time", "a.end_time", "a.speaker",
- "b.activity_voice_id AS has_play_back", "c.id AS has_remind", "d.id AS registered",
- }
- queryOrder := "start_time asc"
- if order != "" {
- queryOrder = order
- }
- err = global.DEFAULT_MYSQL.Table("yb_activity AS a").
- Select(fields).
- Joins("LEFT JOIN yb_activity_voice AS b ON a.activity_id = b.activity_id").
- Joins("LEFT JOIN yb_activity_remind AS c ON a.activity_id = c.activity_id AND c.user_id = ?", userId).
- Joins("LEFT JOIN yb_activity_register AS d ON a.activity_id = d.activity_id AND d.user_id = ?", userId).
- Where(condition, values...).
- Order(queryOrder).
- Group("activity_id").
- Limit(limit).Offset((page - 1) * limit).
- Scan(&activities).Error
- return
- }
- // GetOneById 根据主键获取活动
- func GetOneById(activityId int) (activity *YbActivity, err error) {
- err = global.DEFAULT_MYSQL.Where("activity_id = ?", activityId).First(&activity).Error
- return
- }
- func GetDetailById() {
-
- }
|