CollegeTestDetailService.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package com.ygj.yuemum.service.college;
  2. import com.ygj.yuemum.dao.college.CollegeTestDetailDao;
  3. import com.ygj.yuemum.domain.college.*;
  4. import org.omg.PortableInterceptor.INACTIVE;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.text.SimpleDateFormat;
  8. import java.util.Date;
  9. import java.util.LinkedHashMap;
  10. import java.util.List;
  11. @Service
  12. public class CollegeTestDetailService {
  13. @Autowired
  14. private CollegeTestDetailDao collegeTestDetailDao;
  15. @Autowired
  16. private CollegeTestResultService collegeTestResultService;
  17. @Autowired
  18. private CollegeTestService collegeTestService;
  19. @Autowired
  20. private CollegeUserPointsService collegeUserPointsService;
  21. @Autowired
  22. private CollegeLearningDetailService collegeLearningDetailService;
  23. @Autowired
  24. private CollegeCurriculumCoreService collegeCurriculumCoreService;
  25. public List<CollegeTestDetail> getCollegeTestDetails() {
  26. List<CollegeTestDetail> collegeTestDetails = collegeTestDetailDao.getAll();
  27. return collegeTestDetails;
  28. }
  29. public CollegeTestDetail getCollegeTestDetail(Integer id) {
  30. CollegeTestDetail collegeTestDetail = collegeTestDetailDao.selectByPrimaryKey(id);
  31. return collegeTestDetail;
  32. }
  33. public int addCollegeTestDetail(CollegeTestDetail collegeTestDetail) {
  34. return collegeTestDetailDao.insertSelective(collegeTestDetail);
  35. }
  36. public int insertSelective(CollegeTestDetail record) {
  37. return collegeTestDetailDao.insertSelective(record);
  38. }
  39. public int deleteCollegeTestDetail(Integer id) {
  40. return collegeTestDetailDao.deleteByPrimaryKey(id);
  41. }
  42. public int updateCollegeTestDetail(CollegeTestDetail collegeTestDetail) {
  43. return collegeTestDetailDao.updateByPrimaryKeySelective(collegeTestDetail);
  44. }
  45. public CollegeTestDetail selectByOpenId(CollegeTestDetail collegeTestDetail){
  46. return collegeTestDetailDao.selectByOpenId(collegeTestDetail);
  47. }
  48. public CollegeTestDetail queryUserAnswers (CollegeTestDetail collegeTestDetail) {
  49. return collegeTestDetailDao.queryUserAnswers(collegeTestDetail);
  50. }
  51. public CollegeTestDetail queryTestComplete (CollegeTestDetail collegeTestDetail) {
  52. return collegeTestDetailDao.queryTestComplete(collegeTestDetail);
  53. }
  54. public LinkedHashMap<String, Object> addTestDetail(String openid, Integer core_id, String answers) {
  55. LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
  56. CollegeTestDetail collegeTestDetailQuery = new CollegeTestDetail();
  57. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  58. collegeTestDetailQuery.setOpenid(openid);
  59. collegeTestDetailQuery.setCoreid(core_id);
  60. collegeTestDetailQuery.setSys_type("YueSuo");
  61. if(collegeTestDetailDao.selectByOpenId(collegeTestDetailQuery) == null) {
  62. CollegeTestDetail collegeTestDetail = new CollegeTestDetail();
  63. collegeTestDetail.setCoreid(core_id);
  64. collegeTestDetail.setOpenid(openid);
  65. collegeTestDetail.setStatus(9);
  66. String[] answersL = answers.split(",");
  67. int score = 0;
  68. int count = 0;
  69. int i = 0;
  70. List<CollegeTest> collegeTests = collegeTestService.selectByCoreId(core_id);
  71. for (CollegeTest collegeTest: collegeTests) {
  72. List<CollegeTestResult> collegeTestResults = collegeTestResultService.selectByTestId(collegeTest.getId());
  73. for(CollegeTestResult collegeTestResult:collegeTestResults) {
  74. if(collegeTestResult.isIsright()&&answersL[i].equals(String.valueOf(collegeTestResult.getSeq()))){
  75. score = score + collegeTest.getScore();
  76. count = count + 1;
  77. break;
  78. }
  79. }
  80. i++;
  81. }
  82. tableData.put("score",score);
  83. tableData.put("count",count);
  84. //insert into Detail
  85. collegeTestDetail.setResult(score);
  86. collegeTestDetail.setAnswers(answers);
  87. collegeTestDetail.setSys_type("YueSuo");
  88. collegeTestDetailDao.insertSelective(collegeTestDetail);
  89. // 常规课完成
  90. CollegeCurriculumCore collegeCurriculumCore = collegeCurriculumCoreService.getCollegeCurriculumCore(core_id);
  91. CollegeLearningDetail collegeLearningDetail1 = new CollegeLearningDetail();
  92. collegeLearningDetail1.setOpen_id(openid);
  93. collegeLearningDetail1.setC_code(collegeCurriculumCore.getC_code());
  94. collegeLearningDetail1.setDate(sdf.format(new Date()));
  95. collegeLearningDetail1.setCredit(collegeCurriculumCore.getCredit());
  96. collegeLearningDetail1.setStatus(9);
  97. collegeLearningDetail1.setRate("100%");
  98. collegeLearningDetail1.setSys_type("YueSuo");
  99. collegeLearningDetailService.addCollegeLearningDetail(collegeLearningDetail1);
  100. //增加学分
  101. CollegePointsDetail collegePointsDetail = new CollegePointsDetail();
  102. collegePointsDetail.setOpenid(openid);
  103. collegePointsDetail.setCredit(collegeCurriculumCore.getCredit());
  104. if (collegeUserPointsService.queryOneUserPoints(openid) != null) {
  105. collegeUserPointsService.updatePointsByTest(collegePointsDetail);
  106. } else {
  107. CollegeUserPoints collegeUserPoints = new CollegeUserPoints();
  108. collegeUserPoints.setOpenid(openid);
  109. collegeUserPoints.setCredit_available(collegeCurriculumCore.getCredit());
  110. collegeUserPoints.setCredit_total(collegeCurriculumCore.getCredit());
  111. collegeUserPointsService.addCollegeUserPoints(collegeUserPoints);
  112. }
  113. return tableData;
  114. } else {
  115. tableData.put("score","已做过测试");
  116. return tableData;
  117. }
  118. }
  119. }