活动领取奖励数据校验
This commit is contained in:
parent
ed86c3b6ed
commit
a065967370
@ -1,7 +1,6 @@
|
|||||||
package activity
|
package activity
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
"go_dreamfactory/sys/configure"
|
"go_dreamfactory/sys/configure"
|
||||||
@ -28,8 +27,8 @@ func (this *apiComp) GetHdData(session comm.IUserSession, req *pb.ActivityGetHdD
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
key := fmt.Sprintf("%s:%s", session.GetUserId(), id)
|
//key := fmt.Sprintf("%s-%s", session.GetUserId(), id)
|
||||||
list, _ := this.module.modelhdData.getHddataByOid(session.GetUserId(), key)
|
list, _ := this.module.modelhdData.getHddataByOid(session.GetUserId(), id)
|
||||||
if activity.Itype == comm.HdTypeSign && !utils.IsToday(list.Lasttime) {
|
if activity.Itype == comm.HdTypeSign && !utils.IsToday(list.Lasttime) {
|
||||||
list.Lasttime = curTime
|
list.Lasttime = curTime
|
||||||
list.Val += 1
|
list.Val += 1
|
||||||
@ -55,8 +54,8 @@ func (this *apiComp) GetHdData(session comm.IUserSession, req *pb.ActivityGetHdD
|
|||||||
|
|
||||||
// 获取开服庆典活动
|
// 获取开服庆典活动
|
||||||
if activity.Itype == comm.HdCelebration {
|
if activity.Itype == comm.HdCelebration {
|
||||||
key := fmt.Sprintf("%s:%s", session.GetUserId(), id)
|
// key := fmt.Sprintf("%s-%s", session.GetUserId(), id)
|
||||||
if data, err := this.module.modelhdData.getHddataByOid(session.GetUserId(), key); err != nil {
|
if data, err := this.module.modelhdData.getHddataByOid(session.GetUserId(), id); err != nil {
|
||||||
// 注意 Gotarr:map[int32]int32 key value 已经挑战的次数
|
// 注意 Gotarr:map[int32]int32 key value 已经挑战的次数
|
||||||
if !utils.IsToday(data.Lasttime) { // 不是今天重置
|
if !utils.IsToday(data.Lasttime) { // 不是今天重置
|
||||||
data.Lasttime = configure.Now().Unix()
|
data.Lasttime = configure.Now().Unix()
|
||||||
|
@ -24,14 +24,20 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.ActivityGetRew
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
var (
|
var (
|
||||||
activity *pb.DBHuodong // 活动数据
|
activity *pb.DBHuodong // 活动详细信息
|
||||||
err error
|
err error
|
||||||
reward []*cfg.Gameatn
|
reward []*cfg.Gameatn
|
||||||
atno []*pb.UserAtno
|
atno []*pb.UserAtno
|
||||||
)
|
)
|
||||||
key := fmt.Sprintf("%s:%s", session.GetUserId(), req.Oid)
|
//key := fmt.Sprintf("%s-%s", session.GetUserId(), req.Oid)
|
||||||
data, err := this.module.modelhdData.getHddataByOid(session.GetUserId(), key)
|
data, err := this.module.modelhdData.getHddataByOid(session.GetUserId(), req.Oid)
|
||||||
if err == nil {
|
if err != nil {
|
||||||
|
errdata = &pb.ErrorData{
|
||||||
|
Code: pb.ErrorCode_DBError,
|
||||||
|
Title: pb.ErrorCode_DBError.ToString(),
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
if activity, err = this.module.modelhdList.getHdListByHdId(req.Oid); err == nil {
|
if activity, err = this.module.modelhdList.getHdListByHdId(req.Oid); err == nil {
|
||||||
curTime := configure.Now().Unix()
|
curTime := configure.Now().Unix()
|
||||||
if activity.Stime > curTime || curTime > activity.Etime { //不在活动时间范围内
|
if activity.Stime > curTime || curTime > activity.Etime { //不在活动时间范围内
|
||||||
@ -43,11 +49,13 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.ActivityGetRew
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
errdata = &pb.ErrorData{
|
errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_ActivityInvalid,
|
Code: pb.ErrorCode_ActivityInvalid, // 找不到活动数据
|
||||||
Title: pb.ErrorCode_ActivityInvalid.ToString(),
|
Title: pb.ErrorCode_ActivityInvalid.ToString(),
|
||||||
|
Message: fmt.Sprintf("not found activity oid:%s", req.Oid),
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if data.Val < req.Val { //没达到领奖条件
|
if data.Val < req.Val { //没达到领奖条件
|
||||||
errdata = &pb.ErrorData{
|
errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_ActivityCantReward,
|
Code: pb.ErrorCode_ActivityCantReward,
|
||||||
@ -64,26 +72,20 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.ActivityGetRew
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
errdata = &pb.ErrorData{
|
for range activity.Data.Prize {
|
||||||
Code: pb.ErrorCode_DBError,
|
if len(activity.Data.Prize) > int(req.Val) {
|
||||||
Title: pb.ErrorCode_DBError.ToString(),
|
for _, v2 := range activity.Data.Prize[req.Val].Prize {
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// 发奖
|
|
||||||
for _, v := range activity.Data.Prize {
|
|
||||||
if v.Val == req.Val {
|
|
||||||
for _, v1 := range v.Prize {
|
|
||||||
reward = append(reward, &cfg.Gameatn{
|
reward = append(reward, &cfg.Gameatn{
|
||||||
A: v1.A,
|
A: v2.A,
|
||||||
T: v1.T,
|
T: v2.T,
|
||||||
N: v1.N,
|
N: v2.N,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if errdata, atno = this.module.DispenseAtno(session, reward, true); errdata != nil {
|
if errdata, atno = this.module.DispenseAtno(session, reward, true); errdata != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
data.Gotarr[req.Val] = 1
|
data.Gotarr[req.Val] = 1
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package activity
|
package activity
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
"go_dreamfactory/sys/configure"
|
"go_dreamfactory/sys/configure"
|
||||||
@ -30,8 +29,8 @@ func (this *apiComp) TurntableReward(session comm.IUserSession, req *pb.Activity
|
|||||||
atno []*pb.UserAtno
|
atno []*pb.UserAtno
|
||||||
reward []int32
|
reward []int32
|
||||||
)
|
)
|
||||||
key := fmt.Sprintf("%s:%s", session.GetUserId(), req.Oid)
|
//key := fmt.Sprintf("%s-%s", session.GetUserId(), req.Oid)
|
||||||
data, err := this.module.modelhdData.getHddataByOid(session.GetUserId(), key)
|
data, err := this.module.modelhdData.getHddataByOid(session.GetUserId(), req.Oid)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if activity, err = this.module.modelhdList.getHdListByHdId(req.Oid); err == nil {
|
if activity, err = this.module.modelhdList.getHdListByHdId(req.Oid); err == nil {
|
||||||
curTime := configure.Now().Unix()
|
curTime := configure.Now().Unix()
|
||||||
|
@ -51,8 +51,9 @@ func (this *modelhdData) getHddataByOid(uid string, oid string) (result *pb.DBAc
|
|||||||
Lasttime: 0,
|
Lasttime: 0,
|
||||||
Val: 0,
|
Val: 0,
|
||||||
}
|
}
|
||||||
if err = this.GetListObj(uid, oid, &result); err == mongo.ErrNoDocuments {
|
key := fmt.Sprintf("%s-%s", uid, oid)
|
||||||
result.Id = fmt.Sprintf("%s:%s", uid, oid)
|
if err = this.GetListObj(uid, key, result); err == mongo.ErrNoDocuments {
|
||||||
|
result.Id = key
|
||||||
result.Uid = uid
|
result.Uid = uid
|
||||||
result.Hdoid = oid
|
result.Hdoid = oid
|
||||||
result.Lasttime = configure.Now().Unix()
|
result.Lasttime = configure.Now().Unix()
|
||||||
|
@ -217,8 +217,8 @@ func (this *Activity) HDCelebration(session comm.IUserSession, systemtype int32,
|
|||||||
update := make(map[string]interface{})
|
update := make(map[string]interface{})
|
||||||
bChange := false
|
bChange := false
|
||||||
// 查询玩家活动记录
|
// 查询玩家活动记录
|
||||||
key := fmt.Sprintf("%s:%s", session.GetUserId(), v.Id)
|
//key := fmt.Sprintf("%s-%s", session.GetUserId(), v.Id)
|
||||||
if data, err := this.modelhdData.getHddataByOid(session.GetUserId(), key); err != nil {
|
if data, err := this.modelhdData.getHddataByOid(session.GetUserId(), v.Id); err != nil {
|
||||||
// 注意 Gotarr:map[int32]int32 key value 已经挑战的次数
|
// 注意 Gotarr:map[int32]int32 key value 已经挑战的次数
|
||||||
if !utils.IsToday(data.Lasttime) { // 不是今天重置
|
if !utils.IsToday(data.Lasttime) { // 不是今天重置
|
||||||
data.Lasttime = configure.Now().Unix()
|
data.Lasttime = configure.Now().Unix()
|
||||||
|
Loading…
Reference in New Issue
Block a user