123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- # coding=utf-8
- from django.db import models
- from django.conf import settings
- from django.utils import timezone
- from apps.option.models import Option
- from apps.commodity.models import Commodity
- from apps.customer.models import Customer, CustomerAddress
- class Pay(models.Model):
- WAIT = 1
- PAY = 2
- UNDO = 3
- STATUS_CHOICES = (
- (WAIT, u'待付款'),
- (PAY, u'已付款'),
- (UNDO, u'已取消'),
- )
- no = models.CharField(max_length=64, verbose_name=u"单号")
- status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u'状态', default=WAIT)
- precreate_amount = models.BigIntegerField(verbose_name=u"预支付金额")
- amount = models.BigIntegerField(verbose_name=u"支付金额", null=True)
- transaction_id = models.CharField(max_length=100, verbose_name=u"微信支付订单号", null=True)
- customer = models.ForeignKey(Customer, verbose_name=u'下单人', related_name='pay_customer', on_delete=models.PROTECT)
- create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now)
- class Meta:
- db_table = "pay"
- verbose_name = u"支付信息"
- ordering = ('-id',)
- index_together = (
- 'create_time',
- 'status',
- )
- unique_together = (
- 'no',
- )
- default_permissions = ()
- class ShoppingCart(models.Model):
- commodity_details = models.ForeignKey(Commodity, verbose_name=u'产品明细', on_delete=models.PROTECT)
- quantity = models.PositiveIntegerField(verbose_name=u'数量', default=1)
- create_time = models.DateTimeField(verbose_name=u'创建时间', auto_now_add=True)
- customer = models.ForeignKey(Customer, related_name='shopping_cart_customer', verbose_name=u"下单人", on_delete=models.PROTECT, editable=False)
- class Meta:
- db_table = 'shopping_cart'
- verbose_name = u'购物车'
- ordering = ['-id', ]
- default_permissions = ()
- class Order(models.Model):
- WAIT_PAY = 0
- WAIT_DISPATCH = 1
- WAIT_EVALUATE = 2
- EVALUATED = 3
- CANCEL = 4
- STATUS_CHOICES = (
- (WAIT_PAY, u'待付款'),
- (WAIT_DISPATCH, u'待发货'),
- (WAIT_EVALUATE, u'待评价'),
- (EVALUATED, u'已评价'),
- (CANCEL, u'已取消'),
- )
- no = models.CharField(max_length=50, verbose_name=u'订单号', editable=False)
- pay = models.ForeignKey(Pay, verbose_name=u'支付信息', on_delete=models.PROTECT, null=True, editable=False)
- total_count = models.IntegerField(verbose_name=u'总数量', default=0, editable=False)
- total_amount = models.BigIntegerField(verbose_name=u'总金额', default=0, editable=False)
- total_point = models.IntegerField(verbose_name=u'总积分', default=0, editable=False)
- status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"订单状态", default=WAIT_PAY)
- notes = models.CharField(max_length=500, verbose_name=u"备注", null=True, blank=True)
- customer = models.ForeignKey(Customer, verbose_name=u'创建人', editable=False, on_delete=models.PROTECT)
- create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now, editable=False)
- cancel_reason = models.CharField(max_length=100, verbose_name=u"取消原因", null=True, blank=True)
- cancel_user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='order_cancel_user', verbose_name=u"取消人", on_delete=models.PROTECT, null=True, blank=True)
- cancel_time = models.DateTimeField(verbose_name=u"取消时间", null=True, blank=True)
- address = models.ForeignKey(CustomerAddress, verbose_name=u'收货地址', related_name='order_address', null=True, blank=True, on_delete=models.PROTECT)
- name = models.CharField(verbose_name=u'收货人', max_length=20, null=True, blank=True)
- tel = models.CharField(verbose_name=u'收货电话', max_length=15, null=True, blank=True)
- user_address = models.CharField(verbose_name=u'详细地址', max_length=200, null=True, blank=True)
- express_no = models.CharField(max_length=50, verbose_name=u'快递单号', null=True, blank=True)
- express_company = models.ForeignKey(Option, verbose_name=u'快递公司', on_delete=models.PROTECT, null=True, blank=True)
- dispatch_time = models.DateTimeField(verbose_name=u'发货时间', null=True, blank=True)
- dispatch_user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='order_dispatch_user', verbose_name=u"发货人", on_delete=models.PROTECT, null=True, blank=True)
- class Meta:
- db_table = "order"
- verbose_name = u"客户订单"
- ordering = ('-id',)
- default_permissions = ()
- permissions = []
- class OrderDetails(models.Model):
- order = models.ForeignKey(Order, verbose_name=u'订单', on_delete=models.PROTECT)
- commodity = models.ForeignKey(Commodity, verbose_name=u'商品', on_delete=models.PROTECT)
- price = models.BigIntegerField(verbose_name=u'价格', null=True, default=0)
- point = models.IntegerField(verbose_name=u'积分', null=True, default=0)
- count = models.IntegerField(verbose_name=u'数量', null=True, default=0)
- amount = models.BigIntegerField(verbose_name=u'总金额', null=True, default=0)
- point_amount = models.IntegerField(verbose_name=u'总积分', null=True, default=0)
- class Meta:
- db_table = u'order_details'
- verbose_name = u'订单明细'
- ordering = ('-id', )
- default_permissions = ()
- permissions = []
|