|
@@ -76,7 +76,7 @@ class CashRebateLog(models.Model):
|
|
log = models.OneToOneField(CashLog, verbose_name=u'日志', related_name='rebate_log', editable=False, on_delete=models.PROTECT)
|
|
log = models.OneToOneField(CashLog, verbose_name=u'日志', related_name='rebate_log', editable=False, on_delete=models.PROTECT)
|
|
|
|
|
|
class Meta:
|
|
class Meta:
|
|
- db_table = "cahs_rebate_log"
|
|
|
|
|
|
+ db_table = "cash_rebate_log"
|
|
verbose_name = u'现金返利日志'
|
|
verbose_name = u'现金返利日志'
|
|
ordering = []
|
|
ordering = []
|
|
index_together = ()
|
|
index_together = ()
|
|
@@ -100,10 +100,12 @@ class PointLog(models.Model):
|
|
POINT_REBATE = 1
|
|
POINT_REBATE = 1
|
|
POINT_ORDER = 2
|
|
POINT_ORDER = 2
|
|
POINT_GIVE = 3
|
|
POINT_GIVE = 3
|
|
|
|
+ POINT_CANCEL = 4
|
|
TYPE_CHOICES = (
|
|
TYPE_CHOICES = (
|
|
(POINT_REBATE, u'积分返利'),
|
|
(POINT_REBATE, u'积分返利'),
|
|
- (POINT_ORDER, u'积分兑换'),
|
|
|
|
- (POINT_GIVE, u'赠送积分'), # 购买商品赠送的积分
|
|
|
|
|
|
+ (POINT_ORDER, u'积分兑换商品'),
|
|
|
|
+ (POINT_GIVE, u'购买商品赠送积分'), # 购买商品赠送的积分
|
|
|
|
+ (POINT_CANCEL, u'取消订单返还积分'), # 取消订单的时候将已扣除的积分返还
|
|
)
|
|
)
|
|
|
|
|
|
customer = models.ForeignKey(Customer, verbose_name=u'客户', on_delete=models.PROTECT)
|
|
customer = models.ForeignKey(Customer, verbose_name=u'客户', on_delete=models.PROTECT)
|
|
@@ -174,7 +176,7 @@ class PointGive(models.Model):
|
|
|
|
|
|
class PointLogOrder(models.Model):
|
|
class PointLogOrder(models.Model):
|
|
|
|
|
|
- order = models.OneToOneField(Order, verbose_name=u'订单', related_name='order', editable=False, on_delete=models.PROTECT)
|
|
|
|
|
|
+ order = models.ForeignKey(Order, verbose_name=u'订单', related_name='order', editable=False, on_delete=models.PROTECT)
|
|
log = models.OneToOneField(PointLog, verbose_name=u'日志', related_name='order_log', editable=False, on_delete=models.PROTECT)
|
|
log = models.OneToOneField(PointLog, verbose_name=u'日志', related_name='order_log', editable=False, on_delete=models.PROTECT)
|
|
|
|
|
|
class Meta:
|
|
class Meta:
|
|
@@ -186,9 +188,15 @@ class PointLogOrder(models.Model):
|
|
permissions = []
|
|
permissions = []
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|
|
- def addnew(order):
|
|
|
|
|
|
+ def addnew(order, cancel_order=False):
|
|
customer = Customer.objects.select_for_update().filter(id=order.customer.id).first()
|
|
customer = Customer.objects.select_for_update().filter(id=order.customer.id).first()
|
|
- log = PointLog.addnew(customer, PointLog.POINT_ORDER, -order.total_point)
|
|
|
|
|
|
+ total_point = -order.total_point
|
|
|
|
+ type = PointLog.POINT_ORDER
|
|
|
|
+ if cancel_order:
|
|
|
|
+ # 如果是作废订单就将订单积分加上去
|
|
|
|
+ total_point = order.total_point
|
|
|
|
+ type = PointLog.POINT_CANCEL
|
|
|
|
+ log = PointLog.addnew(customer, type, total_point)
|
|
instance = PointLogOrder.objects.create(order=order, log=log)
|
|
instance = PointLogOrder.objects.create(order=order, log=log)
|
|
return instance
|
|
return instance
|
|
|
|
|