package com.ygj.yuemum.service.college; import com.ygj.yuemum.dao.college.CollegeTestDetailDao; import com.ygj.yuemum.domain.college.CollegeTest; import com.ygj.yuemum.domain.college.CollegeTestDetail; import com.ygj.yuemum.domain.college.CollegeTestResult; import com.ygj.yuemum.domain.college.CollegeUserPoints; import org.omg.PortableInterceptor.INACTIVE; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; 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; 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 deleteCollegeTestDetail(Integer id) { return collegeTestDetailDao.deleteByPrimaryKey(id); } public int updateCollegeTestDetail(CollegeTestDetail collegeTestDetail) { return collegeTestDetailDao.updateByPrimaryKeySelective(collegeTestDetail); } public CollegeTestDetail queryUserAnswers (CollegeTestDetail collegeTestDetail) { return collegeTestDetailDao.queryUserAnswers(collegeTestDetail); } public LinkedHashMap addTestDetail(String openid, Integer core_id, String answers) { LinkedHashMap tableData = new LinkedHashMap<>(); CollegeTestDetail collegeTestDetailQuery = new CollegeTestDetail(); collegeTestDetailQuery.setOpenid(openid); collegeTestDetailQuery.setCoreid(core_id); 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); collegeTestDetailDao.insertSelective(collegeTestDetail); //增加学分 if (collegeUserPointsService.queryOneUserPoints(openid) != null) { collegeUserPointsService.updatePointsByTest(openid); } else { CollegeUserPoints collegeUserPoints = new CollegeUserPoints(); collegeUserPoints.setOpenid(openid); collegeUserPoints.setCredit_available(1); collegeUserPoints.setCredit_total(1); collegeUserPointsService.addCollegeUserPoints(collegeUserPoints); } return tableData; } else { tableData.put("score","已做过测试"); return tableData; } } }