go_dreamfactory/modules/growtask/module.go
2022-12-19 16:25:22 +08:00

77 lines
1.9 KiB
Go

package growtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
)
var _ comm.IGrowtask = (*Growtask)(nil)
type Growtask struct {
modules.ModuleBase
api *apiComp
service base.IRPCXService
configure *configureComp
modelGrowtask *ModelGrowtask
}
func NewModule() core.IModule {
return &Growtask{}
}
func (this *Growtask) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
return
}
func (this *Growtask) GetType() core.M_Modules {
return comm.ModuleGrowtask
}
func (this *Growtask) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelGrowtask = this.RegisterComp(new(ModelGrowtask)).(*ModelGrowtask)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
func (m *Growtask) BingoAllGrowTask(session comm.IUserSession) error {
uid := session.GetUserId()
gt := &pb.DBGrowtask{Uid: uid}
//初始任务
init, err := m.modelGrowtask.initGrowtask(uid, 1)
if err != nil {
m.Error("初始任务", log.Field{Key: "uid", Value: uid})
return err
}
gt.InitTaskList = init.InitTaskList
//中级任务
mid, err := m.modelGrowtask.initGrowtask(uid, 2)
if err != nil {
m.Error("中级任务", log.Field{Key: "uid", Value: uid})
return err
}
gt.MidTaskList = mid.MidTaskList
//高级任务
high, err := m.modelGrowtask.initGrowtask(uid, 3)
if err != nil {
m.Error("高级任务", log.Field{Key: "uid", Value: uid})
return err
}
gt.HighTaskList = high.HighTaskList
update := map[string]interface{}{
"initTaskList": gt.InitTaskList,
"midTaskList": gt.MidTaskList,
"highTaskList": gt.HighTaskList,
}
return m.modelGrowtask.Change(uid, update)
}