refactor: update loyalty history retrieval to calculate points from issued/used fields and use description as fallback reference
This commit is contained in:
parent
369c1a92e3
commit
8571ddc88a
@ -177,14 +177,16 @@ class AppNotificationController(http.Controller):
|
|||||||
|
|
||||||
history_records = request.env['loyalty.history'].sudo().search_read(
|
history_records = request.env['loyalty.history'].sudo().search_read(
|
||||||
[('card_id', 'in', card_ids)],
|
[('card_id', 'in', card_ids)],
|
||||||
['id', 'card_id', 'points', 'date', 'order_id'],
|
['id', 'card_id', 'issued', 'used', 'create_date', 'order_id', 'description'],
|
||||||
order='date desc',
|
order='create_date desc',
|
||||||
limit=100
|
limit=100
|
||||||
)
|
)
|
||||||
|
|
||||||
result = []
|
result = []
|
||||||
for rec in history_records:
|
for rec in history_records:
|
||||||
points = rec.get('points') or 0
|
issued = rec.get('issued') or 0.0
|
||||||
|
used = rec.get('used') or 0.0
|
||||||
|
points = issued - used
|
||||||
point_type = 'earn' if points >= 0 else 'spend'
|
point_type = 'earn' if points >= 0 else 'spend'
|
||||||
|
|
||||||
order_ref = ''
|
order_ref = ''
|
||||||
@ -194,9 +196,12 @@ class AppNotificationController(http.Controller):
|
|||||||
elif order_id:
|
elif order_id:
|
||||||
order_ref = str(order_id)
|
order_ref = str(order_id)
|
||||||
|
|
||||||
|
if not order_ref:
|
||||||
|
order_ref = rec.get('description') or ''
|
||||||
|
|
||||||
result.append({
|
result.append({
|
||||||
'id': rec['id'],
|
'id': rec['id'],
|
||||||
'date': str(rec.get('date') or ''),
|
'date': str(rec.get('create_date') or ''),
|
||||||
'points': round(float(points), 2),
|
'points': round(float(points), 2),
|
||||||
'type': point_type,
|
'type': point_type,
|
||||||
'order_ref': order_ref,
|
'order_ref': order_ref,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user