/// <summary> /// 聊天计费倍率查询 /// </summary> /// <param name="client"></param> /// <param name="buffer"></param> private void ProChatFeeRateQuery(CommuTcpClient client, byte[] buffer) { ChatFeeRateQuery chatFeeRateQuery = new ChatFeeRateQuery(buffer); OnRaiseMsgRecvEvent(client, chatFeeRateQuery.ToString()); var tchatReceiverRate = pXinDb.GetTchatRate(chatFeeRateQuery.Body.Sender, chatFeeRateQuery.Body.Receiver, chatFeeRateQuery.Body.Type); var tchatSenderRate = new TchatRate(); if (chatFeeRateQuery.Body.Type == 1) { if (tchatReceiverRate.Id == 0)//没有设置私聊倍率 { tchatReceiverRate = pXinDb.GetTchatRate(0, chatFeeRateQuery.Body.Receiver, 3); } tchatSenderRate = pXinDb.GetTchatRate(chatFeeRateQuery.Body.Receiver, chatFeeRateQuery.Body.Sender, chatFeeRateQuery.Body.Type); if (tchatSenderRate.Id == 0)//没有设置私聊倍率 { tchatSenderRate = pXinDb.GetTchatRate(0, chatFeeRateQuery.Body.Sender, 3); } var pxinUser = pXinDb.GetReginfoByNodeid(chatFeeRateQuery.Body.Receiver); tchatSenderRate.Rate = pxinUser.Isenterprise == 3 ? 1 : tchatSenderRate.Rate; //当用户是达人时 pxinUser = pXinDb.GetReginfoByNodeid(chatFeeRateQuery.Body.Sender); tchatReceiverRate.Rate = pxinUser.Isenterprise == 3 ? 1 : tchatReceiverRate.Rate; //当对方用户是达人时 } else { tchatSenderRate.Rate = tchatReceiverRate.Rate; tchatSenderRate.Id = tchatReceiverRate.Id; } ChatFeeRateQueryResp chatFeeRateQueryResp = new ChatFeeRateQueryResp(chatFeeRateQuery.Header.Sequence_Id); chatFeeRateQueryResp.Body.Type = chatFeeRateQuery.Body.Type; chatFeeRateQueryResp.Body.Sender = chatFeeRateQuery.Body.Type == 1 ? chatFeeRateQuery.Body.Sender : chatFeeRateQuery.Body.Receiver; chatFeeRateQueryResp.Body.ReceiverRate = tchatReceiverRate.Id == 0 ? 1 : tchatReceiverRate.Rate; chatFeeRateQueryResp.Body.SenderRate = tchatSenderRate.Id == 0 ? 1 : tchatSenderRate.Rate; var userInfo = pXinDb.GetUserInfoByNodeId(client.Nodeid); chatFeeRateQueryResp.Body.VDianBalance = userInfo.V; chatFeeRateQueryResp.Body.PDianBalance = userInfo.P; client.SendData(chatFeeRateQueryResp.ToBytes()); }
/// <summary> /// 向服务器发送"倍率查询"消息 /// </summary> /// <param name="chatFeeRateQuery"></param> /// <returns></returns> public bool SendMessageRateQuery(ChatFeeRateQuery chatFeeRateQuery) { SendData(chatFeeRateQuery.ToBytes()); OnRaiseMsgSendEvent(chatFeeRateQuery.Header.Command_Id, chatFeeRateQuery, "发送消息:" + chatFeeRateQuery.ToString()); return(true); }