发表于: 2018-03-12 23:24:03
1 576
今天完成的事情:
1.今天主要是根据需求文档细化方案。
需求描述
1.作为一名初高中生,我希望可以通过签到增长我的逆袭豆。这样便于用户在做某种事情上起到优惠的作用
2.作为一名初高中生,我希望可以查看我的签到记录,这样便于用户知晓签到的情况。
字段默认值 累计签到==0,连续签到==0,最高连续签到==0,签到历史时间==[0,0,0....]表示31天
实现方案:用户点击签到
select 连续签到 from user_sigin where open_id = ${id}
if (连续签到 == 0) 累计次数+1 ,连续签到+1,最高连续签到+1. 签到历史(今天)==1,(第一次签到),逆袭豆+1
if(连续签到
0<n<5)
if(最后一次签到 = 1) (连续)
beans + n +1 累计次数+1 ,连续签到+1,最高连续签到+1.
签到历史(今天)==1
,
if(最后一次签到 = 0 )(不连续)(连续签到变为0)
beans + 1 累计次数+1 ,签到历史(今天)==1
,
if(连续签到>最高签到)
最高连续签到==连续签到,连续签到==0
else
连续签到==0
if(连续签到
n>= 5)
if(最后一次签到 = 1) (连续)
beans + 5 累计次数+1 ,连续签到+1,最高连续签到+1. 签到历史(今天)==1
,
if
(最后一次签到 = 0
)(不连续)(连续签到变为0)
beans + 1 累计次数+1 ,签到历史(今天)==1
,
if(连续签到>最高签到)
最高连续签到==连续签到,连续签到==0
else
连续签到==0
2.学生证
需求描述
1.作为一名第一次登录初高中生,我希望可以提示我默认调用微信基本信息,这样便于用户方便完善个人资料。
微信授权引导url写入公众号菜单,用户点击乐园入口即可完成授权,获取用户OpenID和access_token,存入验证表。用户进行绑定验证,如果绑定成功,获取用户微信信息,存入user表,成为正式用户并+20逆袭豆。
2.作为一名初高中生,我希望可以更改昵称、头像、选择年级,这样便于用户实时更新资料。
3.作为一名初高中生,我希望可以看到我收藏、这样便于用户想看的时候可以进行查看。
使用用户---文章/视频关系表记录用户的收藏情况,关系表与视频/文章表联查获取并按照创建时间排序。
4.作为一名后台管理者,我希望可以通过微信授权得到用户的ID、昵称,用户修改后可以获得用户的年级、会员展示以及可以可以对用户进行冻结和解冻的操作。这样便于我对用户的管理和情况的一个了解。
后台可以根据条件查询(使用动态sql)和分页 获取用户详情列表,冻结/解冻改变用户可登陆状态。(默认为正常)
5.作为一名运营者,我希望用户个人中心可以有绑定手机号和邮箱的功能,以便以后出了app之后能够转移用户信息。
服务器生成随机5位数字,使用阿里短信/邮箱通道发送给用户,用户填写验证码与数据库存储的内容做对比。
每天3次限制:if(发送次数<3)正常发送,使用spring task定时任务,每天晚上12点设置次数字段为0.
用户表保留password字段,出了app以后通过短信/邮箱验证用户,引导其设置密码,成功后可以使用手机/邮箱+密码登陆。
3.文学部
需求描述
1.作为一名初高中生,我希望可以看到文学文章列表,这样便于我更好的阅读文学文章。
返回的文章列表要包含用户的点赞和收藏状态,所以需要使用文章表和收藏点赞表进行联查,返回map包含点赞和收藏boolean。
2.作为一名初高中生,我希望可以对文章进行点赞和收藏,这样便于阅读自己认为好的文章。
用户点赞,user_article表中插入一条数据,点赞状态为1,用户取赞,更改点赞状态为0.
用户收藏,
user_article表中插入一条数据,收藏状态为1,用户取藏,更改收藏状态为0.
定时清理 点赞和收藏全为0的数据。
3.作为一名初高中生,我希望在列表中可以展示作者的文章标题、作者昵称、发布时间、封面、摘要、收藏,点赞数,这样便于用户快速了解文章内容。
同1,返回的map中包含具体数据。
4.作为一名后台管理者,我希望可以对文章进行新增、编辑、上下架、搜索的操作,列表对序号、标题、作者昵称、发布时间、封面、摘要、收藏点赞数进行相应的展示。这样便于大致了解文章的主题。
对文章写增改查,对文章列表做动态查询。
5.作为一名后台管理者,我希望可以对文章的标题、作者、内容做出编辑或新增的动作。对文章内容进行立即发布、存为草稿、和返回的操作。
立即发布,上架状态。 存为草稿,下架状态。
4.影像部
需求描述
1.作为一名初高中生用户,我希望有教学视频的内容,以便于我能够观看视频进行学习。
如果用户设置了年级,展示视频列表,限制年级条件。 如果没有设置,默认为全部。时间排序。
2.作为一名初高中生用户,我希望视频可以按照年级、科目和视频列表展示内容,以便于我能够选择符合自己需求的视频。
3.作为一名初高中生用户,我希望在视频列表中可以展示视频的详细信息,以便于我选择是否观看此视频。
4.作为一名初高中生用户,我希望在视频详情里可以看到视频的标题、老师昵称、发布时间、播放视频、文字内容、收藏点赞数,这样便于我更清晰的浏览视频和内容。
5.作为一名后台管理员,我希望有视频管理,以便于我能够管理视频信息。
6.作为一名后台管理员,我希望视频有新增、编辑、查看、上下架功能,以便于我能够管理视频内容。
视频的相关操作多了老师相关信息,建立teacher表,与视频1对多关系。
如果是同时新增视频和老师,先插入老师数据,然后获取其id,再插入带有teacher_id 的视频记录。
遇到的问题:
无
收获:
了解了数据库三范式
看了一下联查的功能,大概了解了inner join, left join, right join。
明天的计划:
1.根据方案写接口文档,并完善方案。
评论