feat: 手续费计算
This commit is contained in:
@@ -37,6 +37,30 @@
|
|||||||
return value * multiplier;
|
return value * multiplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 计算手续费
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="amount"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static decimal CalculateFee(decimal amount)
|
||||||
|
{
|
||||||
|
decimal rate = 0;
|
||||||
|
|
||||||
|
if (amount < 500_0000) // 0 ~ 499w
|
||||||
|
rate = 0.05m; // 5%
|
||||||
|
else if (amount < 1000_0000) // 500 ~ 999w
|
||||||
|
rate = 0.10m; // 10%
|
||||||
|
else if (amount < 1500_0000) // 1000 ~ 1499w
|
||||||
|
rate = 0.15m; // 15%
|
||||||
|
else if (amount < 2000_0000) // 1500 ~ 1999w
|
||||||
|
rate = 0.20m; // 20%
|
||||||
|
else // 2000w以上
|
||||||
|
rate = 0.30m; // 30%
|
||||||
|
|
||||||
|
return amount * rate;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,22 +84,29 @@ namespace RoBot.Start.Cmd
|
|||||||
|
|
||||||
string msg = "";
|
string msg = "";
|
||||||
decimal totalPrice = 0;
|
decimal totalPrice = 0;
|
||||||
|
decimal fee = 0;
|
||||||
// 打印结果
|
// 打印结果
|
||||||
foreach (var item in results)
|
foreach (var item in results)
|
||||||
{
|
{
|
||||||
var current = RedisHelper.Client.HGet<GoodsInfo>(RedisPrefix.GoodsKey, item.Name);
|
var current = RedisHelper.Client.HGet<GoodsInfo>(RedisPrefix.GoodsKey, item.Name);
|
||||||
if (current is not null)
|
if (current is not null)
|
||||||
{
|
{
|
||||||
|
int num = item.Num.Value > 10 ? 10 : item.Num.Value;
|
||||||
decimal nicePrice = current.Price - 100000;
|
decimal nicePrice = current.Price - 100000;
|
||||||
totalPrice += Convert.ToDecimal(nicePrice * item.Num);
|
totalPrice += Convert.ToDecimal(nicePrice * num);
|
||||||
msg += $"确认坊市上架{item.Name} {(int)current.Price - 100000} {item.Num}\n";
|
|
||||||
|
fee += Math.Round(Utils.CalculateFee(nicePrice) * num, 0);
|
||||||
|
|
||||||
|
msg += $"确认坊市上架{item.Name} {(int)current.Price - 100000} {num}\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (string.IsNullOrWhiteSpace(msg) is false)
|
if (string.IsNullOrWhiteSpace(msg) is false)
|
||||||
{
|
{
|
||||||
msg += "\r\n";
|
msg += "\r\n";
|
||||||
msg += "使用前请先@小小查看坊市药材,过完一遍以获取最新价格\r\n当前价格为坊市价格-10w\r\n";
|
msg += "使用前请先@小小查看坊市药材,过完一遍以获取最新价格\r\n当前价格为坊市价格-10w\r\n";
|
||||||
msg += $"总价值约:{Utils.FormatNumberToChineseUnit(totalPrice)}";
|
msg += $"总价值约:{Utils.FormatNumberToChineseUnit(totalPrice)}\r\n";
|
||||||
|
msg += $"手续费约:{Utils.FormatNumberToChineseUnit(fee)}\r\n";
|
||||||
|
msg += $"到账约:{Utils.FormatNumberToChineseUnit(totalPrice - fee)}";
|
||||||
var systemConfig = GlobalConfig.ConfigSetting;
|
var systemConfig = GlobalConfig.ConfigSetting;
|
||||||
var bot = GlobalConfig.BotContext;
|
var bot = GlobalConfig.BotContext;
|
||||||
await bot.SendMsg((uint)systemConfig.GroupQQ, msg);
|
await bot.SendMsg((uint)systemConfig.GroupQQ, msg);
|
||||||
|
|||||||
Reference in New Issue
Block a user