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