leitao666 1 yıl önce
ebeveyn
işleme
2f127cce1b

+ 2 - 1
RO_Server_Trunk-branch_0.1.39/roserver/baseserver/model/base_config.go

@@ -47,6 +47,8 @@ func BaseConfigInit(sConfig service.ConfigServerNode) {
 		//添加到热更新列表中
 		serverproto.CFGNameList["AdvertisingScreen"] = serverproto.AdvertisingScreenLoad
 		serverproto.CFGNameList["CombinedServiceCfg"] = serverproto.CombinedServiceCfgLoad
+		serverproto.CFGNameList["CdkCfg"] = serverproto.CdkCfgLoad
+		convertCdkRewardCfg() //cdk
 
 	case SERVICE_NODE_TYPE_RANK: //rank
 		serverproto.CompetitionCfgLoad(path + "csv/")
@@ -149,7 +151,6 @@ func BaseConfigInit(sConfig service.ConfigServerNode) {
 		convertIdolSeasonCfg()            //粉丝馈赠
 		convertWishCfg()                  //许愿宝箱
 		ConvertCombinedServer()           //合服
-		convertCdkRewardCfg()             //cdk
 	}
 
 	util.InfoF("config load success!!!")

+ 2 - 2
RO_Server_Trunk-branch_0.1.39/roserver/game/msg/role_msg.go

@@ -3822,8 +3822,8 @@ func init() {
 
 		util.DebugF("uid=%v receive CSGiftRewardReq ms=%v", role.GetUUid(), msg)
 		msg.Uuid = role.GetUUid()
-		role.(*model2.Role).CodeRewardReq(msg.GiftCode)
-		//role.(*model2.Role).SendSocial(msg)
+		//role.(*model2.Role).CodeRewardReq(msg.GiftCode)
+		role.(*model2.Role).SendSocial(msg)
 	})
 	//from social
 	serverproto.Handle_GAME_SCGiftRewardAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {

+ 45 - 44
RO_Server_Trunk-branch_0.1.39/roserver/gmweb/msg/msg.go

@@ -4,14 +4,16 @@ import (
 	"rocommon"
 	"rocommon/service"
 	"rocommon/util"
-	"roserver/baseserver"
 	"roserver/baseserver/model"
 	gmmodel "roserver/gmweb/model"
 	"roserver/serverproto"
 	"runtime/debug"
 	"strconv"
+	"time"
 )
 
+const RoleCdkInfo = "cdk_info_"
+
 //other service
 func init() {
 	//serverproto.Handle_GMWEB_SSWebGMAddMailAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
@@ -27,62 +29,61 @@ func init() {
 
 		//model2.GetMailUpdateMag().AttachMail2Update()
 
-		uuid := msg.Uuid
-		uidStr := strconv.FormatUint(uuid, 10)
-		zoneStr := strconv.Itoa(service.GetServiceConfig().Node.Zone)
-		urlPath := "?code=" + msg.GiftCode + "&uid=" + uidStr + "&serverid=" + zoneStr
-		go func() {
+		go func(code string, uuid uint64) {
 			defer func() {
 				//打印奔溃信息
 				if err := recover(); err != nil {
 					util.InfoF("onError data=%v \n%s\n", err, string(debug.Stack()))
 				}
 			}()
-
-			tmpRequest := &rocommon.HTTPRequest{}
-			tmpRequest.ReqCodecName = "httpjson"
-			//tmpRequest.ReqMsg = OpenIdServeNode{
-			//	ServerId:   zoneId,
-			//	HeadId:     headId,
-			//	Level:      level, //默认1级
-			//	RecordTime: uint32(util.GetTimeSeconds()),
-			//}
-
-			tmpRequest.ResMsg = &gmmodel.GiftSt{}
-			parm := gmmodel.GetHttpNodeParam()
-			httpNode := baseserver.CreateHttpConnector(parm)
-			err := httpNode.(rocommon.HTTPConnector).Request("GET", urlPath, tmpRequest)
+			uidStr := strconv.FormatUint(uuid, 10)
+			res := &serverproto.SCGiftRewardAck{
+				Uuid: uuid,
+			}
+			if _, ok := model.ConvertCdkRewardMap[code]; !ok {
+				res.Error = 3
+				return
+			}
+			v := model.ConvertCdkRewardMap[code]
+			if v == nil {
+				util.ErrorF("uid:%v cdk get config is nil", uuid)
+				res.Error = 3
+				return
+			}
+			now := time.Now()
+			if now.Before(v.Start) || now.After(v.End) {
+				res.Error = 2
+				return
+			}
+			key := RoleCdkInfo + strconv.FormatUint(uuid, 10)
+			field := strconv.FormatInt(int64(v.Id), 10)
+			b, err := service.GetRedis().HExists(key, field).Result()
 			if err != nil {
-				util.InfoF("uid=%v http Request err=%v", uidStr, err)
-				ackMsg := &serverproto.SCGiftRewardAck{
-					Error: int32(serverproto.ErrorCode_ERROR_GIFT_CODE_USE_FAIL),
-					Uuid:  uuid,
-				}
-				gmmodel.SendSocial(ackMsg)
+				util.ErrorF("uid:%v cdk get redis err:%v", uuid, err)
+				res.Error = 3
 				return
 			}
-
+			if b {
+				res.Error = 1
+				return
+			}
+			res.RewardList = v.RewardList
+			_, er := service.GetRedis().HSet(key, field, "11").Result()
+			if er != nil {
+				util.ErrorF("uid:%v cdk set redis err:%v", uuid, err)
+				res.Error = 3
+				return
+			}
+			//this.GiftReward(res)
+			//util.InfoF("uid:%v cdk get reward:%v", this.GetUUid(), res.RewardList)
+			//this.ReplayGate(res, true)
 			//error
 			//1礼包吗已经使用
 			//2礼包吗已经过期
 			//3 没有找到礼包吗
-			util.InfoF("uid=%v CSGiftRewardReq msg=%v res=%v", uidStr, msg, tmpRequest.ResMsg)
-			ackMsg := &serverproto.SCGiftRewardAck{
-				Error: int32(tmpRequest.ResMsg.(*gmmodel.GiftSt).Error),
-				Uuid:  uuid,
-			}
-			if 0 == ackMsg.Error {
-				for _, data := range tmpRequest.ResMsg.(*gmmodel.GiftSt).Content {
-					itemId, _ := model.Str2Num(data.ItemId)
-					itemCount, _ := model.Str2Num(data.ItemCount)
-					ackMsg.RewardList = append(ackMsg.RewardList, &serverproto.KeyValueType{
-						Key:   int32(itemId),
-						Value: int32(itemCount),
-					})
-				}
-			}
-			gmmodel.SendSocial(ackMsg)
-		}()
+			util.InfoF("uid=%v CSGiftRewardReq msg=%v res=%v", uidStr, msg, res)
+			gmmodel.SendSocial(res)
+		}(msg.GiftCode, msg.Uuid)
 	})
 
 	serverproto.Handle_GMWEB_SSWebGMChatMsgNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {

+ 0 - 1
RO_Server_Trunk-branch_0.1.39/roserver/serverproto/config_csv.go

@@ -286,7 +286,6 @@ func configNameListInit() {
 	CFGNameList["WishCfg"] = WishCfgLoad
 	CFGNameList["WorldBossCfg"] = WorldBossCfgLoad
 	CFGNameList["WorldBossChangePlayCfg"] = WorldBossChangePlayCfgLoad
-	CFGNameList["CdkCfg"] = CdkCfgLoad
 }
 
 var XmlFileList = []string{