Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. /**
  2. * 新的数据格式计算倒计时
  3. *
  4. * @param courseNew
  5. * @return CountDownDto
  6. */
  7. public static CountDownDto calculateSeries(CourseNew courseNew) {
  8. CountDownDto countDownDto = new CountDownDto();
  9. if (courseNew == null) {
  10. return countDownDto;
  11. }
  12.  
  13. // 需要在拿到数据的时候塞进去本地的时间
  14. Long localCurTime = courseNew.getLocalTime();
  15. Long serverCurTime = courseNew.getCurrentTime();
  16.  
  17. int lastIndex = courseNew.getCourseDetailDtos().size() - 1;
  18. int i = 0;
  19. for (CourseResNew.CourseOutlineDto outline : courseNew.getCourseDetailDtos()) {
  20. Long courseStartTime = outline.getStartTime();
  21. /** 开始倒计时的时间点 **/
  22. Long startCountDownTime = new Date().getTime();
  23.  
  24. // 开课剩余时间
  25. Long limitTime = courseStartTime - serverCurTime - (startCountDownTime - localCurTime);
  26.  
  27. if (serverCurTime < courseStartTime && limitTime > 0) {// 有课次还未开课,返回倒计时数据
  28. countDownDto.setIndex(i);
  29. countDownDto.setStatus(CountDownDto.COUNTDOWN);
  30. countDownDto.setData(calculateBylimitTime(limitTime));
  31. break;
  32. }
  33.  
  34. if (outline.getEndTime() - courseNew.getCurrentTime() > System.currentTimeMillis() - courseNew
  35. .getLocalTime()) {// 直播中
  36. countDownDto.setIndex(i);
  37. countDownDto.setStatus(CountDownDto.LIVEING);
  38. break;
  39. } else {// 已结束
  40. if (i == lastIndex) {// 最后一项
  41. countDownDto.setIndex(i);
  42. countDownDto.setStatus(CountDownDto.END);
  43. }
  44. }
  45. i++;
  46. }
  47. return countDownDto;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement