上传item 写入mgo日志异常bug修复

This commit is contained in:
liwei1dao 2022-07-26 20:12:32 +08:00
parent 158a66407c
commit 398783c256
3 changed files with 39 additions and 45 deletions

View File

@ -92,43 +92,45 @@ func (this *ServiceBase) Start() (err error) {
//运行模块
func (this *ServiceBase) Run(mod ...core.IModule) {
for _, v := range mod { //初始化模块对象 分配配置参数
if sf, ok := this.service.GetSettings().Modules[string(v.GetType())]; ok {
this.modules[v.GetType()] = &defaultModule{
seetring: sf,
mi: v,
closeSig: make(chan bool, 1),
go func() {
for _, v := range mod { //初始化模块对象 分配配置参数
if sf, ok := this.service.GetSettings().Modules[string(v.GetType())]; ok {
this.modules[v.GetType()] = &defaultModule{
seetring: sf,
mi: v,
closeSig: make(chan bool, 1),
}
} else {
this.modules[v.GetType()] = &defaultModule{
seetring: make(map[string]interface{}),
mi: v,
closeSig: make(chan bool, 1),
}
}
} else {
this.modules[v.GetType()] = &defaultModule{
seetring: make(map[string]interface{}),
mi: v,
closeSig: make(chan bool, 1),
log.Infof("注册模块【%s】", v.GetType())
}
for _, v := range this.modules { //序列化每一个模块的参数对象 完成模块的初始化 过程
options := v.mi.NewOptions()
if err := options.LoadConfig(v.seetring); err == nil {
err := v.mi.Init(this.service, v.mi, options)
if err != nil {
log.Panicf(fmt.Sprintf("初始化模块【%s】错误 err:%v", v.mi.GetType(), err))
}
} else {
log.Panicf(fmt.Sprintf("模块【%s】 Options:%v 配置错误 err:%v", v.mi.GetType(), v.seetring, err))
}
}
log.Infof("注册模块【%s】", v.GetType())
}
for _, v := range this.modules { //序列化每一个模块的参数对象 完成模块的初始化 过程
options := v.mi.NewOptions()
if err := options.LoadConfig(v.seetring); err == nil {
err := v.mi.Init(this.service, v.mi, options)
for _, v := range this.modules { //完成模块的启动过程
err := v.mi.Start()
if err != nil {
log.Panicf(fmt.Sprintf("初始化模块【%s】错误 err:%v", v.mi.GetType(), err))
log.Panicf(fmt.Sprintf("启动模块【%s】错误 err:%v", v.mi.GetType(), err))
}
} else {
log.Panicf(fmt.Sprintf("模块【%s】 Options:%v 配置错误 err:%v", v.mi.GetType(), v.seetring, err))
}
}
for _, v := range this.modules { //完成模块的启动过程
err := v.mi.Start()
if err != nil {
log.Panicf(fmt.Sprintf("启动模块【%s】错误 err:%v", v.mi.GetType(), err))
for _, v := range this.modules { //启动模块的独立协程
go v.run()
}
}
for _, v := range this.modules { //启动模块的独立协程
go v.run()
}
event.TriggerEvent(core.Event_ServiceStartEnd) //广播服务启动完毕事件
event.TriggerEvent(core.Event_ServiceStartEnd) //广播服务启动完毕事件
}()
//监听外部关闭服务信号
c := make(chan os.Signal, 1)
//添加进程结束信号

View File

@ -26,16 +26,13 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq)
dels []*pb.DB_UserItemData
)
defer func() {
session.SendMsg(string(this.module.GetType()), "getlist", &pb.ItemsGetlistResp{Grids: items})
if code == pb.ErrorCode_Success {
go func() { //异步处理修改数据
if len(modifys) > 0 {
this.module.modelItems.UpdateUserPack(session.GetUserId(), modifys...)
}
if len(dels) > 0 {
this.module.modelItems.DeleteUserPack(session.GetUserId(), dels...)
}
}()
if len(modifys) > 0 {
this.module.modelItems.UpdateUserPack(session.GetUserId(), modifys...)
}
if len(dels) > 0 {
this.module.modelItems.DeleteUserPack(session.GetUserId(), dels...)
}
}
}()
@ -61,5 +58,6 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq)
}
}
}
session.SendMsg(string(this.module.GetType()), "getlist", &pb.ItemsGetlistResp{Grids: items})
return
}

View File

@ -1,7 +1,6 @@
package items
import (
"errors"
"fmt"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
@ -68,11 +67,6 @@ func (this *ModelItemsComp) DelUserPack(uId string, ids ...string) (err error) {
//更新用户的背包信息
func (this *ModelItemsComp) UpdateUserPack(uid string, itmes ...*pb.DB_UserItemData) (err error) {
if len(uid) == 0 {
err = errors.New("UpdateUserPack uid is nil")
this.module.Panicf("err:%v", err)
return
}
for _, v := range itmes {
this.ChangeList(uid, v.GridId, map[string]interface{}{
"amount": v.Amount,