package award import ( "app.yhyue.com/moapp/jybase/common" "app.yhyue.com/moapp/message/config" "app.yhyue.com/moapp/message/db" ) type AwardRecord struct { UserId string `json:"userId"` //用户 Award string `json:"award"` //奖品 subvip(超级订阅,单位天)、points(积分,单位个) Num int `json:"num"` //数量 GetWay string `json:"getWay"` //获取方式 ActivityCode string `json:"activity_code"` //活动 Detail string `json:"detail"` //详情 Date int64 `json:"date"` //领取时间 } //AddAwardRecord 增加领取记录 func AddAwardRecord(record AwardRecord) { db.Mgo.Save("activity_award", map[string]interface{}{ "activity_code": record.ActivityCode, "detail": record.Detail, "userid": record.UserId, "award": record.Award, "num": record.Num, "getway": record.GetWay, "date": record.Date, }) } // GetActivityAwardDesc 查询奖励详情 // times 奖励次数 // total 总量 func GetActivityAwardDesc(userId, activityCode, award string) (times, total int64) { q := map[string]interface{}{} q["userid"] = userId q["activity_code"] = activityCode q["award"] = award data, _ := db.Mgo.Find("activity_award", q, "", `{"num":1}`, false, -1, -1) times = int64(len(*data)) for _, v := range *data { total += common.Int64All(v["num"]) } return times, total } func GetActivityAwardList(userId, activityCode, award string, pageSize, pageNum int) (res []map[string]interface{}, total int, hasNext bool) { q := map[string]interface{}{} q["userid"] = userId q["activity_code"] = activityCode if award != "" { q["award"] = award } data, _ := db.Mgo.Find("activity_award", q, `{"date":-1}`, "", false, pageNum*pageSize, pageSize) total = db.Mgo.Count("activity_award", q) if pageSize != -1 { hasNext = (pageNum+1)*pageSize < total } else { hasNext = false } for _, v := range *data { if v["award"] == "subvip" { v["award"] = common.InterfaceToStr(v["num"]) + config.PushConfig.Subvip } else if v["award"] == "points" { v["award"] = common.InterfaceToStr(v["num"]) + config.PushConfig.Points } else if v["award"] == "lottery-fullReduce" { v["award"] = common.InterfaceToStr(v["num"]) + config.PushConfig.FullReduce } } return *data, total, hasNext }