123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 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
- }
|