# 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