【需求设计1】VIP积分系统无聊YY
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过期,然后翻牌操作结束。
注意:如果是兑换商品的话,那么有一个问题,就是有些商品并不是全额积分去兑换。而是积分+现实货币。
这部分,怎么去设计,怎么去平衡也是一个问题。
【需求设计1】VIP积分系统无聊YY的更多相关文章
- 搭建属于自己的VIP积分系统(1)
很久没写博客了,如果有写得不好的地方,还请多多见谅. 架构设计 需求分析 这篇文章主要是介绍此VIP系统的基础架构.说实在的,我其实对 架构方面也不是很懂,我这套框架 还是拿别人的东西改过来的,并不是 ...
- Java生鲜电商平台-会员积分系统的设计与架构
Java生鲜电商平台-会员积分系统的设计与架构 说明:互联网平台积分体系主要用于激励和回馈用户在平台的消费行为和活动行为,一个良好的积分体系可以很好的提升用户的粘性及活跃度. 一.互联网平台积分体系设 ...
- Oracle数据库设计实例-实时生产效率系统数据库设计
Oracle数据库设计实例-实时生产效率系统数据库设计 引言 1.1 设计前提 某部门经理要求IT部门设计一个流水线实时生产效率系统,用来统计实时的生产量和效率.流水线有数百条,实时间隔为1min. ...
- 基于ZooKeeper,Spring设计实现的参数系统
一.简介 基于ZooKeeper服务端.ZooKeeper Java客户端以及Spring框架设计的用于系统内部进行参数维护的系统. 二.设计背景 在我们日常开发的系统内部,开发过程中最常见的一项工作 ...
- 设计和开发ETL系统(一)——ETL过程综述
在这部分将按照设计和实现ETL系统的流程展开,将上一个部分的那些子系统按照提取数据.清洗和一致化.向呈现服务器提交以及管理ETL环境等四个方面进行了分类.(是不是说对ETL主要就是掌握这四个方面的内容 ...
- UI设计中蕴涵着系统重要的数据结构与功能设计
UI设计中蕴涵着系统重要的数据结构与功能设计 UI设计中的用户需求,事件(用例)驱动
- [需求设计]从一个小需求感受Redis的独特魅力
分享一个简单的小需求应该怎么设计实现以及有关Redis的使用 Redis在实际应用中使用的非常广泛,本篇文章就从一个简单的需求说起,为你讲述一个需求是如何从头到尾开始做的,又是如何一步步完善的.之前写 ...
- 基于STM32+华为云IOT设计智能称重系统
摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统 ...
- 性能测试day06_需求设计的学习(性能重中之重,思维方向永远重于工具)
今天接着来学习下性能知识,本来是应该先学习一下LR的用法的,不过听完云层大大的课之后,我感觉工具没有这一篇来的重要,我们知道性能有三大步骤:负载->监控->调优,但是在这个之前我们首先要搞 ...
随机推荐
- 如何一步一步用DDD设计一个电商网站(六)—— 给购物车加点料,集成售价上下文
阅读目录 前言 如何在一个项目中实现多个上下文的业务 售价上下文与购买上下文的集成 结语 一.前言 前几篇已经实现了一个最简单的购买过程,这次开始往这个过程中增加一些东西.比如促销.会员价等,在我们的 ...
- .Net Core MVC 网站开发(Ninesky) 2.2、栏目管理功能-System区域添加
在asp或asp.net中为了方便网站的结构清晰,通常把具有类似功能的页面放到一个文件夹中,用户管理功能都放在Admin文件夹下,用户功能都放在Member文件夹下,在MVC中,通常使用区域(Area ...
- JavaScript常见的五种数组去重的方式
▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...
- APP多版本共存,服务端如何兼容?
做过APP产品的技术人员都知道,APP应用属于一种C/S架构的,所以在做多版本兼容,升级等处理则比较麻烦,不像web应用那么容易.下面将带大家分析几种常见的情况和应对方式: 小改动或者新加功能的 这种 ...
- Android—应用程序开机自启
android开机时候会发送开机广播,我们想要收到广播知道手机开机,才能启动我们的应用程序. 首先要在配置文件中添加相应权限: <uses-permission android:name=&qu ...
- centos6和centos7防火墙的关闭
CentOS6.5查看防火墙的状态: [zh@localhost ~]$service iptable status 显示结果: [zh@localhost ~]$service iptable st ...
- Win10命令提示符(cmd)怎么复制粘贴
在Win10系统里右键开始菜单,选择弹出菜单里的命令提示符,如下图所示: 然后复制要粘贴的文字,例如: echo hovertree.com 把上面的文字复制后,点击命令提示符窗口,然后在命令提示符窗 ...
- http协议(十一)http与https
一.http的缺点 之前有介绍过http协议相关的一些知识,http是相当优秀和方便的,但它也有缺点,主要不足表现在如下几个方面: △ 通信使用明文(不加密),内容可能会被窃听 △ 不验证通信方的身份 ...
- 如何让我们的PHP在Jexus中跑起来
最近一段时间,经常看到不少的朋友在问,应该怎么设置才能够让Jexus支持PHP.其实,Jexus在很早之前就已经是可以支持PHP,像Apache或Nginx一样充当PHP的Web服务器的.不过由于没有 ...
- deepsooncms在Ubuntu 14.04上部署教程
deepsooncms在Ubuntu 14.04上部署教程 一.安装mono1.在命令行运行sudo apt-key adv --keyserver keyserver.ubuntu.com --re ...