class Material(models.Model): owner = models.ForeignKey(User, related_name='owned_materials') type = models.IntegerField(default=SINGLE_NEWS_TYPE, choices=MATERIAL_TYPES) created_at = models.DateTimeField(auto_now_add=True) is_deleted = models.BooleanField(default=False) #是否删除 class Meta(object): db_table = 'material_material' verbose_name = '素材' verbose_name_plural = '素材'
class WantToBuy(models.Model): """ 我想买 """ owner_id = models.IntegerField() #商家id member = models.ForeignKey(Member) source = models.IntegerField(default=SOURCE_JD) #来源 product_id = models.IntegerField(default=0) #上架后的商品id,预留字段 product_name = models.CharField(max_length=128) #商品名称 status = models.IntegerField(default=STATUS_NOT_REACH) #状态 support_num = models.IntegerField(default=0) #支持人数 pics = models.CharField(max_length=1024) #图片 is_accept_other_brand = models.BooleanField(default=True) #是否接受同类其他品牌 reach_num_at = models.DateTimeField(null=True) #人气达标时间 purchase_completed_at = models.DateTimeField(null=True) #采购完成时间 shelves_on_at = models.DateTimeField(null=True) #上架时间 created_at = models.DateTimeField(auto_now_add=True) #创建时间 class Meta(object): db_table = 'member_want_to_buy'
class MemberInfo(models.Model): """ 会员信息 """ member = models.ForeignKey(Member) name = models.CharField(max_length=8, verbose_name='会员姓名') sex = models.IntegerField(default=SEX_TYPE_UNKOWN, verbose_name='性别') age = models.IntegerField(default=-1, verbose_name='年龄') address = models.CharField(max_length=32, verbose_name='地址', default='') phone_number = models.CharField(max_length=11, default='') qq_number = models.CharField(max_length=13, default='') weibo_nickname = models.CharField(max_length=16, verbose_name='微博昵称') member_remarks = models.CharField(max_length=255, default='') is_binded = models.BooleanField(default=False) session_id = models.CharField(max_length=1024, default='') captcha = models.CharField(max_length=11, default='') #验证码 binding_time = models.DateTimeField() #绑定时间 class Meta(object): db_table = 'member_info'
class ForbiddenCouponProduct(models.Model): owner = models.ForeignKey(User) product = models.ForeignKey(mall_models.Product) status = models.IntegerField(default=FORBIDDEN_STATUS_NOT_START) #促销状态 start_date = models.DateTimeField() #开始日期 end_date = models.DateTimeField() #结束日期 is_permanant_active = models.BooleanField(default=False) #永久有效 created_at = models.DateTimeField(auto_now_add=True) #添加时间 class Meta(object): db_table = 'mall_forbidden_coupon_product'
class AccountHasWeizoomCardPermissions(models.Model): """ 账号对应使用微众卡功能权限 """ owner_id = models.IntegerField(default=0, verbose_name='账号id') is_can_use_weizoom_card = models.BooleanField(default=False, verbose_name='是否可以使用微众卡') created_at = models.DateTimeField(auto_now_add=True, verbose_name='添加时间') class Meta(object): db_table = 'market_tool_weizoom_card_account_has_permissions'
class Member(models.Model): """ 会员 """ token = models.CharField(max_length=255) webapp_id = models.CharField(max_length=16) username_hexstr = models.CharField(max_length=2048, verbose_name='会员名称的hex str') user_icon = models.CharField(max_length=1024, verbose_name='会员头像') integral = models.IntegerField(default=0, verbose_name='积分') created_at = models.DateTimeField(auto_now_add=True) grade = models.ForeignKey(MemberGrade) experience = models.IntegerField(default=0, verbose_name='经验值') remarks_name = models.CharField(max_length=32, verbose_name='备注名') remarks_extra = models.TextField(verbose_name='备注信息') last_visit_time = models.DateTimeField(auto_now_add=True) last_message_id = models.IntegerField(default=-1, verbose_name="最近一条消息id") session_id = models.IntegerField(default=-1, verbose_name="会话id") is_for_test = models.BooleanField(default=False) is_subscribed = models.BooleanField(default=True) friend_count = models.IntegerField(default=0) #好友数量 factor = models.FloatField(default=0.00) #社会因子 source = models.IntegerField(default=-1) #会员来源 is_for_buy_test = models.BooleanField(default=False) update_time = models.DateTimeField(default=datetime.now())#会员信息更新时间 2014-11-11 pay_money = models.FloatField(default=0.0) pay_times = models.IntegerField(default=0) last_pay_time = models.DateTimeField(default=None)#会员信息更新时间 2014-11-11 unit_price = models.FloatField(default=0.0) #ke dan jia city = models.CharField(default='', max_length=50) province = models.CharField(default='', max_length=50) country = models.CharField(default='', max_length=50) sex = models.IntegerField(default=0, verbose_name='性别') status = models.IntegerField(default=1) purchase_frequency = models.IntegerField(default=0) # 30天购买次数 cancel_subscribe_time = models.DateTimeField(blank=True, null=True, default=None, verbose_name="取消关注时间") class Meta(object): db_table = 'member_member' def __unicode__(self): return u'<member: %s %s>' % (self.webapp_id, self.token)
class MallOrderFromSharedRecord(models.Model): """ add by bert 记录通过分享链接下单 订单号和分享者信息 """ order_id = models.IntegerField() fmt = models.CharField(default='', max_length=255) created_at = models.DateTimeField(auto_now_add=True) # 添加时间 class Meta: verbose_name = "通过分享链接订单" verbose_name_plural = "通过分享链接订单" db_table = "mall_order_from_shared_record"
class MemberGrade(models.Model): """ 会员等级 """ webapp_id = models.CharField(max_length=16, verbose_name='所关联的app id') name = models.TextField() is_auto_upgrade = models.BooleanField(default=False, verbose_name='是否凭经验值自动升级') upgrade_lower_bound = models.IntegerField(default=0, verbose_name='该等级的经验值下限') shop_discount = models.IntegerField(default=100, verbose_name='购物折扣') is_default_grade = models.BooleanField(default=False) usable_integral_percentage_in_order = models.IntegerField(verbose_name='一笔交易中能使用的多少积分', default=100) # -1 无限制 pay_money = models.FloatField(default=0.00) pay_times = models.IntegerField(default=0) integral = models.IntegerField(default=0) created_at = models.DateTimeField(auto_now_add=True) class Meta(object): db_table = 'member_grade' def __unicode__(self): return u"{}-{}".format(self.webapp_id, self.name)
class PremiumSale(models.Model): """ 买赠 """ owner = models.ForeignKey(User) count = models.IntegerField(default=0) #购买基数 is_enable_cycle_mode = models.BooleanField(default=False) #循环买赠 class Meta(object): db_table = 'mallpromotion_premium_sale' verbose_name = '买赠' verbose_name_plural = '买赠'
class ExpressDelivery(models.Model): owner = models.ForeignKey(User) display_index = models.IntegerField(default=1, db_index=True) # 显示的排序 name = models.CharField(max_length=1024, verbose_name='名称') express_number = models.CharField(max_length=1024, verbose_name='编号') express_value = models.CharField(max_length=1024, verbose_name='快递value') remark = models.TextField(default='', verbose_name='备注') created_at = models.DateTimeField(auto_now_add=True, verbose_name='添加时间') class Meta(object): db_table = 'mall_express_delivery' verbose_name = '物流名称' verbose_name_plural = '物流名称'
class RedEnvelopeRule(models.Model): """ 红包规则 """ owner = models.ForeignKey(User) name = models.CharField(max_length=128) coupon_rule_id = models.IntegerField(default=0) limit_time = models.BooleanField(default=False) start_time = models.DateTimeField(default=DEFAULT_DATETIME) end_time = models.DateTimeField(default=DEFAULT_DATETIME) limit_order_money = models.DecimalField(default=0.0) use_info = models.TextField() share_title = models.CharField(max_length=256) share_pic = models.CharField(max_length=256) is_delete = models.BooleanField(default=False) status = models.BooleanField(default=False) #状态默认关闭 receive_method = models.BooleanField(default=False) #领取方式默认为下单领取 order_index = models.IntegerField(default=0) #记录排序,置后为-1 created_at = models.DateTimeField(auto_now_add=True) class Meta(object): db_table = 'mall_red_envelope_rule'
class PremiumSaleProduct(models.Model): """ 买赠的赠品 """ owner = models.ForeignKey(User) premium_sale = models.ForeignKey(PremiumSale) product = models.ForeignKey(mall_models.Product) count = models.IntegerField(default=1, verbose_name='赠送数量') unit = models.CharField(max_length=50, verbose_name='赠品单位') class Meta(object): db_table = 'mallpromotion_premium_sale_product' verbose_name = '买赠赠品' verbose_name_plural = '买赠赠品'
class Message(models.Model): modules = models.IntegerField(default=MODULES['DATA']) # 选择模块 message_type = models.BooleanField(default=True) # 默认消息中心 title = models.CharField(max_length=128) # 标题名 file_url = models.CharField(max_length=256) # 上传文件地址 content = models.TextField() # 内容 file_type = models.BooleanField(default=True) # 上传类型(默认word) created_at = models.DateTimeField(auto_now_add=True) # 添加时间 owner = models.ForeignKey(User) class Meta(object): db_table = 'message_message' verbose_name = '系统消息' verbose_name_plural = '系统消息'
class IntegralSaleRule(models.Model): """ 积分应用规则 """ owner = models.ForeignKey(User) integral_sale = models.ForeignKey(IntegralSale) member_grade_id = models.IntegerField(default=0) #会员等级 discount = models.FloatField(default=0) #折扣上限 discount_money = models.FloatField(default=0.0) #折扣金额 class Meta(object): db_table = 'mallpromotion_integral_sale_rule' verbose_name = '积分应用规则' verbose_name_plural = '积分应用规则'
class ShipInfo(models.Model): """ 收货地址 """ webapp_user_id = models.IntegerField(db_index=True, default=0) ship_name = models.CharField(max_length=100) # 收货人姓名 ship_tel = models.CharField(max_length=100) # 收货人电话 ship_address = models.CharField(max_length=200) # 收货人地址 area = models.CharField(max_length=256) #地区 is_selected = models.BooleanField(default=True) # 是否选中,默认是选中 is_deleted = models.BooleanField(default=False) # 是否被删除 created_at = models.DateTimeField(auto_now_add=True) class Meta(object): db_table = 'member_ship_info'
class AccessToken(models.Model): """ 【Gaia用】存储access token (Weapp不应访问此库) """ access_token = models.CharField( max_length=50, unique=True) # unique implies the creation of an index corp_id = models.CharField(max_length=50, default='') used_count = models.IntegerField(default=0) # 使用过次数 created_at = models.DateTimeField(auto_now_add=True) expire_time = models.DateTimeField() # 失效时间 app = models.ForeignKey(GaiaApp) is_active = models.BooleanField(default=True) class Meta(object): db_table = "access_token"
class SocialAccount(models.Model): """ 社交平台账号 """ platform = models.IntegerField(default=SOCIAL_PLATFORM_WEIXIN, verbose_name='社会化平台') webapp_id = models.CharField(max_length=16) token = models.CharField(max_length=64) access_token = models.CharField(max_length=64, default='') is_for_test = models.BooleanField(default=False) openid = models.CharField(max_length=64) uuid = models.CharField(max_length=255, default='') created_at = models.DateTimeField(auto_now_add=True, verbose_name='加入日期') class Meta(object): db_table = 'binding_social_account'
class TengyiMemberRebateCycle(models.Model): """ 腾易微众星级会员推荐返利周期 """ member_id = models.IntegerField(default=0) start_time = models.DateTimeField() end_time = models.DateTimeField() is_receive_reward = models.BooleanField(default=False) #是否已获得购物返利 receive_reward_at = models.DateTimeField( default=DEFAULT_DATETIME) #获得推荐返利时间 is_recommend_member_receive_reward = models.BooleanField( default=False) #是否被推荐人已获得推荐返利 recommend_member_rebate_money = models.FloatField(default=0) #推荐人返利金额 created_at = models.DateTimeField(auto_now_add=True) class Meta(object): db_table = 'tengyi_member_rebate_cycle'
class News(models.Model): material = models.ForeignKey(Material) #素材外键 display_index = models.IntegerField() #显示顺序 title = models.CharField(max_length=40) #标题 summary = models.CharField(max_length=120) #摘要 text = models.TextField(default='') #正文 pic_url = models.CharField(max_length=1024) #图片url地址 url = models.CharField(max_length=1024) #目标地址 link_target = models.CharField(max_length=2048) #链接目标 is_active = models.BooleanField(default=True) #是否启用 created_at = models.DateTimeField(auto_now_add=True) #添加时间 is_show_cover_pic = models.BooleanField(default=True, verbose_name=u"是否在详情中显示封面图片") class Meta(object): db_table = 'material_news' verbose_name = '图文消息' verbose_name_plural = '图文消息'
class WeixinUser(models.Model): username = models.CharField(max_length=100, unique=True) webapp_id = models.CharField(max_length=16, verbose_name='对应的webapp id') fake_id = models.CharField(max_length=50, default="") #微信公众平台字段fakeId nick_name = models.CharField(max_length=256) #微信公众平台字段nickName weixin_user_remark_name = models.CharField( max_length=64) #微信公众平台字段remarkName,暂未使用 weixin_user_icon = models.CharField(max_length=1024) #微信公众平台字段icon created_at = models.DateTimeField(auto_now_add=True) is_head_image_received = models.BooleanField(default=False) #是否接收到头像 head_image_retry_count = models.IntegerField(default=0) #接收头像的重试次数 is_subscribed = models.BooleanField(default=True) #是否关注 0 :取消关注 ,1 :关注 class Meta(object): managed = False ordering = ['-id'] db_table = 'app_weixin_user' verbose_name = '微信用户' verbose_name_plural = '微信用户'
class WeixinMpUser(models.Model): """ 微信公众账号 """ owner = models.ForeignKey(User, unique=True) username = models.CharField(default='', max_length=50) #用户名 password = models.CharField(default='', max_length=50) #密码 is_certified = models.BooleanField(default=False, verbose_name='是否进行过微信认证') is_service = models.BooleanField(default=False, verbose_name='是否为服务号') is_active = models.BooleanField(default=True) #公众号是否有效 aeskey = models.IntegerField(default=AESKEY_NORMAL) encode_aeskey = models.TextField(default='') created_at = models.DateTimeField(auto_now=True) #公众号添加的时间 def __unicode__(self): return self.username class Meta(object): db_table = 'account_weixin_mp_user'
class VirtualProductHasCode(models.Model): """ 福利卡券活动关联的卡券码 """ owner = models.ForeignKey(User) virtual_product = models.ForeignKey(VirtualProduct) code = models.CharField(max_length=128) #卡号 password = models.CharField(max_length=512) #密码 start_time = models.DateTimeField() #有效期起始时间 end_time = models.DateTimeField() #有效期结束时间 status = models.IntegerField(default=CODE_STATUS_NOT_GET) #状态 get_time = models.DateTimeField(null=True) #领取/发放时间 member_id = models.CharField(max_length=20, default='') #会员id oid = models.CharField(max_length=20, default='') #订单id order_id = models.CharField(max_length=35, default='') #订单order_id created_at = models.DateTimeField(auto_now_add=True) #创建时间 class Meta(object): db_table = 'mallpromotion_virtual_product_has_code'
class JinGeCard(models.Model): """ 锦歌公司饭卡 """ owner = models.ForeignKey(User) member_id = models.IntegerField() #会员id phone_number = models.CharField(max_length=11) #手机号 card_number = models.CharField(max_length=20, default='') #卡号 card_password = models.CharField(max_length=512, default='') #RSA加密后的密码 token = models.CharField(max_length=256, default='') #用户在饭卡数据系统中的身份标识 name = models.CharField(max_length=64, default='') #持卡人姓名 company = models.CharField(max_length=128, default='') #持卡人公司名称 mer_id = models.CharField(max_length=64, default='') #商户号 term_id = models.CharField(max_length=64, default='') #终端号 is_deleted = models.BooleanField(default=False) #是否删除/解绑 created_at = models.DateTimeField(auto_now_add=True) #添加时间 class Meta(object): db_table = 'third_party_jinge_card' verbose_name = '锦歌公司饭卡' verbose_name_plural = '锦歌公司饭卡'
class ChannelDistributionQrcodeSettings(models.Model): """ 渠道分销二维码 """ owner = models.ForeignKey(User) # 所有者? bing_member_title = models.CharField(max_length=512) # 关联会员头衔 award_prize_info = models.TextField( default='{"id":-1,"name":"no-prize"}') # 关注奖励,奖品信息 reply_type = models.IntegerField(default=0) # 扫码后行为:0普通关注一致,1回复文字,2回复图文 reply_detail = models.TextField(default='') # 回复文字, 当reply_type为1时有效 reply_material_id = models.IntegerField( default=0) # 图文id,reply_type为2时有效 ? coupon_ids = models.TextField() # 配置过的优惠券id集合 bing_member_id = models.IntegerField(default=0) # 关联会员:创建二维码时选择关联的会员的ID return_standard = models.IntegerField(default=0) # 多少天结算标准 group_id = models.IntegerField(default=-1) # 会员分组 distribution_rewards = models.BooleanField( default=False) # 分销奖励 False:没有 True:佣金 commission_rate = models.IntegerField() # 佣金返现率 minimun_return_rate = models.IntegerField() # 最低返现折扣 commission_return_standard = models.DecimalField( max_digits=65, decimal_places=2) # 佣金返现标准 ticket = models.CharField(default='', max_length=256) # ticket bing_member_count = models.IntegerField(default=0) # 关注数量,该二维码下边的关注人数 total_transaction_volume = models.DecimalField( max_digits=65, decimal_places=2, default=0) # 总交易额:二维码自创建以来的所有交易额 total_return = models.DecimalField( max_digits=65, decimal_places=2, default=0) # 返现总额: 二维码所有的返现总额, 只包含已经体现的金额 will_return_reward = models.DecimalField(max_digits=65, decimal_places=2, default=0) # 实施奖励 created_at = models.DateTimeField(auto_now_add=True) # 添加时间 class Meta: db_table = 'market_tool_channel_distribution_qrcode_setting'
class RedEnvelopeParticipences(models.Model): """ 红包领用记录 """ owner = models.ForeignKey(User) coupon = models.ForeignKey(Coupon) red_envelope_rule_id = models.IntegerField(default=0) red_envelope_relation_id = models.IntegerField(default=0) member = models.ForeignKey(Member) is_new = models.BooleanField(default=False) introduced_by = models.IntegerField(default=0) #由谁引入 introduce_new_member = models.IntegerField(default=0) #引入新关注 introduce_used_number = models.IntegerField(default=0) #引入使用人数 introduce_received_number = models.IntegerField(default=0) #引入领取人数 introduce_sales_number = models.FloatField(default=0.0) #引入消费额 created_at = models.DateTimeField(auto_now_add=True) class Meta(object): db_table = 'mall_red_envelope_participences'
class IntegralStrategySttings(models.Model): """ 积分策略配置 """ webapp_id = models.CharField(max_length=20) click_shared_url_increase_count_after_buy = models.IntegerField( verbose_name='点击分享链接为购买后的分享者增加的额度', default=0) click_shared_url_increase_count_before_buy = models.IntegerField( verbose_name='点击分享链接为未购买的分享者增加的额度', default=0) buy_increase_count_for_father = models.IntegerField( verbose_name='成为会员增加额度', default=0) increase_integral_count_for_brring_customer_by_qrcode = models.IntegerField( verbose_name='使用二维码带来用户增加的额度', default=0) integral_each_yuan = models.IntegerField(verbose_name='一元是多少积分', default=0) usable_integral_or_conpon = models.IntegerField(verbose_name='积分与优惠券可同时使用', default=USABLE_BOTH) #v2 be_member_increase_count = models.IntegerField(verbose_name='成为会员增加额度', default=0) order_money_percentage_for_each_buy = models.CharField( max_length=25, verbose_name="每次购物后,额外积分(以订单金额的百分比计算)", default="0.0") buy_via_offline_increase_count_for_author = models.IntegerField( verbose_name='线下会员购买为推荐者增加的额度', default=0) click_shared_url_increase_count = models.IntegerField( verbose_name='分享链接给好友点击', default=0) buy_award_count_for_buyer = models.IntegerField(verbose_name='购物返积分额度', default=0) buy_via_shared_url_increase_count_for_author = models.IntegerField( verbose_name='通过分享链接购买为分享者增加的额度', default=0) buy_via_offline_increase_count_percentage_for_author = models.CharField( max_length=25, verbose_name="线下会员购买为推荐者额外增加的额度(以订单金额的百分比计算)", default="0.0") use_ceiling = models.IntegerField(default=-1, verbose_name='订单积分抵扣上限') review_increase = models.IntegerField(default=0, verbose_name='商品好评送积分') is_all_conditions = models.BooleanField(default=False, verbose_name='自动升级条件') class Meta(object): db_table = 'member_integral_strategy_settings'