74 lines
3.2 KiB
C#
74 lines
3.2 KiB
C#
using Google.Protobuf;
|
|
using Google.Protobuf.WellKnownTypes;
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCommon.BusinessLogDomain;
|
|
using MetaAssets;
|
|
|
|
|
|
namespace GameServer.PacketHandler;
|
|
|
|
|
|
using META_ID = System.UInt32;
|
|
|
|
|
|
[PacketHandler("allgameserver", typeof(ServerMessage.Types.GS2GS_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE), typeof(NtfLandAuctionHighestBidderChangeMQPacketHandler), typeof(RabbitMQ4Game))]
|
|
public class NtfLandAuctionHighestBidderChangeMQPacketHandler : PacketRecvHandler
|
|
{
|
|
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
|
{
|
|
var result = new Result();
|
|
|
|
var msg = recvMessage as ServerMessage;
|
|
ArgumentNullException.ThrowIfNull(msg, $"msg is null !!!");
|
|
|
|
var ntf_land_auction_highest_bidder_change = msg.NtfLandAuctionHighestBidderChange;
|
|
ArgumentNullException.ThrowIfNull(ntf_land_auction_highest_bidder_change, $"ntf_land_auction_highest_bidder_change is null !!!");
|
|
|
|
var server_logic = GameServerApp.getServerLogic();
|
|
var player_manager = server_logic.getPlayerManager();
|
|
ArgumentNullException.ThrowIfNull(player_manager, $"player_manager is null !!!");
|
|
|
|
var receiver_user_guid = ntf_land_auction_highest_bidder_change.ReceiverUserGuid;
|
|
if (player_manager.tryGetUserByPrimaryKey(receiver_user_guid, out var found_user) == false)
|
|
{
|
|
var err_msg = $"Failed to tryGetUserByPrimaryKey() !!!, Not found Player !!! : UserGuid:{receiver_user_guid}";
|
|
result.setFail(ServerErrorCode.UserNotLogin, err_msg);
|
|
Log.getLogger().info(result.toBasicString());
|
|
|
|
return result;
|
|
}
|
|
|
|
var has_received_refund_mail = ntf_land_auction_highest_bidder_change.HasReceivedRefundMail;
|
|
|
|
var land_meta_id = (META_ID)ntf_land_auction_highest_bidder_change.LandMetaId;
|
|
var bid_currency_type = ntf_land_auction_highest_bidder_change.CurrencyType;
|
|
var highest_bid_price = ntf_land_auction_highest_bidder_change.HighestBidPrice;
|
|
var highest_bid_user_guid = ntf_land_auction_highest_bidder_change.HighestBidUserGuid;
|
|
var highest_bid_user_nickname = ntf_land_auction_highest_bidder_change.HighestBidUserNickname;
|
|
|
|
if (false == LandAuctionNotifyHelper.send_GS2C_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE( found_user
|
|
, land_meta_id
|
|
, bid_currency_type, highest_bid_price
|
|
, highest_bid_user_guid, highest_bid_user_nickname ) )
|
|
{
|
|
var err_msg = $"Failed to send_GS2C_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE() !!! : LandMetaId:{land_meta_id} - {found_user.toBasicString()}";
|
|
Log.getLogger().error(err_msg);
|
|
}
|
|
|
|
if ( BoolType.True == has_received_refund_mail )
|
|
{
|
|
var mail_action = found_user.getEntityAction<MailAction>();
|
|
NullReferenceCheckHelper.throwIfNull(mail_action, () => $"mail_action is null !!!");
|
|
|
|
mail_action.NewReceivedMail();
|
|
}
|
|
|
|
return await Task.FromResult(result);
|
|
}
|
|
}
|
|
|