CollegeCurriculumPracticeService.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package com.ygj.yuemum.service.college;
  2. import com.ygj.yuemum.component.Constant;
  3. import com.ygj.yuemum.dao.college.CollegeCurriculumPracticeDao;
  4. import com.ygj.yuemum.domain.college.*;
  5. import com.ygj.yuemum.domain.wxmini.WXUser;
  6. import com.ygj.yuemum.service.wxmini.WXUserService;
  7. import com.ygj.yuemum.utils.DateUtil;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import java.text.ParseException;
  11. import java.text.SimpleDateFormat;
  12. import java.util.Date;
  13. import java.util.LinkedHashMap;
  14. import java.util.List;
  15. @Service
  16. public class CollegeCurriculumPracticeService {
  17. public Integer LMP = Constant.LMP;
  18. public Integer AGE = Constant.AGE;
  19. @Autowired
  20. private CollegeCurriculumPracticeDao collegeCurriculumPracticeDao;
  21. @Autowired
  22. private WXUserService wxUserService;
  23. public List<CollegeCurriculumPractice> getCollegeCurriculumPractices() {
  24. List<CollegeCurriculumPractice> collegeCurriculumPractices = collegeCurriculumPracticeDao.getAll();
  25. return collegeCurriculumPractices;
  26. }
  27. public CollegeCurriculumPractice getCollegeCurriculumPractice(Integer id) {
  28. CollegeCurriculumPractice collegeCurriculumPractice = collegeCurriculumPracticeDao.selectByPrimaryKey(id);
  29. return collegeCurriculumPractice;
  30. }
  31. public CollegeCurriculumPractice queryPracticeDetail(CollegeQuery collegeQuery) throws ParseException {
  32. CollegeCurriculumPractice collegeCurriculumPractice = collegeCurriculumPracticeDao.queryPracticeDetail(collegeQuery);
  33. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  34. SimpleDateFormat sd = new SimpleDateFormat("MM-dd HH:mm");
  35. long beginMillisecond = new Date().getTime();
  36. long endMillisecond = sdf.parse(collegeCurriculumPractice.getDeadline()).getTime();
  37. if(beginMillisecond > endMillisecond) {
  38. if(collegeCurriculumPractice.getLearningStatus() != null && collegeCurriculumPractice.getLearningStatus().equals("9")) {
  39. collegeCurriculumPractice.setLearningStatus("已完成");
  40. collegeCurriculumPractice.setStatus("已完成");
  41. } else {
  42. collegeCurriculumPractice.setLearningStatus("已过期");
  43. collegeCurriculumPractice.setStatus("已过期");
  44. }
  45. } else {
  46. if(collegeCurriculumPractice.getLearningStatus() != null && collegeCurriculumPractice.getLearningStatus().equals("9")) {
  47. collegeCurriculumPractice.setLearningStatus("已完成");
  48. collegeCurriculumPractice.setStatus("已完成");
  49. } else if (collegeCurriculumPractice.getLearningStatus() != null && collegeCurriculumPractice.getLearningStatus().equals("1")) {
  50. collegeCurriculumPractice.setLearningStatus("已报名");
  51. collegeCurriculumPractice.setStatus("查看报名");
  52. } else {
  53. collegeCurriculumPractice.setLearningStatus("待完成");
  54. collegeCurriculumPractice.setStatus("立即报名");
  55. }
  56. }
  57. collegeCurriculumPractice.setStartdate(sd.format(sdf.parse(collegeCurriculumPractice.getStartdate())));
  58. collegeCurriculumPractice.setEnddate(sd.format(sdf.parse(collegeCurriculumPractice.getEnddate())));
  59. collegeCurriculumPractice.setDeadline(sd.format(sdf.parse(collegeCurriculumPractice.getDeadline())));
  60. return collegeCurriculumPractice;
  61. }
  62. public int addCollegeCurriculumPractice(CollegeCurriculumPractice collegeCurriculumPractice) {
  63. return collegeCurriculumPracticeDao.insertSelective(collegeCurriculumPractice);
  64. }
  65. public int deleteCollegeCurriculumPractice(Integer id) {
  66. return collegeCurriculumPracticeDao.deleteByPrimaryKey(id);
  67. }
  68. public int updateCollegeCurriculumPractice(CollegeCurriculumPractice collegeCurriculumPractice) {
  69. return collegeCurriculumPracticeDao.updateByPrimaryKeySelective(collegeCurriculumPractice);
  70. }
  71. public List<CollegeCurriculumPractice> queryPracticeByStep(CollegeCurriculumPractice collegeCurriculumPractice) {
  72. return collegeCurriculumPracticeDao.queryPracticeByStep(collegeCurriculumPractice);
  73. }
  74. public LinkedHashMap<String, Object> queryUserLearningPractice(String openid) {
  75. WXUser wxUser = wxUserService.getWXUser(openid);
  76. LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
  77. try {
  78. if (wxUser != null && wxUser.getXu_content_type() != null && wxUser.getXu_content_date() != null && wxUser.getXu_phone() != null) {
  79. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  80. Date dateNow = new Date();
  81. Date getDate = sdf.parse(wxUser.getXu_content_date());
  82. CollegeCurriculumQuery collegeCurriculumQuery = new CollegeCurriculumQuery();
  83. collegeCurriculumQuery.setOpenid(openid);
  84. collegeCurriculumQuery.setC_type(wxUser.getXu_content_type());
  85. if (wxUser.getXu_content_type().equals("B01")) {
  86. if (dateNow.getTime() < getDate.getTime()) {
  87. //还没出生
  88. return null;
  89. } else {
  90. if (DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) {
  91. collegeCurriculumQuery.setC_step(AGE);
  92. } else {
  93. collegeCurriculumQuery.setC_step(AGE - DateUtil.getMonthDiff(dateNow, getDate) + 1);
  94. }
  95. }
  96. } else if (wxUser.getXu_content_type().equals("P01")) {
  97. if (dateNow.getTime() < getDate.getTime()) {
  98. if (LMP - DateUtil.getWeekDiff(dateNow, getDate) < 0) {
  99. return null; //还没怀孕
  100. } else {
  101. collegeCurriculumQuery.setC_step(LMP - DateUtil.getWeekDiff(dateNow, getDate));
  102. }
  103. } else {
  104. collegeCurriculumQuery.setC_step(LMP); //已出生
  105. }
  106. } else {
  107. return null;
  108. }
  109. List<CollegeCurriculumPractice> collegeCurriculumPractices = collegeCurriculumPracticeDao.queryUserLearningPractice(collegeCurriculumQuery);
  110. for (CollegeCurriculumPractice collegeCurriculumPractice : collegeCurriculumPractices) {
  111. if (collegeCurriculumPractice.getStatus().equals("9")) { //1-已预约,2-学习中,3-已过期, 9-已完成
  112. collegeCurriculumPractice.setStatus("已完成");
  113. } else {
  114. if (collegeCurriculumPractice.getC_step() >= DateUtil.getWeekDiff(dateNow, getDate)) {
  115. collegeCurriculumPractice.setStatus("待完成");
  116. } else {
  117. collegeCurriculumPractice.setStatus("未完成");
  118. }
  119. }
  120. }
  121. tableData.put("collegeCurriculumPractices", collegeCurriculumPractices);
  122. return tableData;
  123. } else {
  124. return null;
  125. }
  126. } catch (
  127. Exception ex) {
  128. ex.printStackTrace();
  129. return null;
  130. }
  131. }
  132. }