CollegeCurriculumExperienceService.java 6.5 KB

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