@ -19,6 +19,7 @@ import (
"tyj_admin/internal/model/entity"
"tyj_admin/internal/service"
"tyj_admin/internal/serviceGame/internal"
"tyj_admin/library/libUtils"
)
type IGameOrder interface {
@ -522,6 +523,16 @@ func (o gameOrderImpl) GetGMOrderList(ctx context.Context, req *game.GetGMOrderL
func ( o gameOrderImpl ) CheckRechargeSign ( ctx context . Context , req * game . CheckRechargeSignReq ) ( res * game . CheckRechargeSignRes , err error ) {
res = new ( game . CheckRechargeSignRes )
if req . ServerId == 0 {
ip := libUtils . GetClientIp ( ctx )
data := [ ] entity . GameRouter { }
err := dao . GameRouter . Ctx ( ctx ) . Where ( "router_ip=?" , ip ) . Scan ( & data )
//log.Printf("data: %s", gjson.MustEncodeString(data))
if len ( data ) == 0 {
return nil , err
}
req . ServerId = int32 ( data [ 0 ] . Id )
}
if req . Id == 0 || req . ServerId == 0 {
return res , errors . New ( "账号为空" )
}
@ -537,16 +548,30 @@ func (o gameOrderImpl) CheckRechargeSign(ctx context.Context, req *game.CheckRec
return
}
// http://192.168.2.100:4111/frontApi/game/setOrderLevel?unitId=1&server=1001 &time=250726&token
// http://192.168.2.100:4111/frontApi/game/setOrderLevel?unitId=1&server=&time=250726&token&config=101
func ( o gameOrderImpl ) AddRechargeSign ( ctx context . Context , req * game . AddRechargeSignReq ) ( res * game . AddRechargeSignRes , err error ) {
if req . Id == 0 || req . ServerId == 0 || req . Config == 0 || req . Time == 0 {
serverId := req . ServerId
if serverId == 0 {
ip := libUtils . GetClientIp ( ctx )
data := [ ] entity . GameRouter { }
err := dao . GameRouter . Ctx ( ctx ) . Where ( "router_ip=?" , ip ) . Scan ( & data )
//log.Printf("AddRechargeSign data: %s", gjson.MustEncodeString(data))
if len ( data ) == 0 {
log . Printf ( "AddRechargeSign err : %s" , err . Error ( ) )
return nil , err
}
serverId = int32 ( data [ 0 ] . Id )
}
if req . Id == 0 || serverId == 0 || req . Config == 0 || req . Time == 0 {
return nil , errors . New ( "参数为空" )
}
token := fmt . Sprintf ( "%x" , md5 . Sum ( [ ] byte ( "#colony" + fmt . Sprint ( req . Id ) + fmt . Sprint ( req . ServerId ) + fmt . Sprint ( req . Config ) + fmt . Sprint ( req . Time ) + "$" ) ) )
if req . Time != 250726 && req . Token != token {
if req . Token != token {
log . Printf ( "[%s]AddRechargeSign failed, token error, md5: %s" , gjson . MustEncodeString ( req ) , token )
return nil , errors . New ( "token err" )
}
req . ServerId = serverId
count , err := dao . GameRechargeLevel . Ctx ( ctx ) . Where ( "unitId=?" , req . Id ) . Where ( "server=?" , req . ServerId ) . Where ( "config=?" , req . Config ) . Count ( )
if err != nil {
@ -567,6 +592,16 @@ func (o gameOrderImpl) AddRechargeSign(ctx context.Context, req *game.AddRecharg
}
func ( o gameOrderImpl ) ResetRechargeSign ( ctx context . Context , req * game . ResetRechargeSignReq ) ( res * game . ResetRechargeSignRes , err error ) {
user := service . Context ( ) . GetLoginUser ( ctx )
fulluser , err1 := service . User ( ) . GetUserByUsername ( ctx , user . UserName )
if err1 != nil {
return nil , err1
}
password := libUtils . EncryptPassword ( req . Password , fulluser . UserSalt )
if fulluser . UserPassword != password {
log . Printf ( "ResetRechargeSign 密码错误! fulluser: %v, pwd: %s" , gjson . MustEncodeString ( fulluser ) , password )
return nil , errors . New ( "密码错误!" )
}
result , err := dao . GameRechargeLevel . Ctx ( ctx ) . Where ( "1=1" ) . Delete ( )
if err != nil {
log . Printf ( "ResetRechargeSign: %v" , err )