package com.ygj.yuemum.service.college; import com.ygj.yuemum.dao.college.CollegeTestDetailDao; import com.ygj.yuemum.domain.college.*; import org.omg.PortableInterceptor.INACTIVE; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; @Service public class CollegeTestDetailService { @Autowired private CollegeTestDetailDao collegeTestDetailDao; @Autowired private CollegeTestResultService collegeTestResultService; @Autowired private CollegeTestService collegeTestService; @Autowired private CollegeUserPointsService collegeUserPointsService; @Autowired private CollegeLearningDetailService collegeLearningDetailService; @Autowired private CollegeCurriculumCoreService collegeCurriculumCoreService; public List getCollegeTestDetails() { List collegeTestDetails = collegeTestDetailDao.getAll(); return collegeTestDetails; } public CollegeTestDetail getCollegeTestDetail(Integer id) { CollegeTestDetail collegeTestDetail = collegeTestDetailDao.selectByPrimaryKey(id); return collegeTestDetail; } public int addCollegeTestDetail(CollegeTestDetail collegeTestDetail) { return collegeTestDetailDao.insertSelective(collegeTestDetail); } public int insertSelective(CollegeTestDetail record) { return collegeTestDetailDao.insertSelective(record); } public int deleteCollegeTestDetail(Integer id) { return collegeTestDetailDao.deleteByPrimaryKey(id); } public int updateCollegeTestDetail(CollegeTestDetail collegeTestDetail) { return collegeTestDetailDao.updateByPrimaryKeySelective(collegeTestDetail); } public CollegeTestDetail selectByOpenId(CollegeTestDetail collegeTestDetail){ return collegeTestDetailDao.selectByOpenId(collegeTestDetail); } public CollegeTestDetail queryUserAnswers (CollegeTestDetail collegeTestDetail) { return collegeTestDetailDao.queryUserAnswers(collegeTestDetail); } public CollegeTestDetail queryTestComplete (CollegeTestDetail collegeTestDetail) { return collegeTestDetailDao.queryTestComplete(collegeTestDetail); } public LinkedHashMap addTestDetail(String openid, Integer core_id, String answers) { LinkedHashMap tableData = new LinkedHashMap<>(); CollegeTestDetail collegeTestDetailQuery = new CollegeTestDetail(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); collegeTestDetailQuery.setOpenid(openid); collegeTestDetailQuery.setCoreid(core_id); collegeTestDetailQuery.setSys_type("YueSuo"); if(collegeTestDetailDao.selectByOpenId(collegeTestDetailQuery) == null) { CollegeTestDetail collegeTestDetail = new CollegeTestDetail(); collegeTestDetail.setCoreid(core_id); collegeTestDetail.setOpenid(openid); collegeTestDetail.setStatus(9); String[] answersL = answers.split(","); int score = 0; int count = 0; int i = 0; List collegeTests = collegeTestService.selectByCoreId(core_id); for (CollegeTest collegeTest: collegeTests) { List collegeTestResults = collegeTestResultService.selectByTestId(collegeTest.getId()); for(CollegeTestResult collegeTestResult:collegeTestResults) { if(collegeTestResult.isIsright()&&answersL[i].equals(String.valueOf(collegeTestResult.getSeq()))){ score = score + collegeTest.getScore(); count = count + 1; break; } } i++; } tableData.put("score",score); tableData.put("count",count); //insert into Detail collegeTestDetail.setResult(score); collegeTestDetail.setAnswers(answers); collegeTestDetail.setSys_type("YueSuo"); collegeTestDetailDao.insertSelective(collegeTestDetail); // 常规课完成 CollegeCurriculumCore collegeCurriculumCore = collegeCurriculumCoreService.getCollegeCurriculumCore(core_id); CollegeLearningDetail collegeLearningDetail1 = new CollegeLearningDetail(); collegeLearningDetail1.setOpen_id(openid); collegeLearningDetail1.setC_code(collegeCurriculumCore.getC_code()); collegeLearningDetail1.setDate(sdf.format(new Date())); collegeLearningDetail1.setCredit(collegeCurriculumCore.getCredit()); collegeLearningDetail1.setStatus(9); collegeLearningDetail1.setRate("100%"); collegeLearningDetail1.setSys_type("YueSuo"); collegeLearningDetailService.addCollegeLearningDetail(collegeLearningDetail1); //增加学分 CollegePointsDetail collegePointsDetail = new CollegePointsDetail(); collegePointsDetail.setOpenid(openid); collegePointsDetail.setCredit(collegeCurriculumCore.getCredit()); if (collegeUserPointsService.queryOneUserPoints(openid) != null) { collegeUserPointsService.updatePointsByTest(collegePointsDetail); } else { CollegeUserPoints collegeUserPoints = new CollegeUserPoints(); collegeUserPoints.setOpenid(openid); collegeUserPoints.setCredit_available(collegeCurriculumCore.getCredit()); collegeUserPoints.setCredit_total(collegeCurriculumCore.getCredit()); collegeUserPointsService.addCollegeUserPoints(collegeUserPoints); } return tableData; } else { tableData.put("score","已做过测试"); return tableData; } } }