* Round up price_rub & full_price fields

This commit is contained in:
Phil Zhitnikov 2023-07-17 20:48:33 +04:00
parent edcdc96d8e
commit 9e04fa354f
3 changed files with 8 additions and 7 deletions

View File

@ -1,3 +1,4 @@
import math
import posixpath
from decimal import Decimal
import random
@ -341,15 +342,15 @@ class Checklist(models.Model):
verbose_name_plural = 'Заказы'
@property
def price_rub(self) -> Decimal:
def price_rub(self) -> int:
# Prefer annotated field
if hasattr(self, '_price_rub'):
return self._price_rub
return GlobalSettings.load().yuan_rate * self.price_yuan
return math.ceil(GlobalSettings.load().yuan_rate * self.price_yuan)
@property
def full_price(self) -> Decimal:
def full_price(self) -> int:
price = self.price_rub
free_delivery = False
@ -371,7 +372,7 @@ class Checklist(models.Model):
if not no_comission:
price += self.commission_rub
return Decimal.max(Decimal(0), price)
return max(0, math.ceil(price))
@property
def delivery_price_CN_RU(self) -> Decimal:

View File

@ -54,11 +54,11 @@ class ChecklistSerializer(serializers.ModelSerializer):
currency = serializers.SerializerMethodField('get_yuan_rate')
curencycurency2 = serializers.DecimalField(source='price_yuan', required=False, max_digits=10, decimal_places=2)
currency3 = serializers.DecimalField(source='price_rub', read_only=True, max_digits=10, decimal_places=2)
currency3 = serializers.IntegerField(source='price_rub', read_only=True)
chinadelivery = serializers.SerializerMethodField('get_delivery_price_CN', read_only=True)
chinadelivery2 = serializers.DecimalField(source='delivery_price_CN_RU', read_only=True, max_digits=10,
decimal_places=2)
fullprice = serializers.DecimalField(source='full_price', read_only=True, max_digits=10, decimal_places=2)
fullprice = serializers.IntegerField(source='full_price', read_only=True)
realprice = serializers.DecimalField(source='real_price', required=False, allow_null=True, max_digits=10,
decimal_places=2)
commission = serializers.SerializerMethodField('get_commission', read_only=True)

View File

@ -90,7 +90,7 @@ def create_preview(source_image: str, size=None, price_rub=None, title_lines=Non
# Draw price
if price_rub:
price_text = f"{price_rub:.2f}"
price_text = f"{price_rub}"
price_font = get_font(50)
price_x, price_y = hor_padding + 15, preview_height - 100