微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据用户输入的日期来计划Rails电子邮件/剩余邮件

如何解决根据用户输入的日期来计划Rails电子邮件/剩余邮件

我有一个设置,如果用户没有按月支付租金,我想向他们发送自动提醒。房东有权定义租户应在每月的哪一天付款( Public Class NewRelationForm 'groupBoxen disablen on load Me.grpKiesUwRelatietype.Visible = True Me.grpBasisData.Visible = False Me.grpDataBI.Visible = False Me.grpFoto_Nota.Visible = False Me.grpHuisartsData.Visible = False Me.grpPartijData.Visible = False Me.grpVerwijzerdata.Visible = False End Sub 'KnopPEN en Functies! Private Sub NewRelationForm_Load(sender As Object,e As EventArgs) Handles MyBase.Load Me.Tbl_TypeTableAdapter1.Fill(Me.PatientenDatabaseDataSetX1.tbl_Type) Me.Tbl_OnderzoeksTypestableAdapter.Fill(Me.PatientenDatabaseDataSetX1.tbl_OnderzoeksTypes) Me.Tbl_RelatiesTableAdapter.Fill(Me.PatientenDatabaseDataSetX.tbl_Relaties) End Sub Private Sub btnAddRelation_Click(sender As Object,e As EventArgs) Handles btnAddRelation.Click FormMakeRelationType.Show() End Sub Private Sub lBoxRelatieTypes_SelectedindexChanged(sender As Object,e As EventArgs) Handles lBoxRelatieTypes.SelectedindexChanged End Sub 'Private Sub lBoxRelatieTypes_SelectedindexChanged(sender As Object,e As EventArgs) Handles lBoxRelatieTypes.SelectedindexChanged ''If ComboBox1.Selectedindex = 1 Then '' grpBasisData.Visible = True '' grpFoto_Nota.Visible = True '' grpFoto_Nota.Location = New Point(720,120) ''End If 'End Sub End Class 。我想实现的是,如果自due_date起两天内没有付款,将向租户发送一封电子邮件。目前,我要执行以下任务。

due_date

所以我正在做的是,我要选择最后一笔付款并获得付款日期,这就是我用来处理邮件的条件。最初,我认为我可以看看是否namespace :rent_due_reminder do desc "Sends monthly reminders to tenants who haven't paid their rent." task :send => :environment do Offer.all.each do |offer| if offer.status == "accepted" && offer.due_date.present? landlord = User.find_by(id: offer.landlord_id) tenant = User.find_by(id: offer.user_id) stripe_account = Stripe::Account.retrieve(landlord.merchant_id) payments = Stripe::Charge.list( { limit: 100,expand: ['data.source_transfer.source_transaction.dispute','data.application_fee'],source: {object: 'all'} },{ stripe_account: landlord.merchant_id } ) due_date = "#{Date.today.year}-#{Date.today.month}-#{offer.due_date}".to_datetime last_payment_date = DateTime.strptime(payments.data.last.created.to_s,'%s') if (SOME CONDITION) OfferMailer.with(offer: offer,tenant: tenant,landlord: landlord).rent_due.deliver end end end end end ,但这似乎不起作用。我可能对此感到困惑,因为如果我有多个房东,其中一些房东有每个月的30号,而有些房东有每月的1号,那么我是否应该每月继续执行任务或如何设置任务?这个吗?不好意思的解释表示歉意,我自己也对此感到非常困惑。

解决方法

您的逻辑存在缺陷。即使用户在到期日付款,else ...仍会少于last_payment date。因此,您需要再添加一张支票,以确保当月付款。

例如如果我的租金到期日是每月的5号,则需要检查付款是在1号到5号之间进行的。目前,您只检查最后一次付款日期是否在7号之前。这也包括有效付款。

当然,上述逻辑也是有缺陷的,因为人们可以预先付款,您也需要对此进行更正。解决该问题的一种方法是创建帐单并确保所有帐单都已付款,而不是简单地检查上一次付款。这样,您可以计算一个多月的拖欠。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?