You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.0 KiB
55 lines
2.0 KiB
package dao |
|
|
|
import ( |
|
"context" |
|
|
|
"go-common/app/interface/main/growup/model" |
|
"go-common/library/log" |
|
// "go-common/library/database/sql" |
|
) |
|
|
|
const ( |
|
_activitySQL = "SELECT id,name,signed_start,signed_end,sign_up_start,sign_up_end,sign_up,win_type,progress_start,progress_end,progress_sync,update_page,bonus_query,bonus_query_start,bonus_query_end,background,win_desc,unwin_desc,details FROM creative_activity WHERE id = ?" |
|
_upActivitySQL = "SELECT mid,nickname,ranking,state FROM up_activity WHERE activity_id = ? AND is_deleted = 0" |
|
|
|
_inUpActivitySQL = "INSERT INTO up_activity(mid,nickname,activity_id,state,sign_up_time) VALUES(?,?,?,?,?)" |
|
) |
|
|
|
// GetActivity get activity by query |
|
func (d *Dao) GetActivity(c context.Context, id int64) (ac *model.CActivity, err error) { |
|
ac = &model.CActivity{} |
|
err = d.db.QueryRow(c, _activitySQL, id).Scan(&ac.ID, &ac.Name, &ac.SignedStart, &ac.SignedEnd, &ac.SignUpStart, &ac.SignUpEnd, &ac.SignUp, &ac.WinType, &ac.ProgressStart, &ac.ProgressEnd, &ac.ProgressSync, &ac.UpdatePage, &ac.BonusQuery, &ac.BonusQueryStart, &ac.BonusQueryEnd, &ac.Background, &ac.WinDesc, &ac.UnwinDesc, &ac.Details) |
|
return |
|
} |
|
|
|
// ListUpActivity get up from up_activity |
|
func (d *Dao) ListUpActivity(c context.Context, id int64) (ups []*model.UpBonus, err error) { |
|
ups = make([]*model.UpBonus, 0) |
|
rows, err := d.db.Query(c, _upActivitySQL, id) |
|
if err != nil { |
|
log.Error("ListUpActivity d.db.Query error(%v)", err) |
|
return |
|
} |
|
defer rows.Close() |
|
for rows.Next() { |
|
up := &model.UpBonus{} |
|
err = rows.Scan(&up.MID, &up.Nickname, &up.Rank, &up.State) |
|
if err != nil { |
|
log.Error("ListUpActivity rows.Scan error(%v)", err) |
|
return |
|
} |
|
ups = append(ups, up) |
|
} |
|
err = rows.Err() |
|
return |
|
} |
|
|
|
// SignUpActivity up sign up activity |
|
func (d *Dao) SignUpActivity(c context.Context, up *model.UpBonus) (rows int64, err error) { |
|
res, err := d.db.Exec(c, _inUpActivitySQL, up.MID, up.Nickname, up.ActivityID, up.State, up.SignUpTime) |
|
if err != nil { |
|
log.Error("SignUpActivity.Exec(%s) error(%v)", _inUpActivitySQL, err) |
|
return |
|
} |
|
return res.RowsAffected() |
|
}
|
|
|