12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- # coding=utf-8
- from django.db import models
- class Config(models.Model):
- # 购买商品赠送积分比例
- KEY_POINT_RULE = "point_rule"
- # 推荐用户首次购买返利 1、2、3级返现金比例 4、5级返积分比例
- KEY_FIRST_LEVEL1 = "first_lv1"
- KEY_FIRST_LEVEL2 = "first_lv2"
- KEY_FIRST_LEVEL3 = "first_lv3"
- KEY_FIRST_LEVEL4 = "first_lv4"
- KEY_FIRST_LEVEL5 = "first_lv5"
- # 推荐用户再次购买返利 1、2、3级返现金比例 4、5级返积分比例
- KEY_AGAIN_LEVEL1 = "again_lv1"
- KEY_AGAIN_LEVEL2 = "again_lv2"
- KEY_AGAIN_LEVEL3 = "again_lv3"
- KEY_AGAIN_LEVEL4 = "again_lv4"
- KEY_AGAIN_LEVEL5 = "again_lv5"
- # 成为供应商需购买的指定商品
- KEY_DISTRIBUTOR_COMMODITY = "distributor_commodity"
- property = models.CharField(max_length=100, verbose_name=u'属性')
- value = models.TextField(verbose_name=u'值')
- class Meta:
- db_table = "system_config"
- verbose_name = u"综合设置"
- index_together = (
- 'property',
- )
- default_permissions = ()
- permissions = []
- @staticmethod
- def get_value(property):
- item_list = [
- Config.KEY_POINT_RULE,
- Config.KEY_FIRST_LEVEL1, Config.KEY_FIRST_LEVEL2, Config.KEY_FIRST_LEVEL3, Config.KEY_FIRST_LEVEL4, Config.KEY_FIRST_LEVEL5,
- Config.KEY_AGAIN_LEVEL1, Config.KEY_AGAIN_LEVEL2, Config.KEY_AGAIN_LEVEL3, Config.KEY_AGAIN_LEVEL4, Config.KEY_AGAIN_LEVEL5,
- ]
- if property in item_list:
- try:
- row = Config.objects.get(property=property)
- return float(row.value)
- except:
- return 0
- return 0
- @staticmethod
- def get_commodity():
- try:
- commodity = int(Config.objects.get(property=Config.KEY_DISTRIBUTOR_COMMODITY).value)
- return commodity
- except:
- return 0
- @staticmethod
- def get_rebate(first):
- item_list = [Config.KEY_AGAIN_LEVEL1, Config.KEY_AGAIN_LEVEL2, Config.KEY_AGAIN_LEVEL3, Config.KEY_AGAIN_LEVEL4, Config.KEY_AGAIN_LEVEL5,]
- if first:
- item_list = [Config.KEY_FIRST_LEVEL1, Config.KEY_FIRST_LEVEL2, Config.KEY_FIRST_LEVEL3, Config.KEY_FIRST_LEVEL4, Config.KEY_FIRST_LEVEL5,]
- rows = Config.objects.filter(property__in=item_list)
- data = {'one_level': 0, 'two_level': 0, 'three_level': 0, 'four_level': 0, 'five_level': 0}
- for row in rows:
- if first:
- if row.property == Config.KEY_FIRST_LEVEL1:
- data['one_level'] = row.value and float(row.value) or 0
- elif row.property == Config.KEY_FIRST_LEVEL2:
- data['two_level'] = row.value and float(row.value) or 0
- elif row.property == Config.KEY_FIRST_LEVEL3:
- data['three_level'] = row.value and float(row.value) or 0
- elif row.property == Config.KEY_FIRST_LEVEL4:
- data['four_level'] = row.value and float(row.value) or 0
- elif row.property == Config.KEY_FIRST_LEVEL5:
- data['five_level'] = row.value and float(row.value) or 0
- else:
- if row.property == Config.KEY_AGAIN_LEVEL1:
- data['one_level'] = row.value and float(row.value) or 0
- elif row.property == Config.KEY_AGAIN_LEVEL2:
- data['two_level'] = row.value and float(row.value) or 0
- elif row.property == Config.KEY_AGAIN_LEVEL3:
- data['three_level'] = row.value and float(row.value) or 0
- elif row.property == Config.KEY_AGAIN_LEVEL4:
- data['four_level'] = row.value and float(row.value) or 0
- elif row.property == Config.KEY_AGAIN_LEVEL5:
- data['five_level'] = row.value and float(row.value) or 0
- return data
|