赛季结束刷新
This commit is contained in:
parent
9721eacc5e
commit
d64dc44390
@ -1,10 +1,14 @@
|
||||
package plunder
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/configure"
|
||||
"go_dreamfactory/utils"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
)
|
||||
|
||||
func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.PlunderGetListReq) (errdata *pb.ErrorData) {
|
||||
@ -42,10 +46,34 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.PlunderGetListRe
|
||||
list.Landid = land.Id
|
||||
update["landid"] = land.Id
|
||||
} else {
|
||||
var uids []string
|
||||
etime := this.module.modelLand.GetEndTime()
|
||||
// 清理岛数据
|
||||
if land.Etime > configure.Now().Unix() {
|
||||
land.Etime = etime
|
||||
for _, v := range land.Uinfo { // 重置成员信息
|
||||
uids = append(uids, v.Uid)
|
||||
}
|
||||
if _, err = this.module.modelPlunder.DB.UpdateMany(core.SqlTable(comm.TablePlunder), bson.M{"uid": bson.M{"$in": uids}}, bson.M{"$set": bson.M{"landid": land.Id}}); err != nil {
|
||||
fmt.Printf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
// 校验是否过期
|
||||
if list.Etime > configure.Now().Unix() {
|
||||
|
||||
if land, err = this.module.modelLand.createPlunderLandData(list); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
list.Landid = land.Id
|
||||
update["landid"] = land.Id
|
||||
list.Etime = etime
|
||||
update["etime"] = land.Etime
|
||||
}
|
||||
|
||||
if land, err = this.module.modelLand.getPlunderLandData(list.Landid); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
|
@ -60,6 +60,7 @@ func (this *modelLand) createPlunderLandData(user *pb.DBPlunder) (land *pb.DBPlu
|
||||
Score: make(map[string]int32, 0),
|
||||
Etime: utils.GetTodayZeroTime(configure.Now().Unix()) + 48*3600, // 临时处理 后面走配置
|
||||
}
|
||||
|
||||
socre = user.Score - 100
|
||||
if socre < 0 {
|
||||
socre = 0
|
||||
@ -101,3 +102,13 @@ func (this *modelLand) createPlunderLandData(user *pb.DBPlunder) (land *pb.DBPlu
|
||||
func (this *modelLand) landMutexLock(oid string) (result *redis.RedisMutex, err error) {
|
||||
return this.module.modelLand.NewRedisMutex(fmt.Sprintf("%s-%s_lock", this.TableName, oid), 5)
|
||||
}
|
||||
|
||||
// 获取结束时间
|
||||
func (this *modelLand) GetEndTime() (newTime int64) {
|
||||
|
||||
opentime := this.module.service.GetOpentime().Unix() // 开服时间
|
||||
subTime := (configure.Now().Unix() - opentime) % int64(this.module.ModuleTools.GetGlobalConf().PlunderPvpSeasontime)
|
||||
st := 24 - this.module.ModuleTools.GetGlobalConf().PlunderPvpEndtime
|
||||
newTime = utils.GetZeroTime(configure.Now().Unix()) + subTime*24*3600 - int64(st*3600)
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user