发表于: 2017-09-06 11:35:45
2 877
今天完成的事情:
1、写了前台的方案。
活会员(参考回家学习)
PUT /a/user/coupon/active
入参校验:卡券ID、卡券密码 不能为空 -6000if (是否存在该ID的卡券){ return "/common/error";}if(卡券使用状态为‘已使用’ || ‘已过期 ’){ return }if(卡券状态为‘未使用’ && 现在时间戳 > 卡券过期时间){ return }if(!卡券密码正确){ return}
设置卡券使用状态为“已使用”、执行一下update
开通会员 or 续费会员
if(“用户—套餐”表中是否存在该用户 ID 对应的记录){ “开始时间” = 现在时间戳}else{ 遍历该用户的所有套餐。取到最新的那个“到期时间”。 “开始时间”= “到期时间”}
为该用户添加会员记录、用户ID、卡券ID、套餐名称、套餐价格、套餐期限、“开始时间”、到期时间
课程详情
点击加锁课程
通过拦截器判断用户是否登录、是否是会员
取得 user_id,获取 user,if(user 为空){ return /a/wrong}if(user 被冻结){ return }
//根据当前时间戳、更新当前用户的所有套餐的有效状态
通过 user_id 获取当前 的“用户-套餐”关系id列表select id from user_member_relation where user_id=? and status=? order by create_at desc(取得 关系ID集合)遍历用户的所有套餐,但凡有“结束时间” 小于 当前时间戳的,就更新该关系的状态为“已过期”。
select id from user_member_relation where user_id=? and status=有效 order by create_at desc取最新的一条。
课程列表
取出某专题下的所有上架课程select id from course where chapter_id = ? and status=?
select id from task where course_id = ?从task表一次性取出全部的 task,将每个task与其对应的course_id 装配成一个课程-任务Map, Map<Long,List<Task>>,
遍历课程列表时,用每一个课程ID作为key 去 课程-任务Map 中查找对应的 任务列表。塞到最终返回的数据结构中。
课程详情
select id from task where course_id = ? and status=?
根据 course 的 rank 取得“上一个课程”和“下一个课程”。select id from course where rank=?
前台签到
第一天一个豆(连续递增到5个,中断后从1开始,)
判断当天是否签到map user_id sign_dateselect id from sign where user_id=? and sign_date = ? if(signId 不为空){ 已经签到,返回“今日已经签到”}else{ 日志记录“用户今天即将签到”}
向签到表中插入一条记录(用户ID、签到日期、签到时间)
(修改连续签到次数)if(用户昨日未签到){ 设置该用户 “连续签到天数” 为1}else{ 设置“连续签到天数”为原有值+1}
加逆袭豆数 = 连续签到天数if(5<=连续签到天数){ 加逆袭豆数 = 5}
2、确定了支付模块官网项目的代码中取得。
明天的计划:
1、核对需求、表结构、接口文档。准备方案评审。
遇到的问题:
1、
收获:
1、学习了一个 Hessian RPC示例和基于Http请求的Hessian序列化对象传输 的demo。
评论