models.py 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # coding=utf-8
  2. from django.db import models
  3. class Config(models.Model):
  4. # 购买商品赠送积分比例
  5. KEY_POINT_RULE = "point_rule"
  6. # 推荐用户首次购买返利 1、2、3级返现金比例 4、5级返积分比例
  7. KEY_FIRST_LEVEL1 = "first_lv1"
  8. KEY_FIRST_LEVEL2 = "first_lv2"
  9. KEY_FIRST_LEVEL3 = "first_lv3"
  10. KEY_FIRST_LEVEL4 = "first_lv4"
  11. KEY_FIRST_LEVEL5 = "first_lv5"
  12. # 推荐用户再次购买返利 1、2、3级返现金比例 4、5级返积分比例
  13. KEY_AGAIN_LEVEL1 = "again_lv1"
  14. KEY_AGAIN_LEVEL2 = "again_lv2"
  15. KEY_AGAIN_LEVEL3 = "again_lv3"
  16. KEY_AGAIN_LEVEL4 = "again_lv4"
  17. KEY_AGAIN_LEVEL5 = "again_lv5"
  18. # 成为供应商需购买的指定商品
  19. KEY_DISTRIBUTOR_COMMODITY = "distributor_commodity"
  20. property = models.CharField(max_length=100, verbose_name=u'属性')
  21. value = models.TextField(verbose_name=u'值')
  22. class Meta:
  23. db_table = "system_config"
  24. verbose_name = u"综合设置"
  25. index_together = (
  26. 'property',
  27. )
  28. default_permissions = ()
  29. permissions = []
  30. @staticmethod
  31. def get_value(property):
  32. item_list = [
  33. Config.KEY_POINT_RULE,
  34. Config.KEY_FIRST_LEVEL1, Config.KEY_FIRST_LEVEL2, Config.KEY_FIRST_LEVEL3, Config.KEY_FIRST_LEVEL4, Config.KEY_FIRST_LEVEL5,
  35. Config.KEY_AGAIN_LEVEL1, Config.KEY_AGAIN_LEVEL2, Config.KEY_AGAIN_LEVEL3, Config.KEY_AGAIN_LEVEL4, Config.KEY_AGAIN_LEVEL5,
  36. ]
  37. if property in item_list:
  38. try:
  39. row = Config.objects.get(property=property)
  40. return float(row.value)
  41. except:
  42. return 0
  43. return 0
  44. @staticmethod
  45. def get_commodity():
  46. try:
  47. commodity = int(Config.objects.get(property=Config.KEY_DISTRIBUTOR_COMMODITY).value)
  48. return commodity
  49. except:
  50. return 0
  51. @staticmethod
  52. def get_rebate(first):
  53. item_list = [Config.KEY_AGAIN_LEVEL1, Config.KEY_AGAIN_LEVEL2, Config.KEY_AGAIN_LEVEL3, Config.KEY_AGAIN_LEVEL4, Config.KEY_AGAIN_LEVEL5,]
  54. if first:
  55. item_list = [Config.KEY_FIRST_LEVEL1, Config.KEY_FIRST_LEVEL2, Config.KEY_FIRST_LEVEL3, Config.KEY_FIRST_LEVEL4, Config.KEY_FIRST_LEVEL5,]
  56. rows = Config.objects.filter(property__in=item_list)
  57. data = {'one_level': 0, 'two_level': 0, 'three_level': 0, 'four_level': 0, 'five_level': 0}
  58. for row in rows:
  59. if first:
  60. if row.property == Config.KEY_FIRST_LEVEL1:
  61. data['one_level'] = row.value and float(row.value) or 0
  62. elif row.property == Config.KEY_FIRST_LEVEL2:
  63. data['two_level'] = row.value and float(row.value) or 0
  64. elif row.property == Config.KEY_FIRST_LEVEL3:
  65. data['three_level'] = row.value and float(row.value) or 0
  66. elif row.property == Config.KEY_FIRST_LEVEL4:
  67. data['four_level'] = row.value and float(row.value) or 0
  68. elif row.property == Config.KEY_FIRST_LEVEL5:
  69. data['five_level'] = row.value and float(row.value) or 0
  70. else:
  71. if row.property == Config.KEY_AGAIN_LEVEL1:
  72. data['one_level'] = row.value and float(row.value) or 0
  73. elif row.property == Config.KEY_AGAIN_LEVEL2:
  74. data['two_level'] = row.value and float(row.value) or 0
  75. elif row.property == Config.KEY_AGAIN_LEVEL3:
  76. data['three_level'] = row.value and float(row.value) or 0
  77. elif row.property == Config.KEY_AGAIN_LEVEL4:
  78. data['four_level'] = row.value and float(row.value) or 0
  79. elif row.property == Config.KEY_AGAIN_LEVEL5:
  80. data['five_level'] = row.value and float(row.value) or 0
  81. return data