Closed fushang318 closed 8 years ago
用户学习一门课程,需要有一个学习进度的展示,包括:
# 记录某一小节的学习进度 ware_reading user_id # 学习进度的所有者 course_id # 所属课程 chapter_id # 所属章节 ware_id # 所属小节 read_percent # Integer 类型,比如学习了 1/3 时,该值为 33 (表示 33%) created_at # 创建时间 updated_at # 最后更新时间 # 记录某一天内某一小节的学习进度变化(一个用户针对同一个小节 ware,一天内只有一个 ware_reading_delta 记录) ware_reading_delta user_id # 学习进度的所有者 course_id # 所属课程 chapter_id # 所属章节 ware_id # 所属小节 time # Time 类型,表示这条记录代表的日期(某一天,要求用一天的第一秒代表的时间,比如 Time.now.beginning_of_day) read_percent_change # Integer 类型,比如当天内学习了 1/5,那么该值为 20(表示 20%) read_percent # Integer 类型,比如当天开始前已经学习了 1/5,当天内又学习了 1/5,那么该值为 40(表示 40%) created_at # 创建时间 updated_at # 最后更新时间
测试驱动开发,完成如下方法的封装
# 设置 user 已经完成了 ware 百分之 read_percent 的内容 ware.set_read_percent_by_user(user, read_percent) # user 是否已经完成整个 ware 的学习(read_percent 是 100 时,表示完成学习) ware.has_read_by_user?(user) # user 已经学习了 ware 多少百分比的内容,返回值是代表百分比的数字 ware.read_percent_of_user(user) chapter.has_read_by_user?(user) chapter.read_percent_of_user(user) course.has_read_by_user?(user) course.read_percent_of_user(user) # user 某一天内学习了 ware 多少百分比的内容,返回值是代表百分比的数字 ware.read_percent_change_of_user(user, time) # user 截止到某天(包括这个某天内学习的),已经学习了 ware 多少百分比的内容,返回值是代表百分比的数字 ware.read_percent_of_user(user, time) chapter.read_percent_change_of_user(user, time) chapter.read_percent_of_user(user, time) course.read_percent_change_of_user(user, time) course.read_percent_of_user(user, time) # 查询该用户某段时间内的学习情况 # start_time 表示开始日期当天的第一秒(查询结果包含开始日期这一天) # end_time 表示结束日期当天的第一秒(查询结果包含结束日期这一天) # 返回结果 [ # { # :user => user, # :course => course, # :chapter => chapter, # :ware => ware, # :time => time, # :read_percent_change => read_percent_change, # :read_percent => read_percent, # :created_at => created_at, # :updated_at => updated_at # }, # ... # ] user.read_status_of_course(start_time, end_time)
有疑惑的地方先找我沟通,没有疑惑后把思路回复在评论内,找我确认无误后再开始编码
几个问题确认一下:
按这样来做吧~~
功能描述
用户学习一门课程,需要有一个学习进度的展示,包括:
建模
需要做的工作
测试驱动开发,完成如下方法的封装
有疑惑的地方先找我沟通,没有疑惑后把思路回复在评论内,找我确认无误后再开始编码