修复用户金额统计错误bug

This commit is contained in:
chfei committed 2026-10-05 15:13:44 +08:00
1 parent 1e17b61288
commit 3dac74c6c2
1 file changed
+4 -3
@@ -258,14 +258,15 @@ namespace KJD_Web.Services.Users
if (user == null) throw new Exception("错误的用户");
summary.RechargeTotal = (long)Math.Round((user.RechargeAmountTotal ?? 0) * 100m);
summary.Balance = (long)Math.Round((user.Balance ?? 0) * 100m);
List<int> types = new List<int> { 16, 20, 23, 24, 26, 31, 55 };
List<int> types = new List<int> { 16, 20, 23, 24, 26, 31, 34, 35, 36, 55 };
var sql = _freeSql.Select<UserPaymentRecordEntity>().Where(a => types.Contains(a.Type)).Where(a => a.UserName == userName).ToSql();
var data = _freeSql.Select<UserPaymentRecordEntity>()
.Where(a => types.Contains(a.Type))
.Where(a => a.UserName == userName)
.ToList();
decimal sum = data.Sum(r => r.Type == 23 ? -(r.Amount ?? 0) : r.Amount ?? 0);
var negativeTypes = new[] { 23, 34, 36 };
decimal sum = data.Sum(r => negativeTypes.Contains(r.Type) ? -(r.Amount ?? 0) : r.Amount ?? 0);
summary.ConsumeTotal = (long)Math.Round(sum * 100m);
return summary;
}