123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- 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<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 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<String, Object> addTestDetail(String openid, Integer core_id, String answers) {
- LinkedHashMap<String, Object> 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<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);
- 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;
- }
- }
- }
|