Exemple #1
0
class CouponRule(models.Model):
    """
	优惠券规则
	"""
    owner = models.ForeignKey(User)
    name = models.CharField(max_length=20)  #名称
    valid_days = models.IntegerField(default=0)  #过期天数
    is_active = models.BooleanField(default=True)  #是否可用
    created_at = models.DateTimeField(auto_now_add=True)  #添加时间
    start_date = models.DateTimeField()  #有效期开始时间
    end_date = models.DateTimeField()  #有效期结束时间
    # v2
    valid_restrictions = models.IntegerField(default=-1)  #订单满多少可以使用规则
    money = models.DecimalField()  #金额
    count = models.IntegerField(default=0)  #发放总数量
    remained_count = models.IntegerField(default=0)  #剩余数量
    limit_counts = models.IntegerField(default=0)  #每人限领
    limit_product = models.BooleanField(default=False)  #限制指定商品
    limit_product_id = models.CharField(max_length=2048, default=0)  #限制指定商品ID
    remark = models.TextField(default='')  #备注
    get_person_count = models.IntegerField(default=0)  #领取人数
    get_count = models.IntegerField(default=0)  #领取次数
    use_count = models.IntegerField(default=0)  #使用次数
    receive_rule = models.BooleanField(default=False)  #领取规则,仅未下单用户可领取

    class Meta(object):
        db_table = 'market_tool_coupon_rule'
