/// <summary> /// 删除玩家礼物盒上道具 /// </summary> /// <returns></returns> public Message GiftBox_MessageItem_Delete() { int result = -1; int operateUserID = 0; string serverIP = null; string userID = null; int itemCode = 0; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ServerIP).m_bValueBuffer); TLV_Structure strut = new TLV_Structure(TagName.UserByID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.UserByID).m_bValueBuffer); operateUserID = (int)strut.toInteger(); userID = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_UserID).m_bValueBuffer); strut = new TLV_Structure(TagName.O2JAM2_ItemCode, 4, msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ItemCode).m_bValueBuffer); itemCode = (int)strut.toInteger(); result = ItemShopInfo.giftBox_Delete(operateUserID, serverIP, userID, itemCode); if (result == 1) { SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem + itemCode + lg.API_Delete + lg.API_Success + "!"); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem + itemCode + lg.API_Delete + lg.API_Success + "!"); return(Message.COMMON_MES_RESP("SUCESS", Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_ITEMSHOP_DELETE_RESP)); } else { SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem + itemCode + lg.API_Delete + lg.API_Failure + "!"); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem + itemCode + lg.API_Delete + lg.API_Failure + "!"); return(Message.COMMON_MES_RESP("FAILURE", Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_ITEMSHOP_DELETE_RESP)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(lg.O2JAM2API_AccountInfoAPI_NoAccount, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_ITEMSHOP_DELETE_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 删除玩家身上道具 /// </summary> /// <returns></returns> public Message ItemShop_Delete() { int result = -1; int operateUserID = 0; int userIndexID = 0; string serverIP = null; int itemCode = 0; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ServerIP).m_bValueBuffer); TLV_Structure strut = new TLV_Structure(TagName.UserByID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.UserByID).m_bValueBuffer); operateUserID = (int)strut.toInteger(); strut = new TLV_Structure(TagName.SDO_UserIndexID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_UserIndexID).m_bValueBuffer); userIndexID = (int)strut.toInteger(); strut = new TLV_Structure(TagName.SDO_ItemCode, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ItemCode).m_bValueBuffer); itemCode = (int)strut.toInteger(); result = ItemShopInfo.itemShop_Delete(operateUserID, serverIP, userIndexID, itemCode); if (result == 1) { Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.SDOAPI_SDO + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.API_Delete + lg.SDOAPI_SDOItemLogInfoAPI_Account + userIndexID + lg.SDOAPI_SDOItemShopAPI_PersonalItem + itemCode + lg.API_Success + "!"); return(Message.COMMON_MES_RESP("SUCESS", Msg_Category.SDO_ADMIN, ServiceKey.SDO_ITEMSHOP_DELETE_RESP)); } else { Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.SDOAPI_SDO + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.API_Delete + lg.SDOAPI_SDOItemLogInfoAPI_Account + userIndexID + lg.SDOAPI_SDOItemShopAPI_PersonalItem + itemCode + lg.API_Failure + "!"); return(Message.COMMON_MES_RESP("FAILURE", Msg_Category.SDO_ADMIN, ServiceKey.SDO_ITEMSHOP_DELETE_RESP)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(ex.Message, Msg_Category.SDO_ADMIN, ServiceKey.SDO_ITEMSHOP_DELETE_RESP)); } }
/// <summary> /// 查询玩家技能資訊 /// </summary> /// <returns></returns> public Message RayCity_PlayerSkill_Query() { string serverIP = null; int characterID = 0; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_ServerIP).m_bValueBuffer); TLV_Structure strut = new TLV_Structure(TagName.RayCity_CharacterID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_CharacterID).m_bValueBuffer); characterID = (int)strut.toInteger(); SqlHelper.log.WriteLog(lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_Address + CommonInfo.serverIP_Query(serverIP) + lg.RayCityAPI_SkillInfo); Console.WriteLine(DateTime.Now + lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_Address + CommonInfo.serverIP_Query(serverIP) + lg.RayCityAPI_SkillInfo); ds = ItemShopInfo.PlayerSkill_Query(serverIP, characterID); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = Message.buildTLV(ds, 0, 40, false); return(Message.COMMON_MES_RESP(structList, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_PlayerSkill_Query_Resp, (int)structList[0].structLen)); } else { return(Message.COMMON_MES_RESP(lg.RayCityAPI_NoSkillInfo, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_PlayerSkill_Query_Resp, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { SqlHelper.errLog.WriteLog("伺服器IP" + serverIP + ex.Message); return(Message.COMMON_MES_RESP(lg.RayCityAPI_NoSkillInfo, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_PlayerSkill_Query_Resp, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查询所有道具分类資訊 /// </summary> /// <returns></returns> public Message RayCity_ItemShopType_Query() { DataSet ds = null; try { SqlHelper.log.WriteLog(lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_ItemShopType); Console.WriteLine(DateTime.Now + lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_ItemShopType); ds = ItemShopInfo.RayCity_ItemShopType_Query(); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = Message.buildTLV(ds, 0, 40, false); return(Message.COMMON_MES_RESP(structList, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_ItemType_Query_Resp, (int)structList[0].structLen)); } else { return(Message.COMMON_MES_RESP(lg.RayCityAPI_NoItemInfo, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_ItemType_Query_Resp, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); return(Message.COMMON_MES_RESP(lg.RayCityAPI_NoItemInfo, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_ItemType_Query_Resp, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家消费记录 /// </summary> /// <returns></returns> public Message UserConsume_QuerySum() { string serverIP = null; string account = null; DateTime beginDate; DateTime endDate; int moneyType = -1; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ServerIP).m_bValueBuffer); account = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_Account).m_bValueBuffer); TLV_Structure tlvStrut = new TLV_Structure(TagName.SDO_BeginTime, 3, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_BeginTime).m_bValueBuffer); beginDate = tlvStrut.toDate(); tlvStrut = new TLV_Structure(TagName.SDO_EndTime, 3, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_EndTime).m_bValueBuffer); endDate = tlvStrut.toDate(); tlvStrut = new TLV_Structure(TagName.SDO_MoneyType, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_MoneyType).m_bValueBuffer); moneyType = (int)tlvStrut.toInteger(); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.SDOAPI_SDO + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.SDOAPI_SDOItemLogInfoAPI_Account + account + lg.SDOAPI_SDOItemShopAPI_ConsumeRecord + "!"); ds = ItemShopInfo.userConsume_QuerySum(serverIP, account, moneyType, beginDate, endDate); if (ds != null && ds.Tables[0].Rows.Count > 0) { return(Message.COMMON_MES_RESP(Convert.ToInt32(ds.Tables[0].Rows[0].ItemArray[0]), Msg_Category.SDO_ADMIN, ServiceKey.SDO_CONSUME_QUERY_RESP, TagName.SDO_ChargeSum, TagFormat.TLV_INTEGER)); } else { return(Message.COMMON_MES_RESP(lg.SDOAPI_SDOItemShopAPI_NoChargeRecord, Msg_Category.SDO_ADMIN, ServiceKey.SDO_USERCONSUMESUM_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(lg.SDOAPI_SDOItemShopAPI_NoChargeRecord, Msg_Category.SDO_ADMIN, ServiceKey.SDO_USERCONSUMESUM_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查询所有道具資訊 /// </summary> /// <returns></returns> public Message RayCity_ItemShop_Query(int index, int pageSize) { string itemName = null; int itemCode = 0; string serverIP = null; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_ServerIP).m_bValueBuffer); itemName = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_ItemName).m_bValueBuffer); TLV_Structure strut = new TLV_Structure(TagName.RayCity_ItemID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_ItemID).m_bValueBuffer); itemCode = (int)strut.toInteger(); SqlHelper.log.WriteLog(lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_Address + lg.RayCityAPI_ItemInfo); Console.WriteLine(DateTime.Now + lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_Address + lg.RayCityAPI_ItemInfo); ds = ItemShopInfo.RayCity_ItemShop_Query(itemCode, itemName, serverIP); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = Message.buildTLV(ds, index, pageSize, false); return(Message.COMMON_MES_RESP(structList, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_ItemShop_Query_Resp, (int)structList[0].structLen)); } else { return(Message.COMMON_MES_RESP(lg.RayCityAPI_NoItemInfo, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_ItemShop_Query_Resp, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); return(Message.COMMON_MES_RESP(lg.RayCityAPI_NoItemInfo, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_ItemShop_Query_Resp, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查询玩家宠物信息 /// </summary> /// <returns></returns> public Message SDO_PetInfo_Query() { string serverIP = null; int userIndexID = 0; System.Data.DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ServerIP).m_bValueBuffer); TLV_Structure strut = new TLV_Structure(TagName.SDO_UserIndexID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_UserIndexID).m_bValueBuffer); userIndexID = (int)strut.toInteger(); SqlHelper.log.WriteLog("流覽超級舞者+>" + CommonInfo.serverIP_Query(serverIP) + "玩家" + userIndexID + "寵物資訊!"); Console.WriteLine(DateTime.Now + " - 流覽超級舞者+>" + CommonInfo.serverIP_Query(serverIP) + "玩家" + userIndexID + "寵物資訊!"); ds = ItemShopInfo.SDOPetInfo_Query(serverIP, userIndexID); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[ds.Tables[0].Rows.Count]; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Query_Structure strut1 = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length); byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[0]); strut1.AddTagKey(TagName.SDO_NickName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[1]); strut1.AddTagKey(TagName.SDO_ItemName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[2]); strut1.AddTagKey(TagName.SDO_DateLimit, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[3]); strut1.AddTagKey(TagName.SDO_State, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[4]); strut1.AddTagKey(TagName.SDO_Level, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[5]); strut1.AddTagKey(TagName.SDO_Exp, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[6]); strut1.AddTagKey(TagName.SDO_Food, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[7]); strut1.AddTagKey(TagName.SDO_mood, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); structList[i] = strut1; } return(Message.COMMON_MES_RESP(structList, Msg_Category.SDO_ADMIN, ServiceKey.SDO_PetInfo_Query_RESP, 8)); } else { return(Message.COMMON_MES_RESP("沒有相關寵物資訊", Msg_Category.SDO_ADMIN, ServiceKey.SDO_PetInfo_Query_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); return(Message.COMMON_MES_RESP("沒有相關寵物資訊", Msg_Category.SDO_ADMIN, ServiceKey.SDO_PetInfo_Query_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家身上道具 /// </summary> /// <returns></returns> public Message itemShop_Owner_Query() { string serverIP = null; string userID = null; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ServerIP).m_bValueBuffer); userID = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_UserID).m_bValueBuffer); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_AllBodyItem); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_AllBodyItem); //请求玩家身上的道具 ds = ItemShopInfo.AvatarItemList_Query(serverIP, userID); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[ds.Tables[0].Rows.Count]; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length); //道具编号 byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.O2JAM2_ItemCode, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具名 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, UserValidate.validData(ds.Tables[0].Rows[i].ItemArray[1])); strut.AddTagKey(TagName.O2JAM2_ItemName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //最小等级 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.O2JAM2_Level, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具位置 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[3]); strut.AddTagKey(TagName.O2JAM2_Position, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具使用次数 int timelimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[4]); if (timelimits == -1) { timelimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, timelimits); strut.AddTagKey(TagName.O2JAM2_Timeslimt, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具时间限制 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[5]); strut.AddTagKey(TagName.O2JAM2_DateLimit, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); structList[i] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_AVATORLIST_QUERY_RESP, 6)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM2API_ItemShopAPI_NoBodyItem, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_AVATORLIST_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); return(Message.COMMON_MES_RESP(lg.O2JAM2API_AccountInfoAPI_NoAccount, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_AVATORLIST_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家消费记录 /// </summary> /// <returns></returns> public Message UserConsume_QuerySum() { string serverIP = null; string account = null; DateTime beginDate; DateTime endDate; int kind = -1; int buyType = -1; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ServerIP).m_bValueBuffer); account = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_UserID).m_bValueBuffer); TLV_Structure tlvStrut = new TLV_Structure(TagName.o2jam_KIND, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_KIND).m_bValueBuffer); kind = (int)tlvStrut.toInteger(); tlvStrut = new TLV_Structure(TagName.O2JAM_BuyType, 4, msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM_BuyType).m_bValueBuffer); buyType = (int)tlvStrut.toInteger(); tlvStrut = new TLV_Structure(TagName.o2jam_BeginDate, 3, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_BeginDate).m_bValueBuffer); beginDate = tlvStrut.toDate(); tlvStrut = new TLV_Structure(TagName.o2jam_EndDate, 3, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_EndDate).m_bValueBuffer); endDate = tlvStrut.toDate(); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + account + lg.O2JAM_ItemShopInfoAPI_SumConsumeRecord); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + account + lg.O2JAM_ItemShopInfoAPI_SumConsumeRecord); ds = ItemShopInfo.userConsume_QuerySum(serverIP, account, kind, buyType, beginDate, endDate); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[1]; Query_Structure strut = new Query_Structure(2); byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[0]); strut.AddTagKey(TagName.o2jam_GEM, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[1]); strut.AddTagKey(TagName.o2jam_MCASH, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); structList[0] = strut; return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_CONSUME_SUM_QUERY_RESP, 2)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoSumConsumeRecord, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_CONSUME_SUM_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception) { return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoSumConsumeRecord, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_CONSUME_SUM_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 添加玩家礼物盒的道具 /// </summary> /// <returns></returns> public Message GiftBox_MessageItem_Add() { int result = -1; string serverIP = null; int operateUserID = 0; int userIndexID = 0; int itemCode = 0; int expireDate; int gem = 0; int mCash = 0; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ServerIP).m_bValueBuffer); TLV_Structure strut = new TLV_Structure(TagName.UserByID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.UserByID).m_bValueBuffer); operateUserID = (int)strut.toInteger(); strut = new TLV_Structure(TagName.o2jam_USER_INDEX_ID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_USER_INDEX_ID).m_bValueBuffer); userIndexID = (int)strut.toInteger(); strut = new TLV_Structure(TagName.o2jam_ITEM_INDEX_ID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ITEM_INDEX_ID).m_bValueBuffer); itemCode = (int)strut.toInteger(); strut = new TLV_Structure(TagName.o2jam_GEM, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_GEM).m_bValueBuffer); gem = (int)strut.toInteger(); strut = new TLV_Structure(TagName.o2jam_MCASH, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_MCASH).m_bValueBuffer); mCash = (int)strut.toInteger(); strut = new TLV_Structure(TagName.o2jam_WriteDate, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_WriteDate).m_bValueBuffer); expireDate = (int)strut.toInteger(); result = ItemShopInfo.GiftBox_Insert(operateUserID, serverIP, userIndexID, itemCode, gem, mCash, expireDate); if (result == 1) { SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.O2JAM_ItemShopInfoAPI_GiftItem + itemCode + lg.API_Add + lg.API_Success + "!"); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.O2JAM_ItemShopInfoAPI_GiftItem + itemCode + lg.API_Add + lg.API_Success + "!"); return(Message.COMMON_MES_RESP("SUCESS", Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_GIFTBOX_CREATE_RESP)); } else { SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.O2JAM_ItemShopInfoAPI_GiftItem + itemCode + lg.API_Add + lg.API_Failure + "!"); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.O2JAM_ItemShopInfoAPI_GiftItem + itemCode + lg.API_Add + lg.API_Failure + "!"); return(Message.COMMON_MES_RESP("FAILURE", Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_GIFTBOX_CREATE_RESP)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP("添加失败", Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_GIFTBOX_CREATE_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 添加玩家礼物盒上的道具 /// </summary> /// <returns></returns> public Message GiftBox_MessageItem_Add() { int operateUserID = 0; string userID = null; string serverIP = null; int itemCode = 0; string title = null; string context = null; int timesLimit = 0; int dayLimit = 0; int result = -1; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ServerIP).m_bValueBuffer); TLV_Structure strut = new TLV_Structure(TagName.UserByID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.UserByID).m_bValueBuffer); operateUserID = (int)strut.toInteger(); strut = new TLV_Structure(TagName.O2JAM2_ItemCode, 4, msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ItemCode).m_bValueBuffer); itemCode = (int)strut.toInteger(); userID = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_UserID).m_bValueBuffer); strut = new TLV_Structure(TagName.O2JAM2_Timeslimt, 4, msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_Timeslimt).m_bValueBuffer); timesLimit = (int)strut.toInteger(); strut = new TLV_Structure(TagName.O2JAM2_DayLimit, 4, msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_DayLimit).m_bValueBuffer); dayLimit = (int)strut.toInteger(); title = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_Title).m_bValueBuffer); context = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_Context).m_bValueBuffer); result = ItemShopInfo.giftBox_Insert(operateUserID, serverIP, userID, itemCode, title, context, timesLimit, dayLimit); if (result == 1) { SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem + itemCode + lg.API_Add + lg.API_Success + "!"); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem + itemCode + lg.API_Add + lg.API_Success + "!"); return(Message.COMMON_MES_RESP("SUCESS", Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_MESSAGE_CREATE_RESP)); } else { SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem + itemCode + lg.API_Add + lg.API_Failure + "!"); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem + itemCode + lg.API_Add + lg.API_Failure + "!"); return(Message.COMMON_MES_RESP("FAILURE", Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_MESSAGE_CREATE_RESP)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(lg.O2JAM2API_AccountInfoAPI_NoAccount, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_MESSAGE_CREATE_RESP)); } }
/// <summary> /// 添加玩家礼物盒上的道具 /// </summary> /// <returns></returns> public Message GiftBox_MessageItem_Add() { int operateUserID = 0; int userIndexID = 0; string serverIP = null; int itemCode = 0; string title = null; string context = null; int timesLimit = 0; DateTime dateLimit; int result = -1; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ServerIP).m_bValueBuffer); TLV_Structure strut = new TLV_Structure(TagName.UserByID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.UserByID).m_bValueBuffer); operateUserID = (int)strut.toInteger(); strut = new TLV_Structure(TagName.SDO_ItemCode, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ItemCode).m_bValueBuffer); itemCode = (int)strut.toInteger(); strut = new TLV_Structure(TagName.SDO_UserIndexID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_UserIndexID).m_bValueBuffer); userIndexID = (int)strut.toInteger(); strut = new TLV_Structure(TagName.SDO_TimesLimit, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_TimesLimit).m_bValueBuffer); timesLimit = (int)strut.toInteger(); strut = new TLV_Structure(TagName.SDO_DateLimit, 3, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_DateLimit).m_bValueBuffer); dateLimit = strut.toDate(); title = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_Title).m_bValueBuffer); context = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_Context).m_bValueBuffer); result = ItemShopInfo.giftBox_Insert(operateUserID, serverIP, userIndexID, itemCode, title, context, timesLimit, dateLimit); if (result == 1) { Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.SDOAPI_SDO + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.API_Add + lg.SDOAPI_SDOItemLogInfoAPI_Account + userIndexID + lg.SDOAPI_SDOItemShopAPI_GiftItem + itemCode + lg.API_Success + "!"); return(Message.COMMON_MES_RESP("SUCESS", Msg_Category.SDO_ADMIN, ServiceKey.SDO_GIFTBOX_CREATE_RESP)); } else { Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.SDOAPI_SDO + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.API_Add + lg.SDOAPI_SDOItemLogInfoAPI_Account + userIndexID + lg.SDOAPI_SDOItemShopAPI_GiftItem + itemCode + lg.API_Failure + "!"); return(Message.COMMON_MES_RESP("FAILURE", Msg_Category.SDO_ADMIN, ServiceKey.SDO_GIFTBOX_CREATE_RESP)); } } catch (Common.Logic.Exception ex) { return(Message.COMMON_MES_RESP(ex.Message, Msg_Category.SDO_ADMIN, ServiceKey.SDO_GIFTBOX_CREATE_RESP)); } }
public static void LoadItemInfo() { string fileName = @"iteminfo\\tblavataritemdesc.txt"; var lines = File.ReadLines(fileName, Encoding.GetEncoding(1200)); //int Count = 0; foreach (var line in lines) { //Count++; //Console.WriteLine(line); string[] iteminfo = line.Split(','); int itemid = Convert.ToInt32(iteminfo[0]); byte ItemChar = Convert.ToByte(iteminfo[3]); ushort ItemPosition = Convert.ToUInt16(iteminfo[4]); ushort ItemKind = Convert.ToUInt16(iteminfo[5]); if (iteminfo[2] == "1" || iteminfo[2] == "2" || iteminfo[2] == "4") { ItemCPK ItemInfo = new ItemCPK { ItemChar = ItemChar, ItemPosition = ItemPosition, ItemKind = ItemKind }; ItemCPKInfos.TryAdd(itemid, ItemInfo); ItemPCKDict[ItemPosition][ItemChar][ItemKind] = itemid; } //shopinfo bool canbuy = Convert.ToBoolean(iteminfo[21]); //fdPurchasable ItemShopInfo ItemShop = new ItemShopInfo { CanBuy = canbuy, ItemPosition = Convert.ToUInt16(iteminfo[4]), NotDeleteWhenExpired = Convert.ToBoolean(iteminfo[16]) }; ItemShopInfos.TryAdd(itemid, ItemShop); } Log.Info("Load ItemCPKInfo Count: {0}", ItemCPKInfos.Count); Log.Info("Load ItemShopInfos Count: {0}", ItemShopInfos.Count); Log.Info("Load ItemPCKDict Count: {0}", ItemPCKDict.Count); //Console.WriteLine(ItemCPKInfos.FirstOrDefault(i => (i.Value.ItemChar == 1 || i.Value.ItemChar == 0) && i.Value.ItemPosition == 6 && i.Value.ItemKind == 0).Key); LoadShuItemCPKInfo(); }
/// <summary> /// 查看玩家上下线状态 /// </summary> /// <returns></returns> public Message UserOnline_Query() { string serverIP = null; string account = null; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ServerIP).m_bValueBuffer); account = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_UserID).m_bValueBuffer); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + account + lg.O2JAM2API_ItemShopAPI_OnlineStatus); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + account + lg.O2JAM2API_ItemShopAPI_OnlineStatus); ds = ItemShopInfo.userOnline_Query(serverIP, account); if (ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[ds.Tables[0].Rows.Count]; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length); byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.O2JAM2_UserIndexID, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[1]); strut.AddTagKey(TagName.O2JAM2_UserID, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.SDO_LoginTime, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[3]); strut.AddTagKey(TagName.SDO_LogoutTime, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); structList[i] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM2_ADMIN, ServiceKey.SDO_USERONLINE_QUERY_RESP, 4)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM2API_ItemShopAPI_NoOnlineStatus, Msg_Category.O2JAM2_ADMIN, ServiceKey.SDO_USERONLINE_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); return(Message.COMMON_MES_RESP(lg.O2JAM2API_ItemShopAPI_NoOnlineStatus, Msg_Category.O2JAM2_ADMIN, ServiceKey.SDO_USERONLINE_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 添加玩家金钱 /// </summary> /// <returns></returns> public Message RayCity_AddMoney() { int operateUserID = 0; string serverIP = null; string account = null; int characterID = 0; int money = 0; string giftTitle = null; string giftMessage = null; int result = -1; try { TLV_Structure strut = new TLV_Structure(TagName.UserByID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.UserByID).m_bValueBuffer); operateUserID = (int)strut.toInteger(); serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_ServerIP).m_bValueBuffer); account = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_NyUserID).m_bValueBuffer); strut = new TLV_Structure(TagName.RayCity_CharacterMoney, 4, msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_CharacterMoney).m_bValueBuffer); money = (int)strut.toInteger(); strut = new TLV_Structure(TagName.RayCity_CharacterID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_CharacterID).m_bValueBuffer); characterID = (int)strut.toInteger(); giftTitle = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_Title).m_bValueBuffer); giftMessage = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_Message).m_bValueBuffer); SqlHelper.log.WriteLog(lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_Address + CommonInfo.serverIP_Query(serverIP) + lg.API_Add + lg.RayCityAPI_Account + characterID + lg.RayCityAPI_ItemInfo); Console.WriteLine(DateTime.Now + lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_Address + CommonInfo.serverIP_Query(serverIP) + lg.API_Add + lg.RayCityAPI_Account + characterID + lg.RayCityAPI_ItemInfo); result = ItemShopInfo.RayCity_AddMoney(operateUserID, serverIP, account, characterID, money, giftTitle, giftMessage); if (result == 1) { return(Message.COMMON_MES_RESP("SUCCESS", Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_AddMoney_Resp, TagName.Status, TagFormat.TLV_STRING)); } else { return(Message.COMMON_MES_RESP("FAILURE", Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_AddMoney_Resp, TagName.Status, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { SqlHelper.errLog.WriteLog("伺服器IP" + serverIP + ex.Message); return(Message.COMMON_MES_RESP(lg.API_Error, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_AddMoney_Resp, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家上下线状态 /// </summary> /// <returns></returns> public Message ItemName_Query() { string serverIP = null; int itemCode = 0; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ServerIP).m_bValueBuffer); TLV_Structure tlvstrut = new TLV_Structure(TagName.o2jam_ITEM_INDEX_ID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ITEM_INDEX_ID).m_bValueBuffer); itemCode = (int)tlvstrut.toInteger(); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_ItemShopInfoAPI_ItemName); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_ItemShopInfoAPI_ItemName); ds = ItemShopInfo.itemShop_Name_Query(serverIP, itemCode); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[1]; Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[0].ItemArray.Length); byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[0]); strut.AddTagKey(TagName.o2jam_ITEM_INDEX_ID, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[0].ItemArray[1]); strut.AddTagKey(TagName.o2jam_ITEM_NAME, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[2]); strut.AddTagKey(TagName.o2jam_GEM, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[3]); strut.AddTagKey(TagName.o2jam_ITEMCASH, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); structList[0] = strut; return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEMNAME_QUERY_RESP, 4)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoItemName, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEMNAME_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoItemName, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEMNAME_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 删除玩家身上道具 /// </summary> /// <returns></returns> public Message ItemShop_Delete() { int operateUserID = 0; int userIndexID = 0; string serverIP = null; int pos = 0; int flag = 0; int result = -1; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ServerIP).m_bValueBuffer); TLV_Structure strut = new TLV_Structure(TagName.o2jam_USER_INDEX_ID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_USER_INDEX_ID).m_bValueBuffer); userIndexID = (int)strut.toInteger(); strut = new TLV_Structure(TagName.o2jam_POSITION, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_POSITION).m_bValueBuffer); pos = (int)strut.toInteger(); strut = new TLV_Structure(TagName.o2jam_TypeFlag, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_TypeFlag).m_bValueBuffer); flag = (int)strut.toInteger(); result = ItemShopInfo.itemShop_Delete(operateUserID, serverIP, userIndexID, pos, flag); if (result == 1) { SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.API_Delete + lg.O2JAM_ItemShopInfoAPI_PersonalItem + lg.API_Success + "!"); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.API_Delete + lg.O2JAM_ItemShopInfoAPI_PersonalItem + lg.API_Success + "!"); return(Message.COMMON_MES_RESP("SUCESS", Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEM_UPDATE_RESP)); } else { SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.API_Delete + lg.O2JAM_ItemShopInfoAPI_PersonalItem + lg.API_Failure + "!"); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.API_Delete + lg.O2JAM_ItemShopInfoAPI_PersonalItem + lg.API_Failure + "!"); return(Message.COMMON_MES_RESP("FAILURE", Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEM_UPDATE_RESP)); } } catch (Common.Logic.Exception ex) { return(Message.COMMON_MES_RESP(ex.Message, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEM_UPDATE_RESP)); } }
/// <summary> /// 查看道具使用期限 /// </summary> /// <returns></returns> public Message ItemLimit_Query() { DataSet ds = null; int itemcode = 0; try { TLV_Structure tlvStrut = new TLV_Structure(TagName.SDO_ProductID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ProductID).m_bValueBuffer); itemcode = (int)tlvStrut.toInteger(); ds = ItemShopInfo.itemlimit_Query(itemcode); if (ds != null && ds.Tables[0].Rows.Count > 0) { return(Message.COMMON_MES_RESP(Convert.ToInt32(ds.Tables[0].Rows[0].ItemArray[0].ToString()), Msg_Category.SDO_ADMIN, ServiceKey.SDO_DAYSLIMIT_QUERY_RESP, TagName.SDO_DaysLimit, TagFormat.TLV_INTEGER)); } else { return(Message.COMMON_MES_RESP("没有该道具的期限", Msg_Category.SDO_ADMIN, ServiceKey.SDO_DAYSLIMIT_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception e) { return(Message.COMMON_MES_RESP("没有该道具的期限", Msg_Category.SDO_ADMIN, ServiceKey.SDO_DAYSLIMIT_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家消费记录 /// </summary> /// <returns></returns> public Message UserConsume_Query(int index, int pageSize) { string serverIP = null; string account = null; DateTime beginDate; DateTime endDate; int moneyType = -1; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ServerIP).m_bValueBuffer); account = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_UserID).m_bValueBuffer); TLV_Structure tlvStrut = new TLV_Structure(TagName.O2JAM2_BeginDate, 3, msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_BeginDate).m_bValueBuffer); beginDate = tlvStrut.toDate(); tlvStrut = new TLV_Structure(TagName.O2JAM2_ENDDate, 3, msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ENDDate).m_bValueBuffer); endDate = tlvStrut.toDate(); tlvStrut = new TLV_Structure(TagName.O2JAM2_ComsumeType, 4, msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ComsumeType).m_bValueBuffer); moneyType = (int)tlvStrut.toInteger(); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + account + lg.O2JAM2API_ItemShopAPI_ConsumeRecord); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + account + lg.O2JAM2API_ItemShopAPI_ConsumeRecord); ds = ItemShopInfo.userConsume_Query(serverIP, account, moneyType, beginDate, endDate); if (ds != null && ds.Tables[0].Rows.Count > 0) { //总页数 int pageCount = 0; pageCount = ds.Tables[0].Rows.Count % pageSize; if (pageCount > 0) { pageCount = ds.Tables[0].Rows.Count / pageSize + 1; } else { pageCount = ds.Tables[0].Rows.Count / pageSize; } if (index + pageSize > ds.Tables[0].Rows.Count) { pageSize = ds.Tables[0].Rows.Count - index; } Query_Structure[] structList = new Query_Structure[pageSize]; for (int i = index; i < index + pageSize; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length + 1); byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.O2JAM2_ComsumeCode, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[1]); strut.AddTagKey(TagName.O2JAM2_MoneyType, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.O2JAM2_MCash, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[3]); strut.AddTagKey(TagName.O2JAM2_BeginDate, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); //使用期限 int daylimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[4]); if (daylimits == -1) { daylimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, daylimits); strut.AddTagKey(TagName.O2JAM2_DayLimit, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //使用次数 int timeslimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[5]); if (timeslimits == -1) { timeslimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, timeslimits); strut.AddTagKey(TagName.O2JAM2_Timeslimt, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[6]); strut.AddTagKey(TagName.O2JAM2_ItemName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //总页数 strut.AddTagKey(TagName.PageCount, TagFormat.TLV_INTEGER, 4, TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, pageCount)); structList[i - index] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_CONUMSE_QUERY_RESP, 8)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM2API_ItemShopAPI_NoConsumeRecord, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_CONUMSE_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(ex.Message, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_CONUMSE_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看游戏里面所有道具 /// </summary> /// <returns></returns> public Message itemShop_QueryALL() { string serverIP = null; int bigType = 0; int smallType = 0; DataSet ds = null; string Name = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ServerIP).m_bValueBuffer); //道具大类 TLV_Structure tlvStrut = new TLV_Structure(TagName.SDO_BigType, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_BigType).m_bValueBuffer); bigType = (int)tlvStrut.toInteger(); //道具小类 tlvStrut = new TLV_Structure(TagName.SDO_SmallType, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_SmallType).m_bValueBuffer); smallType = (int)tlvStrut.toInteger(); Name = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ItemName).m_bValueBuffer); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.SDOAPI_SDO + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.SDOAPI_SDOItemShopAPI_GameItem + "!"); //请求所有分类道具列表 ds = ItemShopInfo.itemShop_QueryAll(serverIP, bigType, smallType, Name); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[ds.Tables[0].Rows.Count]; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length); byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.SDO_BigType, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[1]); strut.AddTagKey(TagName.SDO_SmallType, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具编号 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.SDO_ItemCode, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具名 object itemName; if (ds.Tables[0].Rows[i].IsNull(3) == false) { itemName = ds.Tables[0].Rows[i].ItemArray[3]; } else { itemName = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, itemName); strut.AddTagKey(TagName.SDO_ItemName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //道具使用次数 int timelimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[4]); if (timelimits == -1) { timelimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, timelimits); strut.AddTagKey(TagName.SDO_TimesLimit, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //使用时限 //道具使用次数 int dayslimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[5]); if (dayslimits == -1) { dayslimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, dayslimits); strut.AddTagKey(TagName.SDO_DaysLimit, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); structList[i] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.SDO_ADMIN, ServiceKey.SDO_ITEMSHOP_QUERY_RESP, 6)); } else { return(Message.COMMON_MES_RESP(lg.SDOAPI_SDOItemShopAPI_NoItem, Msg_Category.SDO_ADMIN, ServiceKey.SDO_ITEMSHOP_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(ex.Message, Msg_Category.SDO_ADMIN, ServiceKey.SDO_ITEMSHOP_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家礼物盒的道具 /// </summary> /// <returns></returns> public Message giftBox_Query(int index, int pageSize) { string serverIP = null; int userIndexID = 0; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ServerIP).m_bValueBuffer); TLV_Structure tlvStrut = new TLV_Structure(TagName.SDO_UserIndexID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_UserIndexID).m_bValueBuffer); userIndexID = (int)tlvStrut.toInteger(); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.SDOAPI_SDO + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.SDOAPI_SDOItemLogInfoAPI_Account + userIndexID + lg.SDOAPI_SDOItemShopAPI_GiftItem + "!"); //请求所有分类道具列表 ds = ItemShopInfo.SDOGiftBox_Query(serverIP, userIndexID); if (ds != null && ds.Tables[0].Rows.Count > 0) { //总页数 int pageCount = 0; pageCount = ds.Tables[0].Rows.Count % pageSize; if (pageCount > 0) { pageCount = ds.Tables[0].Rows.Count / pageSize + 1; } else { pageCount = ds.Tables[0].Rows.Count / pageSize; } if (index + pageSize > ds.Tables[0].Rows.Count) { pageSize = ds.Tables[0].Rows.Count - index; } Query_Structure[] structList = new Query_Structure[pageSize]; for (int i = index; i < index + pageSize; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length + 1); //道具名 object itemName; if (ds.Tables[0].Rows[i].IsNull(0) == false) { itemName = ds.Tables[0].Rows[i].ItemArray[0]; } else { itemName = ""; } byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, itemName); strut.AddTagKey(TagName.SDO_ItemName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //大类 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[1]); strut.AddTagKey(TagName.SDO_BigType, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //小类 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.SDO_SmallType, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //使用期限 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[3]); strut.AddTagKey(TagName.SDO_DateLimit, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); //使用次数 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[4]); strut.AddTagKey(TagName.SDO_TimesLimit, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //主题 object title; if (ds.Tables[0].Rows[i].IsNull(5) == false) { title = ds.Tables[0].Rows[i].ItemArray[5]; } else { title = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, title); strut.AddTagKey(TagName.SDO_Title, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //内容 object context; if (ds.Tables[0].Rows[i].IsNull(6) == false) { context = ds.Tables[0].Rows[i].ItemArray[6]; } else { context = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, context); strut.AddTagKey(TagName.SDO_Context, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //道具编号 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[7]); strut.AddTagKey(TagName.SDO_ItemCode, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //赠送日期 object sendDate; if (ds.Tables[0].Rows[i].IsNull(8) == false) { sendDate = ds.Tables[0].Rows[i].ItemArray[8]; } else { sendDate = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, sendDate); strut.AddTagKey(TagName.SDO_SendTime, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); //总页数 strut.AddTagKey(TagName.PageCount, TagFormat.TLV_INTEGER, 4, TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, pageCount)); structList[i - index] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.SDO_ADMIN, ServiceKey.SDO_GIFTBOX_QUERY_RESP, 10)); } else { return(Message.COMMON_MES_RESP(lg.SDOAPI_SDOItemShopAPI_NoItemOnGift, Msg_Category.SDO_ADMIN, ServiceKey.SDO_GIFTBOX_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(lg.SDOAPI_SDOItemShopAPI_NoItemOnGift, Msg_Category.SDO_ADMIN, ServiceKey.SDO_GIFTBOX_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看游戏里面所有道具 /// </summary> /// <returns></returns> public Message itemShop_QueryALL() { string serverIP = null; string itemName1 = null; string userID = null; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ServerIP).m_bValueBuffer); itemName1 = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ItemName).m_bValueBuffer); userID = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_UserID).m_bValueBuffer); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_ItemShopAPI_AllGameItem); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_ItemShopAPI_AllGameItem); //请求所有分类道具列表 ds = ItemShopInfo.itemShop_QueryAll(serverIP, itemName1, userID); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[ds.Tables[0].Rows.Count]; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length); //道具编号 byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.O2JAM2_ItemCode, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具名 object itemName; if (ds.Tables[0].Rows[i].IsNull(1) == false) { itemName = ds.Tables[0].Rows[i].ItemArray[1]; } else { itemName = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, itemName); strut.AddTagKey(TagName.O2JAM2_ItemName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //道具名 object descrpt; if (ds.Tables[0].Rows[i].IsNull(2) == false) { descrpt = ds.Tables[0].Rows[i].ItemArray[2]; } else { descrpt = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, descrpt); strut.AddTagKey(TagName.O2JAM2_Context, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //道具使用次数 int timelimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[3]); if (timelimits == -1) { timelimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, timelimits); strut.AddTagKey(TagName.O2JAM2_Timeslimt, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //使用时限 //道具使用次数 int dayslimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[4]); if (dayslimits == -1) { dayslimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, dayslimits); strut.AddTagKey(TagName.O2JAM2_DayLimit, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); structList[i] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_ITEMSHOP_QUERY_RESP, 5)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM2API_ItemShopAPI_NoGameItem, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_ITEMSHOP_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(lg.O2JAM2API_AccountInfoAPI_NoAccount, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_ITEMSHOP_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家礼物盒的道具 /// </summary> /// <returns></returns> public Message giftBox_Query(int index, int pageSize) { string serverIP = null; string userID = null; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ServerIP).m_bValueBuffer); userID = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_UserID).m_bValueBuffer); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + userID + lg.O2JAM2API_ItemShopAPI_GiftItem); //请求所有分类道具列表 ds = ItemShopInfo.O2JAM2GiftBox_Query(serverIP, userID); if (ds != null && ds.Tables[0].Rows.Count > 0) { //总页数 int pageCount = 0; pageCount = ds.Tables[0].Rows.Count % pageSize; if (pageCount > 0) { pageCount = ds.Tables[0].Rows.Count / pageSize + 1; } else { pageCount = ds.Tables[0].Rows.Count / pageSize; } if (index + pageSize > ds.Tables[0].Rows.Count) { pageSize = ds.Tables[0].Rows.Count - index; } Query_Structure[] structList = new Query_Structure[pageSize]; for (int i = index; i < index + pageSize; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length + 1); //道具编号 byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.O2JAM2_ItemCode, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具名 object itemName; if (ds.Tables[0].Rows[i].IsNull(1) == false) { itemName = ds.Tables[0].Rows[i].ItemArray[1]; } else { itemName = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, itemName); strut.AddTagKey(TagName.O2JAM2_ItemName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //使用次数 int timeslimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[2]); if (timeslimits == -1) { timeslimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, timeslimits); strut.AddTagKey(TagName.O2JAM2_DayLimit, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //使用期限 int dayslimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[3]); if (dayslimits == -1) { dayslimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, dayslimits); strut.AddTagKey(TagName.O2JAM2_DayLimit, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //主题 object title; if (ds.Tables[0].Rows[i].IsNull(4) == false) { title = ds.Tables[0].Rows[i].ItemArray[4]; } else { title = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, title); strut.AddTagKey(TagName.O2JAM2_Title, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //内容 object context; if (ds.Tables[0].Rows[i].IsNull(5) == false) { context = ds.Tables[0].Rows[i].ItemArray[5]; } else { context = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, context); strut.AddTagKey(TagName.O2JAM2_Context, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //赠送日期 object sendDate; if (ds.Tables[0].Rows[i].IsNull(6) == false) { sendDate = ds.Tables[0].Rows[i].ItemArray[6]; } else { sendDate = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, sendDate); strut.AddTagKey(TagName.SDO_SendTime, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); //总页数 strut.AddTagKey(TagName.PageCount, TagFormat.TLV_INTEGER, 4, TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, pageCount)); structList[i - index] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_MESSAGE_QUERY_RESP, 8)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM2API_ItemShopAPI_NoGiftItem, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_MESSAGE_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(lg.O2JAM2API_AccountInfoAPI_NoAccount, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_MESSAGE_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家消费记录 /// </summary> /// <returns></returns> public Message UserConsume_Query(int index, int pageSize) { string serverIP = null; string account = null; DateTime beginDate; DateTime endDate; int kind = 0; int buyType = -1; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ServerIP).m_bValueBuffer); account = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_UserID).m_bValueBuffer); TLV_Structure tlvStrut = new TLV_Structure(TagName.o2jam_KIND, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_KIND).m_bValueBuffer); kind = (int)tlvStrut.toInteger(); tlvStrut = new TLV_Structure(TagName.O2JAM_BuyType, 4, msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM_BuyType).m_bValueBuffer); buyType = (int)tlvStrut.toInteger(); tlvStrut = new TLV_Structure(TagName.o2jam_BeginDate, 3, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_BeginDate).m_bValueBuffer); beginDate = tlvStrut.toDate(); tlvStrut = new TLV_Structure(TagName.o2jam_EndDate, 3, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_EndDate).m_bValueBuffer); endDate = tlvStrut.toDate(); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + account + lg.O2JAM_ItemShopInfoAPI_ConsumeRecord); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + account + lg.O2JAM_ItemShopInfoAPI_ConsumeRecord); ds = ItemShopInfo.userConsume_Query(serverIP, account, kind, buyType, beginDate, endDate); if (ds != null && ds.Tables[0].Rows.Count > 0) { //总页数 int pageCount = 0; pageCount = ds.Tables[0].Rows.Count % pageSize; if (pageCount > 0) { pageCount = ds.Tables[0].Rows.Count / pageSize + 1; } else { pageCount = ds.Tables[0].Rows.Count / pageSize; } if (index + pageSize > ds.Tables[0].Rows.Count) { pageSize = ds.Tables[0].Rows.Count - index; } Query_Structure[] structList = new Query_Structure[pageSize]; for (int i = index; i < index + pageSize; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length + 1); byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.o2jam_UserID, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[1]); strut.AddTagKey(TagName.o2jam_ITEM_INDEX_ID, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.o2jam_ITEM_NAME, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[3]); strut.AddTagKey(TagName.o2jam_GEM, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[4]); strut.AddTagKey(TagName.o2jam_MCASH, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[5]); strut.AddTagKey(TagName.o2jam_REG_DATE, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[6]); strut.AddTagKey(TagName.o2jam_ReceiverID, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[7]); strut.AddTagKey(TagName.o2jam_ReceiverNickName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //总页数 strut.AddTagKey(TagName.PageCount, TagFormat.TLV_INTEGER, 4, TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, pageCount)); structList[i - index] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_CONSUME_QUERY_RESP, 9)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoConsumeRecord, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_CONSUME_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception) { return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoConsumeRecord, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_CONSUME_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家消费记录 /// </summary> /// <returns></returns> public Message UserConsume_Query(int index, int pageSize) { string serverIP = null; string account = null; DateTime beginDate; DateTime endDate; int moneyType = -1; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ServerIP).m_bValueBuffer); account = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_Account).m_bValueBuffer); TLV_Structure tlvStrut = new TLV_Structure(TagName.SDO_BeginTime, 3, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_BeginTime).m_bValueBuffer); beginDate = tlvStrut.toDate(); tlvStrut = new TLV_Structure(TagName.SDO_EndTime, 3, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_EndTime).m_bValueBuffer); endDate = tlvStrut.toDate(); tlvStrut = new TLV_Structure(TagName.SDO_MoneyType, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_MoneyType).m_bValueBuffer); moneyType = (int)tlvStrut.toInteger(); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.SDOAPI_SDO + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.SDOAPI_SDOItemLogInfoAPI_Account + account + lg.SDOAPI_SDOItemShopAPI_TradeRecord + "!"); ds = ItemShopInfo.userConsume_Query(serverIP, account, moneyType, beginDate, endDate); if (ds != null && ds.Tables[0].Rows.Count > 0) { //总页数 int pageCount = 0; pageCount = ds.Tables[0].Rows.Count % pageSize; if (pageCount > 0) { pageCount = ds.Tables[0].Rows.Count / pageSize + 1; } else { pageCount = ds.Tables[0].Rows.Count / pageSize; } if (index + pageSize > ds.Tables[0].Rows.Count) { pageSize = ds.Tables[0].Rows.Count - index; } Query_Structure[] structList = new Query_Structure[pageSize]; for (int i = index; i < index + pageSize; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length + 1); byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.SDO_Account, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[1]); strut.AddTagKey(TagName.SDO_ProductID, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.SDO_ProductName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[3]); strut.AddTagKey(TagName.SDO_MoneyCost, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[4]); strut.AddTagKey(TagName.SDO_MoneyType, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[5]); strut.AddTagKey(TagName.SDO_ShopTime, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); //总页数 strut.AddTagKey(TagName.PageCount, TagFormat.TLV_INTEGER, 4, TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, pageCount)); structList[i - index] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.SDO_ADMIN, ServiceKey.SDO_CONSUME_QUERY_RESP, 7)); } else { return(Message.COMMON_MES_RESP(lg.SDOAPI_SDOItemShopAPI_NoChargeRecord, Msg_Category.SDO_ADMIN, ServiceKey.SDO_CONSUME_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(lg.SDOAPI_SDOItemShopAPI_NoChargeRecord, Msg_Category.SDO_ADMIN, ServiceKey.SDO_CONSUME_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家礼物盒的道具 /// </summary> /// <returns></returns> public Message giftBox_Query() { string serverIP = null; int userIndexID = 0; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ServerIP).m_bValueBuffer); TLV_Structure tlvStrut = new TLV_Structure(TagName.o2jam_USER_INDEX_ID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_USER_INDEX_ID).m_bValueBuffer); userIndexID = (int)tlvStrut.toInteger(); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.O2JAM_ItemShopInfoAPI_GiftItem); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + userIndexID + lg.O2JAM_ItemShopInfoAPI_GiftItem); //请求所有分类道具列表 ds = ItemShopInfo.O2JAMGiftBox_Query(serverIP, userIndexID); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[ds.Tables[0].Rows.Count]; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length); //道具ID byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.o2jam_ITEM_INDEX_ID, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具名 object itemName; if (ds.Tables[0].Rows[i].IsNull(1) == false) { itemName = ds.Tables[0].Rows[i].ItemArray[1]; } else { itemName = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, itemName); strut.AddTagKey(TagName.o2jam_ITEM_NAME, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //G币 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.o2jam_GEM, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //M币 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[3]); strut.AddTagKey(TagName.o2jam_MCASH, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //发送人呢称 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[4]); strut.AddTagKey(TagName.o2jam_SenderNickName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //日期 object sendDate; if (ds.Tables[0].Rows[i].IsNull(5) == false) { sendDate = ds.Tables[0].Rows[i].ItemArray[5]; } else { sendDate = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, sendDate); strut.AddTagKey(TagName.o2jam_ReadDate, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); structList[i] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_GIFTBOX_QUERY_RESP, 6)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoItemOnGift, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_GIFTBOX_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(ex.Message, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_GIFTBOX_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家身上道具 /// </summary> /// <returns></returns> public Message itemShop_Owner_Query() { string serverIP = null; string account = null; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ServerIP).m_bValueBuffer); account = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_UserID).m_bValueBuffer); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + account + lg.O2JAM_ItemShopInfoAPI_PersonalItem); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_CharacterInfoAPI_Account + account + lg.O2JAM_ItemShopInfoAPI_PersonalItem); //请求玩家身上的道具 ds = ItemShopInfo.itemShop_Query(serverIP, account); if (ds != null && ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[1]; Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[0].ItemArray.Length + 1); //道具编号 byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[0]); strut.AddTagKey(TagName.o2jam_ITEM_INDEX_ID, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具名 //bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING,UserValidate.validData(ds.Tables[0].Rows[0].ItemArray[1])); //strut.AddTagKey(TagName.o2jam_ITEM_NAME,TagFormat.TLV_STRING,(uint)bytes.Length,bytes); //道具1 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[1]); strut.AddTagKey(TagName.O2JAM_EQUIP1, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具2 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[2]); strut.AddTagKey(TagName.O2JAM_EQUIP2, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具3 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[3]); strut.AddTagKey(TagName.O2JAM_EQUIP3, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具4 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[4]); strut.AddTagKey(TagName.O2JAM_EQUIP4, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具5 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[5]); strut.AddTagKey(TagName.O2JAM_EQUIP5, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具6 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[6]); strut.AddTagKey(TagName.O2JAM_EQUIP6, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具7 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[7]); strut.AddTagKey(TagName.O2JAM_EQUIP7, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具8 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[8]); strut.AddTagKey(TagName.O2JAM_EQUIP8, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具9 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[9]); strut.AddTagKey(TagName.O2JAM_EQUIP9, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具10 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[10]); strut.AddTagKey(TagName.O2JAM_EQUIP10, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具11 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[11]); strut.AddTagKey(TagName.O2JAM_EQUIP11, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具12 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[12]); strut.AddTagKey(TagName.O2JAM_EQUIP12, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具13 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[13]); strut.AddTagKey(TagName.O2JAM_EQUIP13, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具14 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[14]); strut.AddTagKey(TagName.O2JAM_EQUIP14, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具15 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[15]); strut.AddTagKey(TagName.O2JAM_EQUIP15, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具16 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[16]); strut.AddTagKey(TagName.O2JAM_EQUIP16, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹1 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[17]); strut.AddTagKey(TagName.O2JAM_BAG1, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹2 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[18]); strut.AddTagKey(TagName.O2JAM_BAG2, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹3 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[19]); strut.AddTagKey(TagName.O2JAM_BAG3, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹4 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[20]); strut.AddTagKey(TagName.O2JAM_BAG4, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹5 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[21]); strut.AddTagKey(TagName.O2JAM_BAG5, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹6 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[22]); strut.AddTagKey(TagName.O2JAM_BAG6, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹7 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[23]); strut.AddTagKey(TagName.O2JAM_BAG7, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹8 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[24]); strut.AddTagKey(TagName.O2JAM_BAG8, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹9 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[25]); strut.AddTagKey(TagName.O2JAM_BAG9, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹10 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[26]); strut.AddTagKey(TagName.O2JAM_BAG10, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹11 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[27]); strut.AddTagKey(TagName.O2JAM_BAG11, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹12 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[28]); strut.AddTagKey(TagName.O2JAM_BAG12, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹13 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[29]); strut.AddTagKey(TagName.O2JAM_BAG13, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹14 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[30]); strut.AddTagKey(TagName.O2JAM_BAG14, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹15 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[31]); strut.AddTagKey(TagName.O2JAM_BAG15, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹16 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[32]); strut.AddTagKey(TagName.O2JAM_BAG16, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[33]); strut.AddTagKey(TagName.O2JAM_BAG17, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹18 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[34]); strut.AddTagKey(TagName.O2JAM_BAG18, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹19 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[35]); strut.AddTagKey(TagName.O2JAM_BAG19, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹20 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[36]); strut.AddTagKey(TagName.O2JAM_BAG20, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹21 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[37]); strut.AddTagKey(TagName.O2JAM_BAG21, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹22 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[38]); strut.AddTagKey(TagName.O2JAM_BAG22, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹23 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[39]); strut.AddTagKey(TagName.O2JAM_BAG23, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹24 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[40]); strut.AddTagKey(TagName.O2JAM_BAG24, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹25 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[41]); strut.AddTagKey(TagName.O2JAM_BAG25, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹26 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[42]); strut.AddTagKey(TagName.O2JAM_BAG26, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹27 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[43]); strut.AddTagKey(TagName.O2JAM_BAG27, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹28 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[44]); strut.AddTagKey(TagName.O2JAM_BAG28, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹29 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[45]); strut.AddTagKey(TagName.O2JAM_BAG29, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //包裹30 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[0].ItemArray[46]); strut.AddTagKey(TagName.O2JAM_BAG30, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); structList[0] = strut; return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEM_QUERY_RESP, 47)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoItemOnPlayer, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEM_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoItemOnPlayer, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEM_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看游戏里面所有道具 /// </summary> /// <returns></returns> public Message itemShop_QueryALL() { string serverIP = null; string itemName1 = null; int sex = -1; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ServerIP).m_bValueBuffer); itemName1 = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_ITEM_NAME).m_bValueBuffer); TLV_Structure tlvStrut = new TLV_Structure(TagName.o2jam_Sex, 4, msg.m_packet.m_Body.getTLVByTag(TagName.o2jam_Sex).m_bValueBuffer); sex = (int)tlvStrut.toInteger(); SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_ItemShopInfoAPI_GameItem); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM_O2JAM + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM_ItemShopInfoAPI_GameItem); //请求所有分类道具列表 ds = ItemShopInfo.itemShop_QueryAll(serverIP, itemName1, sex); if (ds.Tables[0].Rows.Count > 0) { Query_Structure[] structList = new Query_Structure[ds.Tables[0].Rows.Count]; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length); //道具编号 byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.o2jam_ITEM_INDEX_ID, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具名 object itemName; if (ds.Tables[0].Rows[i].IsNull(1) == false) { itemName = ds.Tables[0].Rows[i].ItemArray[1]; } else { itemName = ""; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, itemName); strut.AddTagKey(TagName.o2jam_ITEM_NAME, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //性别 sex = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[2]); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, sex); strut.AddTagKey(TagName.o2jam_Sex, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //G币 int GCash = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[3]); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, GCash); strut.AddTagKey(TagName.o2jam_GEM, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //M币 int MCash = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[4]); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, MCash); strut.AddTagKey(TagName.o2jam_MCASH, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); structList[i] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEM_QUERY_RESP, 5)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoItem, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEM_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(lg.O2JAM_ItemShopInfoAPI_NoItem, Msg_Category.O2JAM_ADMIN, ServiceKey.O2JAM_ITEM_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家交易记录 /// </summary> /// <returns></returns> public Message UserTrade_Query(int index, int pageSize) { string serverIP = null; string senderUserID = null; string receiveserID = null; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_ServerIP).m_bValueBuffer); senderUserID = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_UserID).m_bValueBuffer); receiveserID = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.O2JAM2_UserNick).m_bValueBuffer); if (senderUserID.Length < 0) { senderUserID = receiveserID; } SqlHelper.log.WriteLog(lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + senderUserID + lg.O2JAM2API_ItemShopAPI_TradeRecord); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.O2JAM2API_BAF + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.O2JAM2API_AccountInfoAPI_Account + senderUserID + lg.O2JAM2API_ItemShopAPI_TradeRecord); ds = ItemShopInfo.userTrade_Query(serverIP, senderUserID, receiveserID); if (ds != null && ds.Tables[0].Rows.Count > 0) { //总页数 int pageCount = 0; pageCount = ds.Tables[0].Rows.Count % pageSize; if (pageCount > 0) { pageCount = ds.Tables[0].Rows.Count / pageSize + 1; } else { pageCount = ds.Tables[0].Rows.Count / pageSize; } if (index + pageSize > ds.Tables[0].Rows.Count) { pageSize = ds.Tables[0].Rows.Count - index; } Query_Structure[] structList = new Query_Structure[pageSize]; for (int i = index; i < index + pageSize; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length + 1); byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.SDO_ItemCode, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[1]); strut.AddTagKey(TagName.SDO_ItemName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.SDO_SendIndexID, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[3]); strut.AddTagKey(TagName.SDO_SendUserID, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[4]); strut.AddTagKey(TagName.SDO_SendTime, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, ds.Tables[0].Rows[i].ItemArray[5]); strut.AddTagKey(TagName.SDO_ReceiveNick, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //总页数 strut.AddTagKey(TagName.PageCount, TagFormat.TLV_INTEGER, 4, TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, pageCount)); structList[i - index] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_TRADE_QUERY_RESP, 7)); } else { return(Message.COMMON_MES_RESP(lg.O2JAM2API_ItemShopAPI_NoTradeRecord, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_TRADE_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (System.Exception ex) { return(Message.COMMON_MES_RESP(ex.Message, Msg_Category.O2JAM2_ADMIN, ServiceKey.O2JAM2_TRADE_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }
/// <summary> /// 查看玩家身上道具 /// </summary> /// <returns></returns> public Message itemShop_Owner_Query(int index, int pageSize) { string serverIP = null; int userIndexID = 0; DataSet ds = null; try { serverIP = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_ServerIP).m_bValueBuffer); TLV_Structure tlvStrut = new TLV_Structure(TagName.SDO_UserIndexID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.SDO_UserIndexID).m_bValueBuffer); userIndexID = (int)tlvStrut.toInteger(); Console.WriteLine(DateTime.Now + " - " + lg.API_Display + lg.SDOAPI_SDO + "+>" + lg.API_CommonAPI_ServerIP + CommonInfo.serverIP_Query(serverIP) + lg.SDOAPI_SDOItemLogInfoAPI_Account + userIndexID + lg.SDOAPI_SDOItemShopAPI_PersonalItem + "!"); //请求玩家身上的道具 ds = ItemShopInfo.itemShop_Query(serverIP, userIndexID); if (ds != null && ds.Tables[0].Rows.Count > 0) { //总页数 int pageCount = 0; pageCount = ds.Tables[0].Rows.Count % pageSize; if (pageCount > 0) { pageCount = ds.Tables[0].Rows.Count / pageSize + 1; } else { pageCount = ds.Tables[0].Rows.Count / pageSize; } if (index + pageSize > ds.Tables[0].Rows.Count) { pageSize = ds.Tables[0].Rows.Count - index; } Query_Structure[] structList = new Query_Structure[pageSize]; for (int i = index; i < index + pageSize; i++) { Query_Structure strut = new Query_Structure((uint)ds.Tables[0].Rows[i].ItemArray.Length + 1); //道具编号 byte[] bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[0]); strut.AddTagKey(TagName.SDO_ItemCode, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具名 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, UserValidate.validData(ds.Tables[0].Rows[i].ItemArray[1])); strut.AddTagKey(TagName.SDO_ItemName, TagFormat.TLV_STRING, (uint)bytes.Length, bytes); //最小等级 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[2]); strut.AddTagKey(TagName.SDO_MinLevel, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具位置 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, ds.Tables[0].Rows[i].ItemArray[3]); strut.AddTagKey(TagName.SDO_Postion, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具使用次数 int timelimits = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[4]); if (timelimits == -1) { timelimits = 0; } bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, timelimits); strut.AddTagKey(TagName.SDO_TimesLimit, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes); //道具时间限制 bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_TIMESTAMP, ds.Tables[0].Rows[i].ItemArray[5]); strut.AddTagKey(TagName.SDO_DateLimit, TagFormat.TLV_TIMESTAMP, (uint)bytes.Length, bytes); //总页数 strut.AddTagKey(TagName.PageCount, TagFormat.TLV_INTEGER, 4, TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, pageCount)); structList[i - index] = strut; } return(Message.COMMON_MES_RESP(structList, Msg_Category.SDO_ADMIN, ServiceKey.SDO_ITEMSHOP_BYOWNER_QUERY_RESP, 7)); } else { return(Message.COMMON_MES_RESP(lg.SDOAPI_SDOItemShopAPI_NoItemOnPlayer, Msg_Category.SDO_ADMIN, ServiceKey.SDO_ITEMSHOP_BYOWNER_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } } catch (Common.Logic.Exception ex) { Console.WriteLine(ex.Message); return(Message.COMMON_MES_RESP(lg.SDOAPI_SDOItemShopAPI_NoItemOnPlayer, Msg_Category.SDO_ADMIN, ServiceKey.SDO_ITEMSHOP_BYOWNER_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING)); } }