自动生成的发票的数据库和代码方法

时间:2018-04-24 19:54:20

标签: sql database database-design relational-database

假设我管理一个域名网站,在那里我销售域名及其托管服务。

我的每个客户都需要付费:

域名: example.com

费用:100.00美元

持续时间: 1年

我想在我的程序中执行的操作是在域名即将过期时自动生成发票。

我已经有了以下方法:

定期发票表:

Recurring_Invoices
 InvoiceID[ID]
 domain_name[VARCHAR]
 Price[Double]
 Last_Invoice_Date[DATETIME]
 Is_Recurring[BYTE]     
 Next_Invoice_Date[DATETIME]

我在代码级别的方法如下:

每次我的程序启动时,我都会检查是否有当月生成的发票。在伪代码中我会这样做:

void getRecurringInvoices()
{
   //Select the invoices WHERE Is_Recurring = 1
}

foreach (Invoice i in RecurringInvoices)
{
  // Get the month of Next_Invoice_Date
  if(Month of Next_Invoice_Date == DateTime.Now.Month)
  {
     //this is an invoice that needs to be generated + Next Invoice Date needs 
     to be prolonged with 1 year
}

我想问这个方法是否合适。我唯一担心的是,如果我的程序没有运行1个月,那么将不会生成该月的重复发票。

这就是为什么我仍然怀疑这种方法。

如何优化此流程?

0 个答案:

没有答案