PHP-类似银行的月度交易
我不确定输入什么搜索词 我正在建立一个基本的系统,让代理记录租金,我做到了这一点没有问题 下一步是在租金到期时进行可重复的交易,他们有没有关于我应该如何完成这一壮举的教程或建议 例如: 承租人1需要在每个月的第一天支付2英镑的租金PHP-类似银行的月度交易,php,mysql,calendar,cron,banking,Php,Mysql,Calendar,Cron,Banking,我不确定输入什么搜索词 我正在建立一个基本的系统,让代理记录租金,我做到了这一点没有问题 下一步是在租金到期时进行可重复的交易,他们有没有关于我应该如何完成这一壮举的教程或建议 例如: 承租人1需要在每个月的第一天支付2英镑的租金 租户2需要每四周支付1英镑的租金。您应该使用crontab来完成这项任务 # m h dom mon dow user command 17 * * * * root php /path/to/hourly.php 25 6 * * * r
租户2需要每四周支付1英镑的租金。您应该使用crontab来完成这项任务
# m h dom mon dow user command
17 * * * * root php /path/to/hourly.php
25 6 * * * root php daily.php
47 6 * * 7 root php weekly.php
52 6 1 * * root php monthly.php
smth像这样…在一张表格中
T1:
Tenant_id | repeatable | next_due
T2:
Tenant_id | Rent_date
在另一张桌子上
T1:
Tenant_id | repeatable | next_due
T2:
Tenant_id | Rent_date
使用如下查询:
SELECT
*
FROM
T1 JOIN
(SELECT
tenant_id, MAX(Rent_date) LastRent
FROM
T2
GROUP BY
tenant_id
) MaxT2 on T1.tenant_id = MaxT2.tenant_id
WHERE
MaxT2.LastRent + repeatable > T1.next_due
当您在此选择中找到某些内容时,将当前汇率的交易插入T2,并在T1中使用租金日期+可重复日期更新下一个到期日
将此脚本放在一个文件中并使用cron-使其每天运行(最好是在早上)
这只是一个简单的答案。您必须注意可重复字段(例如,表示天数、周数或每月的第10天)。您可以为每个付款记录保留四个字段—
付款日期
,定期天数间隔
,欠款
,价格
。
然后,在每天运行的cronjob上,检查我们是否达到了天数间隔,如果是,则将价格添加到当前欠下的。一旦此人支付了部分或全部账单,您就可以将其从欠下的金额减少到
您应该每天运行的查询应该类似于:
updatepayments SET-owe=COALESCE(owe,0)+COALESCE(price,0),其中周期性天数间隔不为空,日期添加(payment,interval-recurtive天数间隔天数)>NOW()
如果您想停止重复,只需将重复天数间隔
设置为空
看看谢谢您的回复,这就是我要找的。可重复性可能是一个问题,有些人每四周支付一次,有些人每月支付X。我想我可以找到一个解决方案,现在您已经提供了对查询的深入了解。我需要更多的银行交易系统,而不是余额系统。谢谢你,你的回答帮助我理解了这个问题。