任务记录类型判断
This commit is contained in:
parent
590701affe
commit
90de92da72
File diff suppressed because it is too large
Load Diff
@ -42,6 +42,7 @@ type Config struct {
|
||||
ServiceDBInfo *pb.ServiceDBInfo `json:"serviceDBInfo,omitempty"` //
|
||||
JsonDir string `json:"jsonDir,omitempty"` //json配置目录
|
||||
PingConf *PingConf `json:"pingConf,omitempty"` //ping配置
|
||||
MultiMgo map[string]*MgoDB `json:"multiMgo,omitempty"` //MongoDBMap
|
||||
}
|
||||
|
||||
type PingConf struct {
|
||||
|
@ -1,11 +1,17 @@
|
||||
package formview
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
os_storage "go_dreamfactory/cmd/v2/lib/storage"
|
||||
"go_dreamfactory/cmd/v2/model"
|
||||
"strings"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/data/binding"
|
||||
"fyne.io/fyne/v2/dialog"
|
||||
"fyne.io/fyne/v2/layout"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/cast"
|
||||
@ -29,36 +35,90 @@ func (this *GlobalConfView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||
logrus.Error(err)
|
||||
return &fyne.Container{}
|
||||
}
|
||||
//redis form
|
||||
redisForm := widget.NewForm()
|
||||
//mongo form
|
||||
mongoUrl := widget.NewEntry()
|
||||
port := widget.NewEntry()
|
||||
user := widget.NewEntry()
|
||||
passd := widget.NewEntry()
|
||||
mongoDatabase := widget.NewEntry()
|
||||
mongoForm := widget.NewForm(
|
||||
widget.NewFormItem("Addr", container.NewBorder(nil, nil, nil, port, mongoUrl)),
|
||||
widget.NewFormItem("User", user),
|
||||
widget.NewFormItem("Pass", passd),
|
||||
widget.NewFormItem("DBName", mongoDatabase),
|
||||
)
|
||||
|
||||
if this.conf.ServiceDBInfo != nil {
|
||||
user.Text = this.conf.MgoDB.User
|
||||
passd.Text = this.conf.MgoDB.Password
|
||||
mongoUrl.Text = this.conf.MgoDB.Host
|
||||
port.Text = cast.ToString(this.conf.MgoDB.Port)
|
||||
mongoDatabase.Text = this.conf.MgoDB.Database
|
||||
// 表单
|
||||
createForm := func() *widget.Form {
|
||||
name := widget.NewEntry()
|
||||
mongoUrl := widget.NewEntry()
|
||||
port := widget.NewEntry()
|
||||
user := widget.NewEntry()
|
||||
passd := widget.NewEntry()
|
||||
mongoDatabase := widget.NewEntry()
|
||||
mongoForm := widget.NewForm(
|
||||
widget.NewFormItem("Name", name),
|
||||
widget.NewFormItem("Addr", container.NewBorder(nil, nil, nil, port, mongoUrl)),
|
||||
widget.NewFormItem("User", user),
|
||||
widget.NewFormItem("Pass", passd),
|
||||
widget.NewFormItem("DBName", mongoDatabase),
|
||||
)
|
||||
return mongoForm
|
||||
}
|
||||
|
||||
bottomBtn := widget.NewButton("保存", func() {
|
||||
if err := this.storage.StoreConfig(this.conf); err != nil {
|
||||
logrus.Error(err)
|
||||
center := container.NewHBox()
|
||||
|
||||
topBtn := widget.NewButton("新建", func() {
|
||||
//mongo form
|
||||
mongoForm := createForm()
|
||||
dconf := dialog.NewCustom("创建数据源", "关闭", mongoForm, this.w)
|
||||
mongoForm.OnSubmit = func() {
|
||||
if this.conf.MultiMgo == nil {
|
||||
this.conf.MultiMgo = make(map[string]*os_storage.MgoDB)
|
||||
}
|
||||
name := mongoForm.Items[0]
|
||||
mongoUrl := mongoForm.Items[1]
|
||||
port := mongoForm.Items[2]
|
||||
user := mongoForm.Items[3]
|
||||
passd := mongoForm.Items[4]
|
||||
mongoDatabase := mongoForm.Items[5]
|
||||
if _, ok := this.conf.MultiMgo[name.Text]; ok {
|
||||
dialog.NewInformation("提示", name.Text+" 数据源已存在", this.w)
|
||||
return
|
||||
}
|
||||
|
||||
this.conf.MultiMgo[name.Text] = &os_storage.MgoDB{
|
||||
Name: name.Text,
|
||||
Host: mongoUrl.Text,
|
||||
Port: cast.ToInt32(port.Text),
|
||||
User: user.Text,
|
||||
Password: passd.Text,
|
||||
Database: mongoDatabase.Text,
|
||||
}
|
||||
if err := this.storage.StoreConfig(this.conf); err != nil {
|
||||
logrus.Error(err)
|
||||
}
|
||||
dconf.Hide()
|
||||
center.Refresh()
|
||||
}
|
||||
mongoForm.SubmitText = "确定"
|
||||
|
||||
dconf.Resize(fyne.NewSize(400, 200))
|
||||
dconf.Show()
|
||||
})
|
||||
|
||||
layout := container.NewGridWithRows(2, redisForm, mongoForm)
|
||||
c := container.NewBorder(nil, bottomBtn, nil, nil, layout)
|
||||
editBtn := widget.NewButtonWithIcon("", theme.SettingsIcon(), func() {})
|
||||
// 创建Card
|
||||
for k, v := range this.conf.MultiMgo {
|
||||
data := binding.BindStringList(&[]string{})
|
||||
data.Append(fmt.Sprintf("%-3s\t: %s", "addr", strings.Join([]string{v.Host, cast.ToString(v.Port)}, ":")))
|
||||
data.Append(fmt.Sprintf("user:%v", v.User))
|
||||
data.Append(fmt.Sprintf("pass:%v", v.Password))
|
||||
data.Append(fmt.Sprintf("DB:%v", v.Database))
|
||||
dataList := widget.NewListWithData(data,
|
||||
func() fyne.CanvasObject {
|
||||
return widget.NewLabel("template")
|
||||
},
|
||||
func(i binding.DataItem, o fyne.CanvasObject) {
|
||||
o.(*widget.Label).Bind(i.(binding.String))
|
||||
},
|
||||
)
|
||||
|
||||
obj := widget.NewCard("", "",
|
||||
container.NewBorder(container.NewHBox(widget.NewLabel(k), layout.NewSpacer(), editBtn), nil, nil, nil, dataList),
|
||||
)
|
||||
obj.Resize(fyne.NewSize(400, 450))
|
||||
center.AddObject(obj)
|
||||
}
|
||||
|
||||
c := container.NewBorder(container.NewHBox(topBtn), nil, nil, nil, container.NewWithoutLayout(container.NewHBox(center)))
|
||||
return c
|
||||
}
|
||||
|
@ -309,6 +309,19 @@ func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType com
|
||||
return
|
||||
}
|
||||
|
||||
if conf.Data == 1 { //接取
|
||||
if r, ok := record.Vals[handle.condId]; ok {
|
||||
if r.Flag == 0 {
|
||||
r.Data = make(map[int32]int32)
|
||||
r.Flag = 1
|
||||
}
|
||||
} else {
|
||||
record.Vals[handle.condId] = &pb.RtaskData{
|
||||
Flag: 1,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if handle.update != nil {
|
||||
if err := handle.update(uid, record, conf, params...); err != nil {
|
||||
log.Errorf("update task:%v", err)
|
||||
|
@ -455,6 +455,7 @@ type RtaskData struct {
|
||||
Data map[int32]int32 `protobuf:"bytes,1,rep,name=data,proto3" json:"data" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"data"` // 当前任务值
|
||||
Rtype int32 `protobuf:"varint,2,opt,name=rtype,proto3" json:"rtype" bson:"rtype"` // 任务类型
|
||||
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp"` //@go_tasg(`bson:"timestamp"`) 时间戳
|
||||
Flag int32 `protobuf:"varint,4,opt,name=flag,proto3" json:"flag"` //@go_tasg(`bson:"flag"`) 任务是接取时记录 flag:1表示已记录 再次记录时不清除
|
||||
}
|
||||
|
||||
func (x *RtaskData) Reset() {
|
||||
@ -510,6 +511,13 @@ func (x *RtaskData) GetTimestamp() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *RtaskData) GetFlag() int32 {
|
||||
if x != nil {
|
||||
return x.Flag
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 玩家任务记录
|
||||
type DBRtaskRecord struct {
|
||||
state protoimpl.MessageState
|
||||
@ -636,30 +644,31 @@ var file_task_task_db_proto_rawDesc = []byte{
|
||||
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x66, 0x72,
|
||||
0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
||||
0x38, 0x01, 0x22, 0xa2, 0x01, 0x0a, 0x09, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61,
|
||||
0x38, 0x01, 0x22, 0xb6, 0x01, 0x0a, 0x09, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61,
|
||||
0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
|
||||
0x2e, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74,
|
||||
0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65,
|
||||
0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0x37,
|
||||
0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
|
||||
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xba, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x52, 0x74,
|
||||
0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x76,
|
||||
0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x52, 0x74,
|
||||
0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x56, 0x61, 0x6c, 0x73, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x1a,
|
||||
0x43, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
|
||||
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20,
|
||||
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
|
||||
0x72, 0x74, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x33,
|
||||
0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x6c,
|
||||
0x61, 0x67, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xba, 0x01, 0x0a, 0x0d,
|
||||
0x44, 0x42, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
|
||||
0x2c, 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
|
||||
0x44, 0x42, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x56, 0x61,
|
||||
0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74,
|
||||
0x69, 0x6d, 0x65, 0x1a, 0x43, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
|
||||
0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x0a, 0x2e, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -12,6 +12,7 @@ import "errors"
|
||||
|
||||
type GameRdtaskCondiData struct {
|
||||
Id int32
|
||||
Data int32
|
||||
TypeSp int32
|
||||
Tasktxt string
|
||||
Type int32
|
||||
@ -32,6 +33,7 @@ func (*GameRdtaskCondiData) GetTypeId() int32 {
|
||||
|
||||
func (_v *GameRdtaskCondiData)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["data"].(float64); !_ok_ { err = errors.New("data error"); return }; _v.Data = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type_sp"].(float64); !_ok_ { err = errors.New("type_sp error"); return }; _v.TypeSp = int32(_tempNum_) }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["tasktxt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Tasktxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Tasktxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
||||
|
Loading…
Reference in New Issue
Block a user