def update_transactions(self):
history = self.get_user_history()
last_id = None
if history:
last_id = history.last().quovo_id
latest_history = Quovo.get_user_history(self.quovo_id, start_id=last_id)
for transaction in latest_history.get('history'):
try:
Transaction.objects.update_or_create(
quovo_user=self,
quovo_id=transaction.get('id'),
date=parse_date(transaction.get('date')),
fees=transaction.get('fees'),
value=transaction.get('value'),
price=transaction.get('price'),
quantity=transaction.get('quantity'),
cusip=transaction.get('cusip'),
expense_category=transaction.get('expense_category'),
ticker=transaction.get('ticker'),
ticker_name=transaction.get('ticker_name'),
tran_category=transaction.get('tran_category'),
tran_type=transaction.get('tran_type'),
memo=transaction.get('memo'),
account_id=transaction.get('account')
)
cusip_exist = Holding.objects.filter(cusip=transaction.get('cusip')).exists()
ticker_exist = Holding.objects.filter(ticker=transaction.get('ticker')).exists()
secname_exist = Holding.objects.filter(secname=transaction.get('ticker_name')).exists()
if not cusip_exist and not ticker_exist and not secname_exist:
mailchimp.alert_identify_holdings(transaction.get('ticker_name'))
Holding.objects.create(secname=transaction.get('ticker_name'))
except Exception as e:
raise Vestivise.NightlyProcessException(e.message)
评论列表
文章目录