我們正處於一個Web應用程序的規劃階段,該應用程序向我們的客戶提供訂閱。訂閱期限不同,可由客戶無限期延長,但始終至少爲一個月(30天)。用於開票和訂閱的應用程序邏輯?
當客戶簽約,客戶信息(賬單地址,電話號碼等)都存儲在一個customers
表和創建訂閱的subscriptions
表:每個月我們」
id | start_date | end_date | customer_id
--------------------------------------------------------
1 | 2010-12-31 | 2011-01-31 | 1
將循環訪問subscriptions
表(最好是cronjob)並創建過去訂閱期的發票,這些發票位於自己的表中 - invoices
。根據客戶的不同,發票可以手動打印出來並通過郵件發送,也可以通過電子郵件發送給客戶。
由於我們的客戶和產品的性質,我們需要提供各種不同的付款方式,包括電匯和信用卡付款,因此一些發票可能需要由我們的員工手動處理和註冊。
每月第15天,invoices
表將循環顯示,如果沒有爲實際發票標記付款,相應的訂閱將被刪除。如果註冊了付款,subscriptions
表中的end_date
表又增加了30天(或我們客戶選擇的時間段)。
我們是通過增加日期來向前還是向後來處理未付費客戶和延長訂閱來解決頭痛問題?隨着客戶擴展其訂閱,增加新的訂閱是否會更好?
難道你不認爲會有新/舊訂閱之間的重疊問題嗎? – Industrial 2010-12-16 22:13:58