Эх сурвалжийг харах

修复优惠券接口价格精度问题

lang 3 жил өмнө
parent
commit
d06f0fb394

+ 6 - 5
Controller/CloudStorage.py

@@ -1181,13 +1181,14 @@ class CloudStorageView(View):
             couponQuery = couponObj.values("id", "type", "coupon_discount")
             if not couponQuery.exists():
                 return response.json(10049)
-            # price = Decimal(price)
-            # coupon_discount = Decimal(couponQuery[0]['coupon_discount'])
+            price = Decimal(price)
+            coupon_discount = Decimal(couponQuery[0]['coupon_discount'])
             if couponQuery[0]['type'] == 1:  #折扣
-                price = float(couponQuery[0]['coupon_discount'])/10 * float(price)
+                price = coupon_discount/10 * price
+                return HttpResponse(price)
             elif couponQuery[0]['type'] == 2:  #抵扣
-                price = float(price) - float(couponQuery[0]['coupon_discount'])
-
+                price = price - coupon_discount
+                return HttpResponse(price)
             if price < 0:
                 return response.json(10049)
             couponObj.update(use_status=1)

+ 1 - 1
Model/models.py

@@ -644,7 +644,7 @@ class CouponModel(models.Model):
     userID_id = models.CharField(default='', db_index=True, blank=True, max_length=32, verbose_name=u'用户ID')
     use_status = models.SmallIntegerField(default=0, verbose_name='使用状态') #0未使用;1冻结;2已使用
     type = models.SmallIntegerField(default=0, verbose_name='优惠类型') #1打折; 2抵扣
-    coupon_discount = models.DecimalField( max_digits=19, decimal_places=2, verbose_name='折扣力度')
+    coupon_discount = models.CharField(blank=True, max_length=32, verbose_name=u'折扣力度')
     distributeTime = models.IntegerField(verbose_name='发放到用户账户时间', default=0)
     valid_time = models.PositiveIntegerField(default=9999999999, verbose_name='有效期间')  #超过有效期不可在使用;0永久
     # use_limit = models.CharField(default=0, max_length=100, verbose_name='使用限制')  #0:所有服务都可使用; 1:云存;2:ai;