上传代码
This commit is contained in:
parent
f93fcdab8d
commit
6d46425050
@ -1,6 +1,7 @@
|
|||||||
package dispatch
|
package dispatch
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
"go_dreamfactory/lego/sys/log"
|
"go_dreamfactory/lego/sys/log"
|
||||||
@ -131,10 +132,14 @@ func (this *modelDispatch) randomTask(dispatch *pb.DBDispatch, n int) (tasks []*
|
|||||||
if rid == 0 {
|
if rid == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
conf, _ := this.module.configure.getDispatchTaskConf(rid)
|
||||||
|
|
||||||
|
race := comm.GetRandW(conf.Raceweight) + 1
|
||||||
|
|
||||||
if _, ok := existmap[rid]; !ok {
|
if _, ok := existmap[rid]; !ok {
|
||||||
tasks = append(tasks, &pb.DispatchTask{
|
tasks = append(tasks, &pb.DispatchTask{
|
||||||
TaskId: rid,
|
TaskId: rid,
|
||||||
|
Race: race,
|
||||||
})
|
})
|
||||||
total++
|
total++
|
||||||
}
|
}
|
||||||
@ -213,6 +218,10 @@ func (this *modelDispatch) replaceFinishedTask(uid string, dispatch *pb.DBDispat
|
|||||||
|
|
||||||
// 验证英雄的条件
|
// 验证英雄的条件
|
||||||
func (this *modelDispatch) validHeroCond(uid string, taskId int32, heroId string) (ok1, ok2 bool, err error) {
|
func (this *modelDispatch) validHeroCond(uid string, taskId int32, heroId string) (ok1, ok2 bool, err error) {
|
||||||
|
var (
|
||||||
|
task *pb.DispatchTask
|
||||||
|
)
|
||||||
|
|
||||||
//校验英雄是否已被派遣
|
//校验英雄是否已被派遣
|
||||||
dispatch := this.getDBDispatch(uid)
|
dispatch := this.getDBDispatch(uid)
|
||||||
if dispatch == nil {
|
if dispatch == nil {
|
||||||
@ -227,6 +236,16 @@ func (this *modelDispatch) validHeroCond(uid string, taskId int32, heroId string
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for _, v := range dispatch.Nb.Tasks {
|
||||||
|
if v.TaskId == taskId {
|
||||||
|
task = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if task == nil {
|
||||||
|
err = fmt.Errorf("no fund task:%d", taskId)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
//taskConf
|
//taskConf
|
||||||
gd, err := this.module.configure.getDispatchTaskConf(taskId)
|
gd, err := this.module.configure.getDispatchTaskConf(taskId)
|
||||||
@ -267,34 +286,43 @@ func (this *modelDispatch) validHeroCond(uid string, taskId int32, heroId string
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, v := range gd.Taskreqex {
|
|
||||||
if v.Key == 1 {
|
|
||||||
if hero.Lv >= v.Param {
|
|
||||||
ok2 = true
|
|
||||||
} else {
|
|
||||||
ok2 = false
|
|
||||||
break
|
|
||||||
}
|
|
||||||
} else if v.Key == 2 {
|
|
||||||
if hero.Star >= v.Param {
|
|
||||||
ok2 = true
|
|
||||||
} else {
|
|
||||||
ok2 = false
|
|
||||||
break
|
|
||||||
}
|
|
||||||
} else if v.Key == 3 {
|
|
||||||
hcfg, err2 := this.module.configure.GetHeroConfig(hero.HeroID)
|
hcfg, err2 := this.module.configure.GetHeroConfig(hero.HeroID)
|
||||||
if err2 != nil {
|
if err2 != nil {
|
||||||
return false, false, err2
|
return false, false, err2
|
||||||
}
|
}
|
||||||
if hcfg.Race == v.Param {
|
if hcfg.Race == task.Race {
|
||||||
ok2 = true
|
ok2 = true
|
||||||
} else {
|
} else {
|
||||||
ok2 = false
|
ok2 = false
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
// for _, v := range gd.Taskreqex {
|
||||||
|
// if v.Key == 1 {
|
||||||
|
// if hero.Lv >= v.Param {
|
||||||
|
// ok2 = true
|
||||||
|
// } else {
|
||||||
|
// ok2 = false
|
||||||
|
// break
|
||||||
|
// }
|
||||||
|
// } else if v.Key == 2 {
|
||||||
|
// if hero.Star >= v.Param {
|
||||||
|
// ok2 = true
|
||||||
|
// } else {
|
||||||
|
// ok2 = false
|
||||||
|
// break
|
||||||
|
// }
|
||||||
|
// } else if v.Key == 3 {
|
||||||
|
// hcfg, err2 := this.module.configure.GetHeroConfig(hero.HeroID)
|
||||||
|
// if err2 != nil {
|
||||||
|
// return false, false, err2
|
||||||
|
// }
|
||||||
|
// if hcfg.Race == v.Param {
|
||||||
|
// ok2 = true
|
||||||
|
// } else {
|
||||||
|
// ok2 = false
|
||||||
|
// break
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
|
@ -28,7 +28,7 @@ type DBDispatch struct {
|
|||||||
|
|
||||||
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid" bson:"uid"` //
|
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid" bson:"uid"` //
|
||||||
Nb *Noticeboard `protobuf:"bytes,2,opt,name=nb,proto3" json:"nb" bson:"nb"` //公告栏
|
Nb *Noticeboard `protobuf:"bytes,2,opt,name=nb,proto3" json:"nb" bson:"nb"` //公告栏
|
||||||
Completecount map[int32]int32 `protobuf:"bytes,3,rep,name=completecount,proto3" json:"completecount" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //任务完成次数
|
Completecount map[int32]int32 `protobuf:"bytes,3,rep,name=completecount,proto3" json:"completecount" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"completecount"` //公告栏
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DBDispatch) Reset() {
|
func (x *DBDispatch) Reset() {
|
||||||
@ -203,11 +203,12 @@ type DispatchTask struct {
|
|||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
TaskId int32 `protobuf:"varint,1,opt,name=taskId,proto3" json:"taskId" bson:"taskId"` //任务ID
|
TaskId int32 `protobuf:"varint,1,opt,name=taskId,proto3" json:"taskId" bson:"taskId"` //任务ID
|
||||||
Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status" bson:"status"` //任务状态 默认0 1任务中 2任务完成
|
Race int32 `protobuf:"varint,2,opt,name=race,proto3" json:"race" bson:"race"` //任务ID
|
||||||
Duration int64 `protobuf:"varint,3,opt,name=duration,proto3" json:"duration" bson:"duration"` //持续截至时间
|
Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status" bson:"status"` //任务状态 默认0 1任务中 2任务完成
|
||||||
LeftTime int64 `protobuf:"varint,4,opt,name=leftTime,proto3" json:"leftTime" bson:"leftTime"` //任务截至时间
|
Duration int64 `protobuf:"varint,4,opt,name=duration,proto3" json:"duration" bson:"duration"` //持续截至时间
|
||||||
HeroIds []string `protobuf:"bytes,5,rep,name=heroIds,proto3" json:"heroIds"` //go_tags(`bson:"heroIds"`) 派遣的英雄
|
LeftTime int64 `protobuf:"varint,5,opt,name=leftTime,proto3" json:"leftTime" bson:"leftTime"` //任务截至时间
|
||||||
Exaward bool `protobuf:"varint,6,opt,name=exaward,proto3" json:"exaward" bson:"exaward"` //是否获取额外奖励
|
HeroIds []string `protobuf:"bytes,6,rep,name=heroIds,proto3" json:"heroIds"` //go_tags(`bson:"heroIds"`) 派遣的英雄
|
||||||
|
Exaward bool `protobuf:"varint,7,opt,name=exaward,proto3" json:"exaward" bson:"exaward"` //是否获取额外奖励
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DispatchTask) Reset() {
|
func (x *DispatchTask) Reset() {
|
||||||
@ -249,6 +250,13 @@ func (x *DispatchTask) GetTaskId() int32 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *DispatchTask) GetRace() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Race
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
func (x *DispatchTask) GetStatus() int32 {
|
func (x *DispatchTask) GetStatus() int32 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Status
|
return x.Status
|
||||||
@ -319,19 +327,20 @@ var file_dispatch_dispatch_db_proto_rawDesc = []byte{
|
|||||||
0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x65,
|
0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x65,
|
||||||
0x65, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70,
|
0x65, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70,
|
||||||
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
|
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
|
||||||
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x0c, 0x44,
|
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x0c, 0x44,
|
||||||
0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x74,
|
0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x74,
|
||||||
0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73,
|
0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73,
|
||||||
0x6b, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20,
|
0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64,
|
0x05, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
|
||||||
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64,
|
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
|
||||||
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x54,
|
0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||||
0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x54,
|
0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c,
|
||||||
0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x18, 0x05,
|
0x65, 0x66, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c,
|
||||||
0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a,
|
0x65, 0x66, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49,
|
||||||
0x07, 0x65, 0x78, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
|
0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64,
|
||||||
0x65, 0x78, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
|
0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01,
|
||||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e,
|
||||||
|
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
Loading…
Reference in New Issue
Block a user