123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- from django.db import models
- from django.conf import settings
- from django.db.models import F
- from PIL import Image
- from utils.file_operation import UploadFile
- class Config(models.Model):
- LEAVE_LEAD_TIME = "leave_lead_time" # 付款码支付__付款码图片
- property = models.CharField(max_length=100, verbose_name='属性')
- value = models.TextField(blank=True, max_length=250, null=True, verbose_name='值')
- class Meta:
- db_table = "system_config"
- verbose_name = u"综合设置"
- default_permissions = ()
- permissions = [
- ('manage_system_config', u'管理'),
- ]
- @staticmethod
- def get_value(property):
- if property in [Config.LEAVE_LEAD_TIME,]:
- row = Config.objects.get(property=property)
- return row.value
- return ''
- class Balance(models.Model):
- balance = models.IntegerField(verbose_name=u'余额', default=0)
- create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建人", related_name='balance_create_user',
- on_delete=models.PROTECT, editable=False)
- class Meta:
- verbose_name = u"用户余额"
- db_table = "user_balance"
- ordering = ['-id']
- @staticmethod
- def update_balance(user, amount, desc):
- Balance.objects.filter(create_user=user).update(balance=F('balance') + amount)
- BalanceLog.objects.create(description=desc, amount=amount,create_user=user)
- class BalanceLog(models.Model):
- description = models.CharField(verbose_name=u'描述', max_length=100)
- amount = models.IntegerField(verbose_name=u'金额', default=0)
- create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建人", related_name='balance_log_create_user',
- on_delete=models.PROTECT, editable=False)
- create_time = models.DateTimeField(verbose_name=u'创建时间', auto_now_add=True, editable=False)
- class Meta:
- verbose_name = u"余额明细"
- db_table = "user_balance_log"
- ordering = ['-id']
- class Poster(models.Model):
- create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建人", on_delete=models.PROTECT,
- editable=False)
- create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)
- enable = models.BooleanField(verbose_name=u"在用", default=True)
- image = models.TextField(verbose_name=u'图片路径', null=True)
- width = models.IntegerField(verbose_name=u"图片宽度", null=True)
- height = models.IntegerField(verbose_name=u"图片高度", null=True)
- class Meta:
- db_table = 'poster'
- ordering = ['-id']
- verbose_name = u'轮播广告'
- def _add_img(self, file):
- width = None
- height = None
- path = "poster/"
- filename = UploadFile(file, path)
- fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
- try:
- img = Image.open(fullname)
- width, height = img.size
- # 缩略图压缩宽或高最大200
- if width > 1440:
- img = img.resize((1440, int((height / width) * 1440)), Image.ANTIALIAS)
- img.save(fullname)
- width, height = img.size
- except:
- pass
- self.image = "%s%s" % (settings.MEDIA_URL, filename)
- self.width = width
- self.height = height
- self.save()
|