Add transfer tracking and secure admin access
This commit is contained in:
@@ -12,8 +12,10 @@ public record ParsedBill(
|
||||
string CategoryName,
|
||||
string Note,
|
||||
decimal Amount,
|
||||
string? PaymentMethod,
|
||||
DateTime? OccurredAt = null);
|
||||
string? PaymentMethod,
|
||||
DateTime? OccurredAt = null,
|
||||
TransferDirection? TransferDirection = null,
|
||||
string? Counterparty = null);
|
||||
|
||||
public record IntentResult(string Kind, ParsedBill? Bill); // bill | query | chat
|
||||
|
||||
@@ -67,13 +69,19 @@ public class ReplyService(AppDbContext db)
|
||||
public async Task<string> BillReplyAsync(long userId, ParsedBill bill)
|
||||
{
|
||||
var (persona, tic) = await GetPersonaAsync(userId);
|
||||
var action = bill.Type == TransactionType.Income ? "收入" : "支出";
|
||||
var action = bill.Type switch
|
||||
{
|
||||
TransactionType.Income => "收入",
|
||||
TransactionType.Transfer when bill.TransferDirection == TransferDirection.In => "转入",
|
||||
TransactionType.Transfer => "转出",
|
||||
_ => "支出",
|
||||
};
|
||||
var body = persona switch
|
||||
{
|
||||
"gentle" => $"{action}记好啦~{bill.CategoryName} ¥{bill.Amount:F2}",
|
||||
"strict" => $"已记录{action}:{bill.CategoryName} ¥{bill.Amount:F2}。",
|
||||
"meme" => $"{action}记上了!{bill.CategoryName} ¥{bill.Amount:F2},家人们谁懂啊",
|
||||
_ => bill.Type == TransactionType.Income
|
||||
_ => bill.Type.IsIncome(bill.TransferDirection)
|
||||
? $"收入到账!{bill.CategoryName} ¥{bill.Amount:F2},钱包回血啦"
|
||||
: $"记好了!{bill.CategoryName} ¥{bill.Amount:F2},这笔支出我帮你盯着",
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user