mirror of
https://github.com/internetee/registry.git
synced 2025-07-30 22:46:22 +02:00
update export invoices task and add request for update invoice status when invoice is cancelled
This commit is contained in:
parent
363dd8370f
commit
5c306accc3
4 changed files with 41 additions and 2 deletions
|
@ -49,6 +49,8 @@ module Admin
|
|||
|
||||
def cancel
|
||||
@invoice.cancel
|
||||
EisBilling::SendInvoiceStatus.send_info(invoice_number: @invoice.number, status: 'cancelled')
|
||||
|
||||
redirect_to [:admin, @invoice], notice: t('.cancelled')
|
||||
end
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ class Registrar
|
|||
|
||||
def cancel
|
||||
@invoice.cancel
|
||||
EisBilling::SendInvoiceStatus.send_info(invoice_number: @invoice.number, status: 'cancelled')
|
||||
|
||||
redirect_to [:registrar, @invoice], notice: t('.cancelled')
|
||||
end
|
||||
|
||||
|
|
21
app/services/eis_billing/send_invoice_status.rb
Normal file
21
app/services/eis_billing/send_invoice_status.rb
Normal file
|
@ -0,0 +1,21 @@
|
|||
module EisBilling
|
||||
class SendInvoiceStatus < EisBilling::Base
|
||||
def self.send_info(invoice_number:, status:)
|
||||
send_request(invoice_number: invoice_number, status: status)
|
||||
end
|
||||
|
||||
def self.send_request(invoice_number:, status:)
|
||||
json_obj = {
|
||||
invoice_number: invoice_number,
|
||||
status: status,
|
||||
}
|
||||
|
||||
http = EisBilling::Base.base_request(url: invoice_status_url)
|
||||
http.post(invoice_status_url, json_obj.to_json, EisBilling::Base.headers)
|
||||
end
|
||||
|
||||
def self.invoice_status_url
|
||||
"#{BASE_URL}/api/v1/invoice_generator/invoice_status"
|
||||
end
|
||||
end
|
||||
end
|
|
@ -3,13 +3,27 @@ INITIATOR = 'registry'.freeze
|
|||
|
||||
namespace :eis_billing do
|
||||
desc 'One time task to export invoice data to billing system'
|
||||
task import_invoices: :environment do
|
||||
task export_invoices: :environment do
|
||||
parsed_data = []
|
||||
status = 'unpaid'
|
||||
|
||||
Invoice.all.each do |invoice|
|
||||
if invoice.cancelled?
|
||||
status = 'cancelled'
|
||||
else
|
||||
status = invoice.paid? ? 'paid' : 'unpaid'
|
||||
end
|
||||
|
||||
transaction_time = invoice.receipt_date if invoice.paid?
|
||||
|
||||
parsed_data << {
|
||||
invoice_number: invoice.number,
|
||||
initiator: 'registry',
|
||||
transaction_amount: invoice.total,
|
||||
status: status,
|
||||
in_directo: invoice.in_directo,
|
||||
e_invoice_sent_at: invoice.e_invoice_sent_at,
|
||||
transaction_time: transaction_time
|
||||
}
|
||||
end
|
||||
|
||||
|
@ -17,7 +31,7 @@ namespace :eis_billing do
|
|||
end
|
||||
|
||||
desc 'One time task to export reference number of registrars to billing system'
|
||||
task import_references: :environment do
|
||||
task export_references: :environment do
|
||||
parsed_data = []
|
||||
Registrar.all.each do |registrar|
|
||||
parsed_data << {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue