package com.ygj.yuemum.service.college; import com.ygj.yuemum.component.Constant; import com.ygj.yuemum.dao.college.CollegeCurriculumExperienceDao; import com.ygj.yuemum.domain.college.CollegeCurriculumExperience; import com.ygj.yuemum.domain.college.CollegeCurriculumPractice; import com.ygj.yuemum.domain.college.CollegeCurriculumQuery; import com.ygj.yuemum.domain.college.CollegeQuery; import com.ygj.yuemum.domain.wxmini.WXUser; import com.ygj.yuemum.service.wxmini.WXUserService; import com.ygj.yuemum.utils.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; @Service public class CollegeCurriculumExperienceService { public Integer LMP = Constant.LMP; public Integer AGE = Constant.AGE; @Autowired private CollegeCurriculumExperienceDao collegeCurriculumExperienceDao; @Autowired private WXUserService wxUserService; public List getCollegeCurriculumExperiences() { List collegeCurriculumExperiences = collegeCurriculumExperienceDao.getAll(); return collegeCurriculumExperiences; } public CollegeCurriculumExperience getCollegeCurriculumExperience(Integer id) { CollegeCurriculumExperience collegeCurriculumExperience = collegeCurriculumExperienceDao.selectByPrimaryKey(id); return collegeCurriculumExperience; } public int addCollegeCurriculumExperience(CollegeCurriculumExperience collegeCurriculumExperience) { return collegeCurriculumExperienceDao.insertSelective(collegeCurriculumExperience); } public int deleteCollegeCurriculumExperience(Integer id) { return collegeCurriculumExperienceDao.deleteByPrimaryKey(id); } public int updateCollegeCurriculumExperience(CollegeCurriculumExperience collegeCurriculumExperience) { return collegeCurriculumExperienceDao.updateByPrimaryKeySelective(collegeCurriculumExperience); } public List queryExperienceByStep(CollegeCurriculumExperience collegeCurriculumExperience) { return collegeCurriculumExperienceDao.queryExperienceByStep(collegeCurriculumExperience); } public CollegeCurriculumExperience queryExperienceDetail(CollegeQuery collegeQuery) throws ParseException { CollegeCurriculumExperience collegeCurriculumExperience = collegeCurriculumExperienceDao.queryExperienceDetail(collegeQuery); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if(collegeCurriculumExperience.getLearningStatus() != null && collegeCurriculumExperience.getLearningStatus().equals("9")){ collegeCurriculumExperience.setLearningStatus("已完成"); collegeCurriculumExperience.setStatus("已完成"); } else if(collegeCurriculumExperience.getLearningStatus() != null && collegeCurriculumExperience.getLearningStatus().equals("1")){ collegeCurriculumExperience.setLearningStatus("待完成"); collegeCurriculumExperience.setStatus("查看预约"); } else { collegeCurriculumExperience.setLearningStatus("待完成"); collegeCurriculumExperience.setStatus("立即预约"); } return collegeCurriculumExperience; } public LinkedHashMap queryUserLearningExperience(String openid) { WXUser wxUser = wxUserService.getWXUser(openid); LinkedHashMap tableData = new LinkedHashMap<>(); try { if (wxUser != null && wxUser.getXu_content_type() != null && wxUser.getXu_content_date() != null && wxUser.getXu_phone() != null) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dateNow = new Date(); Date getDate = sdf.parse(wxUser.getXu_content_date()); CollegeCurriculumQuery collegeCurriculumQuery = new CollegeCurriculumQuery(); collegeCurriculumQuery.setOpenid(openid); collegeCurriculumQuery.setC_type(wxUser.getXu_content_type()); if (wxUser.getXu_content_type().equals("B01")) { if (dateNow.getTime() < getDate.getTime()) { //还没出生 return null; } else { if (DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) { collegeCurriculumQuery.setC_step(AGE); } else { collegeCurriculumQuery.setC_step(AGE - DateUtil.getMonthDiff(dateNow, getDate) + 1); } } } else if (wxUser.getXu_content_type().equals("P01")) { if (dateNow.getTime() < getDate.getTime()) { if (LMP - DateUtil.getWeekDiff(dateNow, getDate) < 0) { return null; //还没怀孕 } else { collegeCurriculumQuery.setC_step(LMP - DateUtil.getWeekDiff(dateNow, getDate)); } } else { collegeCurriculumQuery.setC_step(LMP); //已出生 } } else { return null; } List collegeCurriculumExperiences = collegeCurriculumExperienceDao.queryUserLearningExperience(collegeCurriculumQuery); for (CollegeCurriculumExperience collegeCurriculumExperience : collegeCurriculumExperiences) { if (collegeCurriculumExperience.getStatus().equals("9")) { //1-已预约,2-学习中,3-已过期, 9-已完成 collegeCurriculumExperience.setStatus("已完成"); } else { if (collegeCurriculumExperience.getC_step() >= DateUtil.getWeekDiff(dateNow, getDate)) { collegeCurriculumExperience.setStatus("待完成"); } else { collegeCurriculumExperience.setStatus("未完成"); } } } tableData.put("collegeCurriculumExperiences", collegeCurriculumExperiences); return tableData; } else { return null; } } catch ( Exception ex) { ex.printStackTrace(); return null; } } }