Exemple #2
0
class IntegralStrategySettings(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'
Exemple #3
0
class ComponentInfo(models.Model):
    """
    <xml><AppId><![CDATA[wx984abb2d00cc47b8]]></AppId>
    <CreateTime>1427710810</CreateTime>
    <InfoType><![CDATA[component_verify_ticket]]></InfoType>
    <ComponentVerifyTicket><![CDATA[Z8RBNjttRu3P5eM8rPe9TW3dA09yuAequP1BmbHhITxs8lZ-
    X-Gxwaegr5lcPkfJ4VAiRLiuLlCrhKmIz-oSpw]]></ComponentVerifyTicket>
    </xml>

    <xml><AppId><![CDATA[wx984abb2d00cc47b8]]></AppId>
    <CreateTime>1427710810</CreateTime>
    <InfoType><![CDATA[component_verify_ticket]]></InfoType>
    <ComponentVerifyTicket><![CDATA[Z8RBNjttRu3P5eM8rPe9TW3dA09yuAequP1BmbHhITxs8lZ-
    X-Gxwaegr5lcPkfJ4VAiRLiuLlCrhKmIz-oSpw]]></ComponentVerifyTicket>
    </xml>
    """
    app_id = models.CharField(max_length=64)
    app_secret = models.CharField(max_length=64)
    component_verify_ticket = models.TextField()
    token = models.TextField()
    ase_key = models.TextField()
    last_update_time = models.DateTimeField(default=datetime.now())
    component_access_token = models.TextField()
    is_active = models.BooleanField(default=True)
    access_token_update_time = models.DateTimeField(default=datetime.now())
    verify_ticket_update_time = models.DateTimeField(default=datetime.now())

    def __unicode__(self):
        return self.app_id

    class Meta(object):
        db_table = 'component_info'
        verbose_name = '第三方帐号信息'
        verbose_name_plural = '第三方帐号信息'
Exemple #4
0
class WeizoomCardRule(models.Model):
    """
	微众卡规则
	"""
    owner = models.ForeignKey(User)
    name = models.CharField(max_length=20, db_index=True)  #名称
    money = models.DecimalField(max_digits=65, decimal_places=2)  #微众卡金额
    count = models.IntegerField(default=0)  #发放总数量
    remark = models.CharField(max_length=20, db_index=True)  #备注
    expired_time = models.DateTimeField()  #过期时间
    valid_time_from = models.DateTimeField()  #有效范围开始时间
    valid_time_to = models.DateTimeField()  #有效范围结束时间
    created_at = models.DateTimeField(auto_now_add=True)  #添加时间
    card_type = models.IntegerField(default=WEIZOOM_CARD_EXTERNAL_USER)  #微众卡类型
    card_attr = models.IntegerField(default=0)  #微众卡属性
    shop_limit_list = models.CharField(max_length=2048, default='-1')  #专属商家
    shop_black_list = models.CharField(max_length=2048,
                                       default='-1')  #不能使用微众卡的商家
    is_new_member_special = models.BooleanField(default=False)  #是否为新会员专属卡
    valid_restrictions = models.DecimalField(max_digits=65,
                                             decimal_places=2)  #订单满多少可以使用规则

    class Meta(object):
        db_table = 'market_tool_weizoom_card_rule'
        verbose_name = '微众卡规则'
        verbose_name_plural = '微众卡规则'
Exemple #5
0
class Session(models.Model):
    mpuser = models.ForeignKey(WeixinMpUser, related_name='owned_sessions')
    weixin_user = models.ForeignKey(WeixinUser,
                                    to_field='username',
                                    db_column='weixin_user_username')
    latest_contact_content = models.CharField(max_length=1024)  #最后一次交互消息内容
    latest_contact_created_at = models.DateTimeField(
        auto_now_add=True)  #最后一次交互时间
    is_latest_contact_by_viper = models.BooleanField(
        default=False)  #最后一次交互是否是客户发出的
    unread_count = models.IntegerField(default=0)  #未读消息数
    is_show = models.BooleanField(default=False)  #是否显示(是否填充对应的WeixinUser)
    created_at = models.DateTimeField(auto_now_add=True)
    weixin_created_at = models.CharField(max_length=50)  #微信平台提供的创建时间
    retry_count = models.IntegerField(default=0)  #重試次數
    #add by bert at 20.0
    message_id = models.IntegerField(default=0)
    #add by slzhu
    member_user_username = models.CharField(default='', max_length=100)
    member_message_id = models.IntegerField(default=0)
    member_latest_content = models.CharField(default='',
                                             max_length=1024)  #粉丝最近一条消息
    member_latest_created_at = models.CharField(default='',
                                                max_length=50)  #粉丝最近一条消息时间
    is_replied = models.BooleanField(default=False)  #是否回复过

    class Meta(object):
        ordering = ['-latest_contact_created_at']
        db_table = 'weixin_message_session'
Exemple #6
0
class WeizoomCard(models.Model):
    """
	微众卡存储模型

	@note WeizoomCardHasAccount.account.id即owner_id
	"""
    owner = models.ForeignKey(User)
    target_user_id = models.IntegerField(default=0, verbose_name="微众卡发放目标")
    weizoom_card_rule = models.ForeignKey(WeizoomCardRule)
    status = models.IntegerField(default=WEIZOOM_CARD_STATUS_INACTIVE)  #微众卡状态
    weizoom_card_id = models.CharField(max_length=50)  #微众卡号
    money = models.DecimalField(max_digits=65, decimal_places=2)  #剩余金额
    password = models.CharField(max_length=50)  #微众卡密码
    expired_time = models.DateTimeField()  #过期时间
    is_expired = models.BooleanField(default=False)  #是否过期
    activated_at = models.DateTimeField(null=True)  #激活时间
    created_at = models.DateTimeField(auto_now_add=True)  #添加时间
    remark = models.CharField(max_length=20, db_index=True)  #备注
    activated_to = models.CharField(max_length=20)  #申请人
    department = models.CharField(max_length=20)  #申请部门
    active_card_user_id = models.IntegerField(default=1)  #激活卡片人

    class Meta(object):
        db_table = 'market_tool_weizoom_card'
        verbose_name = '微众卡'
        verbose_name_plural = '微众卡'
Exemple #7
0
class WebApp(models.Model):
    owner = models.ForeignKey(User)
    appid = models.CharField(max_length=16)
    name = models.CharField(max_length=100, default='')

    class Meta(object):
        db_table = 'webapp'
Exemple #8
0
class PageVisitDailyStatistics(models.Model):
    webapp_id = models.CharField(max_length=16)
    url_type = models.IntegerField(default=URL_TYPE_SPECIFIC, choices=USER_STATUSES)
    url = models.CharField(max_length=1024, default='')
    pv_count = models.IntegerField(default=0) #pv
    uv_count = models.IntegerField(default=0) #uv
    data_date = models.DateField() #统计日期

    class Meta(object):
        db_table = 'webapp_page_visit_daily_statistics'
Exemple #9
0
class OperationSettings(models.Model):
    """
	运营配置
	"""
    owner = models.ForeignKey(User, unique=True)
    non_member_followurl = models.CharField(max_length=1024, default='')
    weshop_followurl = models.CharField(max_length=1024, default='')

    class Meta(object):
        db_table = 'account_operation_settings'
Exemple #10
0
class PageVisitLog(models.Model):
    webapp_id = models.CharField(max_length=16)
    token = models.CharField(max_length=64, blank=True)
    url = models.CharField(max_length=1024)
    is_from_mobile_phone = models.BooleanField()
    create_date = models.DateField(auto_now_add=True) #访问日期
    created_at = models.DateTimeField(auto_now_add=True) #访问时间

    class Meta(object):
        db_table = 'webapp_page_visit_log'
Exemple #11
0
class MpuserPreviewInfo(models.Model):
    """
    微信公众账号预览信息
    """
    mpuser = models.ForeignKey(WeixinMpUser)
    name = models.CharField(max_length=100)  #预览显示的名字
    image_path = models.CharField(max_length=500,
                                  default=DEFAULT_ICON)  #预览显示的图片

    class Meta(object):
        db_table = 'account_mpuser_preview_info'
Exemple #12
0
class MemberClickedUrl(models.Model):
    url = models.CharField(max_length=1024)
    url_digest = models.CharField(max_length=32)  #md5
    mid = models.IntegerField()
    followed_mid = models.IntegerField()
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta(object):
        db_table = 'member_clicked_url'
        verbose_name = '会员url点击记录'
        verbose_name_plural = '会员url点击记录'
Exemple #13
0
class GaiaApp(models.Model):
    """
	【Gaia用】GaiaApp
	"""
    name = models.CharField(max_length=20, db_index=True)
    app_key = models.CharField(max_length=50, unique=True)
    app_secret = models.CharField(max_length=50)
    is_deleted = models.BooleanField(default=False)

    class Meta(object):
        db_table = "gaia_app"
Exemple #14
0
class AccessToken(models.Model):
    app = models.ForeignKey(App)
    access_token = models.CharField(max_length=256)
    expires_in = models.CharField(max_length=100, verbose_name='expires_in')
    is_active = models.BooleanField(default=False)

    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        db_table = 'access_token'
        verbose_name = 'access_token'
        verbose_name_plural = 'access_token'
Exemple #15
0
class MemberBrowseProductRecord(models.Model):
    member = models.ForeignKey(Member)
    owner_id = models.IntegerField(default=0)  #商家id
    product_id = models.IntegerField(default=0)  #商品id
    referer = models.CharField(max_length=256, default='')  #从哪个页面过来的
    title = models.CharField(max_length=256, default='')  #页面标题
    url = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta(object):
        db_table = 'member_browse_product_record'
        verbose_name = '会员浏览商品详情记录'
        verbose_name_plural = '会员浏览商品详情记录'
Exemple #16
0
class MessageAttachment(models.Model):
    """
	消息附件
	"""
    # 消息id Message
    message = models.ForeignKey(Message)
    file_type = models.CharField(max_length=26)  # 文档类型
    file_name = models.CharField(max_length=1024)  # 原始文件名
    path = models.CharField(max_length=1024, default='')
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta(object):
        db_table = 'message_attachment'
Exemple #17
0
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 = '物流名称'
Exemple #18
0
class WebAppUser(models.Model):
    """
	WebApp的用户
	"""
    token = models.CharField(max_length=100, default='')
    webapp_id = models.CharField(max_length=16)
    member_id = models.IntegerField(default=0)  #会员记录的id
    has_purchased = models.BooleanField(default=False)  #是否购买过
    father_id = models.IntegerField(default=0)  #会员记录的id
    created_at = models.DateTimeField(auto_now_add=True)  #创建时间

    class Meta(object):
        db_table = 'member_webapp_user'
class ExportJob(models.Model):
    woid = models.IntegerField()
    type = models.IntegerField(default=0)
    status = models.BooleanField(default=False)  # 其实是表示是否完成的bool
    processed_count = models.IntegerField()  # 已处理数量
    count = models.IntegerField()  # 总数量
    is_download = models.BooleanField(default=False, verbose_name='是否下载')
    param = models.CharField(max_length=1024)
    file_path = models.CharField(max_length=256)
    update_at = models.DateTimeField(verbose_name='更新时间', auto_now=True)
    created_at = models.DateTimeField(verbose_name='创建时间')

    class Meta(object):
        db_table = 'export_job'
Exemple #20
0
class MemberTag(models.Model):
    """
	表示会员的标签(分组)
	"""
    webapp_id = models.CharField(max_length=16)
    name = models.CharField(max_length=100)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta(object):
        db_table = 'member_tag'
        verbose_name = '会员分组'
        verbose_name_plural = '会员分组'

    DEFAULT_TAG_NAME = u'未分组'
Exemple #21
0
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 = '系统消息'
Exemple #22
0
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'
Exemple #23
0
class MemberIntegralLog(models.Model):
    member = models.ForeignKey(Member)
    webapp_user_id = models.IntegerField(default=0)
    event_type = models.CharField(max_length=64, verbose_name='引起积分变化事件类型')
    integral_count = models.IntegerField(default=0, verbose_name='积分量')
    follower_member_token = models.CharField(max_length=255, null=True, blank=True, verbose_name='所关注的会员的token')
    reason = models.CharField(max_length=255, default='')
    current_integral = models.CharField(default='0', max_length=255)
    manager = models.CharField(default='', max_length=255)
    created_at = models.DateTimeField(auto_now_add=True, verbose_name='记录时间')

    class Meta(object):
        db_table = 'member_integral_log'
        verbose_name = '积分日志'
        verbose_name_plural = '积分日志'
Exemple #24
0
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"
Exemple #25
0
class MemberCardLog(models.Model):
    """
	会员卡记录,仅交易记录  下单 和 取消订单
	"""
    member_card = models.ForeignKey(MemberCard)  # member card id
    price = models.FloatField(default=0.0)  # 浮动金额
    trade_id = models.CharField(max_length=50,
                                default="")  # 支付流水号alter table member_card_log  add column trade_id varchar(50) default '';
    order_id = models.CharField(max_length=200,
                                default="")  # 订单号 alter table member_card_log  add column order_id varchar(200) default '';
    reason = models.CharField(max_length=512)  # 原因
    created_at = models.DateTimeField(auto_now_add=True)  # 时间

    class Meta(object):
        db_table = 'member_card_log'
Exemple #26
0
class MemberSharedUrlInfo(models.Model):
    member = models.ForeignKey(Member)
    shared_url = models.CharField(max_length=1024)
    shared_url_digest = models.CharField(max_length=32)
    pv = models.IntegerField(default=1)
    leadto_buy_count = models.IntegerField(default=0)
    title = models.CharField(max_length=256, default='')
    cr = models.FloatField(default=0.0)
    followers = models.IntegerField(default=0)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta(object):
        db_table = 'member_shared_url_info'
        verbose_name = '分享链接信息'
        verbose_name_plural = '分享链接信息'
Exemple #27
0
class MemberHasWeizoomCard(models.Model):
    """
	给会员发放的微众卡
	"""
    member_id = models.IntegerField()  #会员id
    member_name = models.CharField(max_length=1024)  #会员名称
    card_number = models.CharField(max_length=50)  #微众卡卡号
    card_password = models.CharField(max_length=512)  #微众卡密码
    relation_id = models.CharField(max_length=128)  #关联的活动id
    source = models.IntegerField()  #微众卡来源

    created_at = models.DateTimeField(auto_now_add=True)  #发放时间

    class Meta(object):
        db_table = 'member_has_weizoom_card'
Exemple #28
0
class MarketToolsTemplateMessageDetail(models.Model):
    owner = models.ForeignKey(User, related_name='owner')
    template_message = models.ForeignKey(MarketToolsTemplateMessage)
    industry = models.IntegerField(default=INDUSTR_IT)
    template_id = models.TextField()  #模版id
    first_text = models.CharField(max_length=1024)
    remark_text = models.CharField(max_length=1024)
    type = models.IntegerField(default=MAJOR_INDUSTRY_TYPE)
    status = models.IntegerField(default=0)
    created_at = models.DateTimeField(auto_now_add=True)  #添加时间

    class Meta(object):
        db_table = 'market_tools_template_message_detail'
        verbose_name = '模板消息详情'
        verbose_name_plural = 'market_tools_template_message_detail'
        ordering = ['-status', 'type']
Exemple #29
0
class ComponentAuthedAppid(models.Model):
    """
    参数  说明
    authorization_info  授权信息
    authorizer_appid    授权方appid
    authorizer_access_token 授权方令牌(在授权的公众号具备API权限时,才有此返回值)
    expires_in  有效期(在授权的公众号具备API权限时,才有此返回值)
    authorizer_refresh_token    刷新令牌(在授权的公众号具备API权限时,才有此返回值),刷新令牌主要用于公众号第三方平台获取和刷新已授权用户的access_token,只会在授权时刻提供,请妥善保存。 一旦丢失,只能让用户重新授权,才能再次拿到新的刷新令牌
    func_info   公众号授权给开发者的权限集列表(请注意,当出现用户已经将消息与菜单权限集授权给了某个第三方,再授权给另一个第三方时,由于该权限集是互斥的,后一个第三方的授权将去除此权限集,开发者可以在返回的func_info信息中验证这一点,避免信息遗漏),
    1到8分别代表:
    1消息与菜单权限集
    2用户管理权限集
    3帐号管理权限集
    4网页授权权限集
    5微信小店权限集
    6多客服权限集
    7业务通知权限集
    8微信卡券权限集

    """
    component_info = models.ForeignKey(ComponentInfo)
    auth_code = models.TextField(default='')
    user_id = models.IntegerField(default=0)  #对应帐号user id
    last_update_time = models.DateTimeField(default=datetime.now())
    authorizer_appid = models.CharField(max_length=255, default='')
    authorizer_access_token = models.TextField(default='')
    authorizer_refresh_token = models.TextField(default='')
    func_info = models.TextField(default='')
    created_at = models.DateTimeField(auto_now=True)
    is_active = models.BooleanField(default=False)

    class Meta(object):
        db_table = 'component_authed_appid'
        verbose_name = '委托授权帐号基本信息'
        verbose_name_plural = '委托授权帐号基本信息'
Exemple #30
0
class ExpressDetail(models.Model):
    order_id = models.IntegerField(verbose_name="订单id,以后暂不使用", default=-1)
    express_id = models.IntegerField(verbose_name="快递id", default=-1)
    context = models.CharField(max_length=1024, verbose_name="内容")
    status = models.CharField(max_length=50, verbose_name="状态")
    time = models.DateTimeField(verbose_name="时间,原始格式")
    ftime = models.CharField(max_length=50, verbose_name="格式化后时间")
    display_index = models.IntegerField(default=1,
                                        db_index=True,
                                        verbose_name="显示的排序")
    created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")

    class Meta(object):
        db_table = 'tool_express_detail'
        verbose_name = '快递明细'
        verbose_name_plural = '快递明细'