悬赏任务加权重

This commit is contained in:
wh_zcy 2023-07-04 15:45:46 +08:00
parent ba04b59dcc
commit acd896bb24
2 changed files with 11 additions and 6 deletions

View File

@ -7,7 +7,6 @@ import (
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
"go_dreamfactory/utils"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx" "go.mongodb.org/mongo-driver/x/bsonx"
@ -63,7 +62,9 @@ func (this *modelDispatch) getTasksWeight(dispatch *pb.DBDispatch) int32 {
confList, err := this.module.configure.getDispatchTaskConfByType(int32(i + 1)) confList, err := this.module.configure.getDispatchTaskConfByType(int32(i + 1))
var tIds []int32 var tIds []int32
var weights []int32
for _, v := range confList { for _, v := range confList {
weights = append(weights, v.Weight)
if v.Completecount == 0 { if v.Completecount == 0 {
tIds = append(tIds, v.Id) tIds = append(tIds, v.Id)
} else if v.Completecount > 0 { } else if v.Completecount > 0 {
@ -76,11 +77,13 @@ func (this *modelDispatch) getTasksWeight(dispatch *pb.DBDispatch) int32 {
} }
} }
} }
idex := utils.RandomNumbers(0, len(tIds), 1)
if len(idex) == 0 { idex := comm.GetRandW(weights)
return 0 // idex := utils.RandomNumbers(0, len(tIds), 1)
} // if len(idex) == 0 {
return tIds[idex[0]] // return 0
// }
return tIds[idex]
} }
// 随机任务 // 随机任务

View File

@ -13,6 +13,7 @@ import "errors"
type GameDispatch_TaskData struct { type GameDispatch_TaskData struct {
Id int32 Id int32
Type int32 Type int32
Weight int32
Taskname string Taskname string
Icon string Icon string
Taskcd int32 Taskcd int32
@ -37,6 +38,7 @@ func (*GameDispatch_TaskData) GetTypeId() int32 {
func (_v *GameDispatch_TaskData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameDispatch_TaskData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["taskname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Taskname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Taskname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["taskname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Taskname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Taskname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } } { var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["taskcd"].(float64); !_ok_ { err = errors.New("taskcd error"); return }; _v.Taskcd = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["taskcd"].(float64); !_ok_ { err = errors.New("taskcd error"); return }; _v.Taskcd = int32(_tempNum_) }