Compare commits

..

3 Commits

@ -137,10 +137,11 @@ public class StuConceptBlockServiceImpl implements StuConceptBlockService {
*/ */
@Override @Override
public void hashLearningAssessmentScore(StuLearningAssessmentScoreDTO stuLearningAssessmentScoreDTO) { public void hashLearningAssessmentScore(StuLearningAssessmentScoreDTO stuLearningAssessmentScoreDTO) {
//查询做题记录
StuAssessmentQuestionDetailsExample detailsExample = new StuAssessmentQuestionDetailsExample(); StuAssessmentQuestionDetailsExample detailsExample = new StuAssessmentQuestionDetailsExample();
detailsExample.createCriteria().andUserIdEqualTo(stuLearningAssessmentScoreDTO.getUserId()); detailsExample.createCriteria().andUserIdEqualTo(stuLearningAssessmentScoreDTO.getUserId());
List<StuAssessmentQuestionDetails> stuAssessmentQuestionDetails = stuAssessmentQuestionDetailsMapper.selectByExample(detailsExample); List<StuAssessmentQuestionDetails> stuAssessmentQuestionDetails = stuAssessmentQuestionDetailsMapper.selectByExample(detailsExample);
if (stuAssessmentQuestionDetails.size() != 0) { if (!stuAssessmentQuestionDetails.isEmpty()) {
StuLearningAssessmentExample example1 = new StuLearningAssessmentExample(); StuLearningAssessmentExample example1 = new StuLearningAssessmentExample();
StuLearningAssessmentExample.Criteria criteria1 = example1.createCriteria(); StuLearningAssessmentExample.Criteria criteria1 = example1.createCriteria();
criteria1.andModuleEqualTo(stuLearningAssessmentScoreDTO.getModule()); criteria1.andModuleEqualTo(stuLearningAssessmentScoreDTO.getModule());
@ -226,9 +227,9 @@ public class StuConceptBlockServiceImpl implements StuConceptBlockService {
details.setModule(stuLearningAssessmentScoreDTO.getModule()); details.setModule(stuLearningAssessmentScoreDTO.getModule());
if (saw.equals(string)) { if (saw.equals(string)) {
details.setRightOrWrong("正确"); details.setRightOrWrong("正确");
count++;
} else { } else {
details.setRightOrWrong("错误"); details.setRightOrWrong("错误");
count++;
} }
stuAssessmentQuestionDetailsMapper.insert(details); stuAssessmentQuestionDetailsMapper.insert(details);
} }

@ -8,6 +8,7 @@ import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.sztzjy.marketing.config.Constant; import com.sztzjy.marketing.config.Constant;
import com.sztzjy.marketing.config.exception.handler.ServiceException;
import com.sztzjy.marketing.entity.*; import com.sztzjy.marketing.entity.*;
import com.sztzjy.marketing.entity.dto.StuMachineLearningInfoDTO; import com.sztzjy.marketing.entity.dto.StuMachineLearningInfoDTO;
import com.sztzjy.marketing.mapper.*; import com.sztzjy.marketing.mapper.*;
@ -52,6 +53,8 @@ public class UserBehaviorProfilingAnaServiceImpl implements UserBehaviorProfilin
ScoringUtil scoringUtil; ScoringUtil scoringUtil;
@Resource @Resource
StuScoreDetailsMapper stuScoreDetailsMapper; StuScoreDetailsMapper stuScoreDetailsMapper;
@Resource
StuLearningAssessmentMapper learningAssessmentMapper;
/** /**
* *
@ -367,7 +370,21 @@ public class UserBehaviorProfilingAnaServiceImpl implements UserBehaviorProfilin
scoreDetailsList.get(i).setScoringCriteria(String.valueOf(learningAssessmentScore)); scoreDetailsList.get(i).setScoringCriteria(String.valueOf(learningAssessmentScore));
scoreDetailsList.get(i).setScoreWeight(Double.parseDouble(String.valueOf(learningAssessmentWeight))); scoreDetailsList.get(i).setScoreWeight(Double.parseDouble(String.valueOf(learningAssessmentWeight)));
String completionStatus = scoreDetailsList.get(i).getCompletionStatus(); String completionStatus = scoreDetailsList.get(i).getCompletionStatus();
double stuLearningAssessmentScoring = scoringUtil.getStuLearningAssessmentScoring(Integer.parseInt(completionStatus), Double.parseDouble(String.valueOf(learningAssessmentScore)));
//查询题目个数
StuLearningAssessmentExample assessmentExample=new StuLearningAssessmentExample();
assessmentExample.createCriteria().andModuleEqualTo("数字营销");
List<StuLearningAssessment> stuLearningAssessments = learningAssessmentMapper.selectByExample(assessmentExample);
if(stuLearningAssessments.isEmpty()){
throw new ServiceException(HttpStatus.ACCEPTED,"题库未导入");
}
//计算用户对了几道题
Double sub = bigDecimalUtils.sub(Double.parseDouble(String.valueOf(stuLearningAssessments.size())), Double.parseDouble(completionStatus));
double stuLearningAssessmentScoring = scoringUtil.getStuLearningAssessmentScoring(sub, Double.parseDouble(String.valueOf(learningAssessmentScore)));
scoreDetailsList.get(i).setScoreProject(stuLearningAssessmentScoring); scoreDetailsList.get(i).setScoreProject(stuLearningAssessmentScoring);
//设置完成状态 //设置完成状态
scoreDetailsList.get(i).setSchedule(100.0); scoreDetailsList.get(i).setSchedule(100.0);
@ -377,7 +394,7 @@ public class UserBehaviorProfilingAnaServiceImpl implements UserBehaviorProfilin
scoreDetailsList.get(i).setScoringCriteria(String.valueOf(experimentalTrainingScore)); scoreDetailsList.get(i).setScoringCriteria(String.valueOf(experimentalTrainingScore));
scoreDetailsList.get(i).setScoreWeight(Double.parseDouble(String.valueOf(experimentalTrainingWeight))); scoreDetailsList.get(i).setScoreWeight(Double.parseDouble(String.valueOf(experimentalTrainingWeight)));
String completionStatus = scoreDetailsList.get(i).getCompletionStatus(); String completionStatus = scoreDetailsList.get(i).getCompletionStatus();
double stuLearningAssessmentScoring = scoringUtil.getStuLearningAssessmentScoring(Integer.parseInt(completionStatus), Double.parseDouble(String.valueOf(experimentalTrainingScore))); double stuLearningAssessmentScoring = scoringUtil.getStuTrainingScoring(Integer.parseInt(completionStatus), Double.parseDouble(String.valueOf(experimentalTrainingScore)));
scoreDetailsList.get(i).setScoreProject(stuLearningAssessmentScoring); scoreDetailsList.get(i).setScoreProject(stuLearningAssessmentScoring);

@ -61,18 +61,17 @@ public class ScoringUtil {
/** /**
* *
* @param v1 * @param v1
* @param v2 * @param v2
* @return * @return
*/ */
public double getStuLearningAssessmentScoring(int v1,double v2){ public double getStuLearningAssessmentScoring(double v1,double v2){
Double fraction=0.00;
double mul = bigDecimalUtils.mul(v1, v2, 1); double mul = bigDecimalUtils.mul(v1, v2, 1);
fraction=100-mul; if(mul>100){
if(fraction<0){ return 100;
return 0;
} }
return fraction; return mul;
} }
public double getStuTrainingScoring(int v1,double v2){ public double getStuTrainingScoring(int v1,double v2){

Loading…
Cancel
Save