154 lines
5.1 KiB
Go
154 lines
5.1 KiB
Go
package transact
|
|
|
|
//
|
|
//import (
|
|
// "errors"
|
|
// "fmt"
|
|
// "mongo.games.com/game/common"
|
|
// "mongo.games.com/game/gamesrv/base"
|
|
// "mongo.games.com/game/model"
|
|
// "mongo.games.com/game/proto"
|
|
// webapi_proto "mongo.games.com/game/protocol/webapi"
|
|
// "mongo.games.com/goserver/core/basic"
|
|
// "mongo.games.com/goserver/core/logger"
|
|
// "mongo.games.com/goserver/core/netlib"
|
|
// "mongo.games.com/goserver/core/task"
|
|
// "mongo.games.com/goserver/core/transact"
|
|
// "sync"
|
|
//)
|
|
//
|
|
//const __REQIP__ = "__REQIP__"
|
|
//
|
|
//var (
|
|
// WebAPIErrParam = errors.New("param err")
|
|
// WebAPIErrNoPlayer = errors.New("player no find")
|
|
//)
|
|
//
|
|
//func init() {
|
|
// transact.RegisteHandler(common.TransType_GameSrvWebApi, &WebAPITranscateHandler{})
|
|
//}
|
|
//
|
|
//var WebAPIHandlerMgrSingleton = &WebAPIHandlerMgr{wshMap: make(map[string]WebAPIHandler)}
|
|
//
|
|
//type WebAPITranscateHandler struct {
|
|
//}
|
|
//
|
|
//func (this *WebAPITranscateHandler) OnExcute(tNode *transact.TransNode, ud interface{}) transact.TransExeResult {
|
|
// logger.Logger.Trace("WebAPITranscateHandler.OnExcute ")
|
|
// req := &common.M2GWebApiRequest{}
|
|
// err := netlib.UnmarshalPacketNoPackId(ud.([]byte), req)
|
|
// if err == nil {
|
|
// wsh := WebAPIHandlerMgrSingleton.GetWebAPIHandler(req.Path)
|
|
// if wsh == nil {
|
|
// logger.Logger.Error("WebAPITranscateHandler no registe WebAPIHandler ", req.Path)
|
|
// return transact.TransExeResult_Failed
|
|
// }
|
|
// tag, msg := wsh.Handler(tNode, req.Body)
|
|
// tNode.TransRep.RetFiels = msg
|
|
// switch tag {
|
|
// case common.ResponseTag_Ok:
|
|
// return transact.TransExeResult_Success
|
|
// case common.ResponseTag_TransactYield:
|
|
// return transact.TransExeResult_Yield
|
|
// }
|
|
// }
|
|
// logger.Logger.Error("WebAPITranscateHandler.OnExcute err:", err.Error())
|
|
// return transact.TransExeResult_Failed
|
|
//}
|
|
//
|
|
//func (this *WebAPITranscateHandler) OnCommit(tNode *transact.TransNode) transact.TransExeResult {
|
|
// logger.Logger.Trace("WebAPITranscateHandler.OnCommit ")
|
|
// return transact.TransExeResult_Success
|
|
//}
|
|
//
|
|
//func (this *WebAPITranscateHandler) OnRollBack(tNode *transact.TransNode) transact.TransExeResult {
|
|
// logger.Logger.Trace("WebAPITranscateHandler.OnRollBack ")
|
|
// return transact.TransExeResult_Success
|
|
//}
|
|
//
|
|
//func (this *WebAPITranscateHandler) OnChildTransRep(tNode *transact.TransNode, hChild transact.TransNodeID, retCode int,
|
|
// ud interface{}) transact.TransExeResult {
|
|
// logger.Logger.Trace("WebAPITranscateHandler.OnChildTransRep ")
|
|
// return transact.TransExeResult_Success
|
|
//}
|
|
//
|
|
//type WebAPIHandler interface {
|
|
// Handler(*transact.TransNode, []byte) (int, proto.Message)
|
|
//}
|
|
//
|
|
//type WebAPIHandlerWrapper func(*transact.TransNode, []byte) (int, proto.Message)
|
|
//
|
|
//func (wshw WebAPIHandlerWrapper) Handler(tNode *transact.TransNode, params []byte) (int, proto.Message) {
|
|
// return wshw(tNode, params)
|
|
//}
|
|
//
|
|
//type WebAPIHandlerMgr struct {
|
|
// wshMap map[string]WebAPIHandler
|
|
// DataWaitList sync.Map
|
|
//}
|
|
//
|
|
//func (this *WebAPIHandlerMgr) RegisteWebAPIHandler(name string, wsh WebAPIHandler) {
|
|
// this.wshMap[name] = wsh
|
|
//}
|
|
//
|
|
//func (this *WebAPIHandlerMgr) GetWebAPIHandler(name string) WebAPIHandler {
|
|
// if wsh, exist := this.wshMap[name]; exist {
|
|
// return wsh
|
|
// }
|
|
// return nil
|
|
//}
|
|
//
|
|
//func init() {
|
|
// //单控
|
|
// WebAPIHandlerMgrSingleton.RegisteWebAPIHandler("/api/game/SinglePlayerAdjust", WebAPIHandlerWrapper(
|
|
// func(tNode *transact.TransNode, params []byte) (int, proto.Message) {
|
|
// pack := &webapi_proto.SASinglePlayerAdjust{}
|
|
// msg := &webapi_proto.ASSinglePlayerAdjust{}
|
|
// err := proto.Unmarshal(params, msg)
|
|
// if err != nil {
|
|
// fmt.Printf("err:%v", err)
|
|
// pack.Tag = webapi_proto.TagCode_FAILED
|
|
// pack.Msg = "数据序列化失败"
|
|
// return common.ResponseTag_ParamError, pack
|
|
// }
|
|
// pack.Tag = webapi_proto.TagCode_SUCCESS
|
|
// switch msg.GetOpration() {
|
|
// case 1:
|
|
// psa := base.PlayerSingleAdjustMgr.AddNewSingleAdjust(msg.GetPlayerSingleAdjust())
|
|
// if psa != nil {
|
|
// task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
|
// return model.AddNewSingleAdjust(psa)
|
|
// }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) {
|
|
// if data != nil {
|
|
// pack.Tag = webapi_proto.TagCode_FAILED
|
|
// pack.Msg = "insert err" + data.(error).Error()
|
|
// }
|
|
// tNode.TransRep.RetFiels = pack
|
|
// tNode.Resume()
|
|
// }), "AddNewSingleAdjust").Start()
|
|
// return common.ResponseTag_TransactYield, pack
|
|
// }
|
|
// case 2:
|
|
// base.PlayerSingleAdjustMgr.EditSingleAdjust(msg.GetPlayerSingleAdjust())
|
|
// case 3:
|
|
// psa := msg.PlayerSingleAdjust
|
|
// if psa != nil {
|
|
// base.PlayerSingleAdjustMgr.DeleteSingleAdjust(psa.Platform, psa.SnId, psa.GameFreeId)
|
|
// }
|
|
// case 4:
|
|
// ps := msg.PlayerSingleAdjust
|
|
// webp := base.PlayerSingleAdjustMgr.GetSingleAdjust(ps.Platform, ps.SnId, ps.GameFreeId)
|
|
// if webp == nil {
|
|
// pack.Tag = webapi_proto.TagCode_FAILED
|
|
// pack.Msg = fmt.Sprintf("webp == nil %v %v %v", ps.Platform, ps.SnId, ps.GameFreeId)
|
|
// }
|
|
// pack.PlayerSingleAdjust = webp
|
|
// default:
|
|
// pack.Tag = webapi_proto.TagCode_FAILED
|
|
// pack.Msg = "Opration param is error!"
|
|
// return common.ResponseTag_ParamError, pack
|
|
// }
|
|
// return common.ResponseTag_Ok, pack
|
|
// }))
|
|
//}
|