123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- 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<CollegeTestDetail> getCollegeTestDetails() {
- List<CollegeTestDetail> 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<String, Object> addTestDetail(String openid, Integer core_id, String answers) {
- LinkedHashMap<String, Object> 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<CollegeTest> collegeTests = collegeTestService.selectByCoreId(core_id);
- for (CollegeTest collegeTest: collegeTests) {
- List<CollegeTestResult> 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;
- }
- }
- }
|