RT,想到什么就写什么呗,这是最简单的方式,顺便给自己做一个记录,反正自己记忆力也不太好。本文是仿陆金所的积分系统,自己YY的一套东西。
首先我想做一个VIP兑换投资卷的功能:
我们先来确定一些我知道的表:
首先是关于“竞拍”相关的表:
0.商品分类表(后台管理员权限创建):
- ID
- 类别名称
- 创建时间
- 备注
1.商品详情表:
商品详情表当中包含如下内容:
- 商品的标题
- 商品的副标题(副标题可以为空)
- 市场参考价
- 当前价格
- 开始时间
- 结束时间
- 起拍价
- 加价幅度
- 竞拍获胜人数
- 出价次数
- 商品详情(TEXT类型)
- 商品类别ID
2.商品 - 用户 - 出价明细表
- ID
- UserId
- 出价价格
- 出价时间
然后是用户和积分相关的表
首先是用户积分表:
- ID
- 用户ID
- 用户总积分
用户积分日志表:
- Id
- 用户ID
- 类型(获取的积分或者消费积分或者过期积分)
- 时间
- 积分操作(如:增加积分+2,或者减少积分-2)
- 详细说明(如:参与抽奖抽中2)
收货地址表(假设一个人最多可以有10个收货地址,需要为收货地址进行,增,删,查,改的操作(后台管理员权限也一样的)):
- ID
- USERID
- 收货人姓名
- 收货人手机号码
- 收货人所在省份
- 收货人所在城市
- 收货人所在区县
- 收货人详细地址(用户*填写)
- 邮编
- 是否默认地址。
商品订单表:
- ID
- 订单编号
- 商品类别
- 活动编号(对应活动的唯一标识)
- 触发时间
- 状态(比如已完成,代扣款,待发货等等)
用户 - 翻牌():
- ID
- 用户ID
- 抽中积分
- 中奖时间
- 累计签到天数(这个可以讨论下是否要有,因为累计签到天数是要每天点击然后触发一次,那样会频繁更新数据库)
存在的问题:冻结的积分怎么办?竞拍中的积分会被冻结的!
用户可以查询最近3个月,最近6个月,最近1年的积分记录,或者是自选时间,签到表我们怎么设计?这是个问题。
签到规则(仿陆金所):每日签到得6通币;每月累计签到16天奖100通币。
签到是和积分有着密不可分的关系的。首先,签到增加的,就是积分的数量。这是一个UPDATE操作。
签到还必须往积分日志表里面插入一条新的数据。
签到 -> 翻牌 都是可以增加积分的,签到了才可以翻3张卡片。
建立签到表示有实际意义的:
注意:翻牌实际上是一个先减少积分,然后增加积分的过程。减少积分是同步的操作,增加积分可以做成异步的。
难点:
1.实时更新IFRAME上面的积分数字。
2.牌后面的奖券的不确定性,因为不能实时载入在页面中。
3.网站的安全性(此处被攻击的可能性比较大)
4.翻牌等操作需要AC端的登陆操作,如果SESSION过期,然后翻牌操作结束。
注意:如果是兑换商品的话,那么有一个问题,就是有些商品并不是全额积分去兑换。而是积分+现实货币。
这部分,怎么去设计,怎么去平衡也是一个问题。