ExerciseDoneResultServiceImpl.java
3.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.subsidy.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.subsidy.dto.exercise.ImportHistory;
import com.subsidy.mapper.ExerciseDoneHistoryMapper;
import com.subsidy.model.*;
import com.subsidy.mapper.ExerciseDoneResultMapper;
import com.subsidy.service.ExerciseDoneResultService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.subsidy.util.excel.ExcelUtil;
import com.subsidy.vo.exercise.GetDoneDetailVO;
import org.apache.poi.ss.usermodel.DateUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.swing.text.DateFormatter;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Random;
/**
* <p>
* 学生课程习题完成情况 服务实现类
* </p>
*
* @author DengMin
* @since 2021-10-15
*/
@Service
public class ExerciseDoneResultServiceImpl extends ServiceImpl<ExerciseDoneResultMapper, ExerciseDoneResultDO> implements ExerciseDoneResultService {
@Autowired
private ExerciseDoneResultMapper exerciseDoneResultMapper;
@Autowired
private ExerciseDoneHistoryMapper exerciseDoneHistoryMapper;
public GetDoneDetailVO getDoneDetail(ExerciseDoneResultDO exerciseDoneResultDO) {
return this.baseMapper.getDoneDetail(exerciseDoneResultDO.getId());
}
public void importData(MultipartFile multipartFile) {
try {
ExcelUtil.readExcel(null, ImportHistory.class, multipartFile).forEach(s -> {
//找到相同卷子相同分数的人
List<ExerciseDoneResultDO> exerciseDoneResultDOS = exerciseDoneResultMapper.selectList(new QueryWrapper<ExerciseDoneResultDO>()
.lambda()
.eq(ExerciseDoneResultDO::getPaperId, s.getPaperId())
.eq(ExerciseDoneResultDO::getScore, s.getScore()));
//随机获取一个人
Random random = new Random();
ExerciseDoneResultDO exerciseDoneResultDO = exerciseDoneResultDOS.get(random.nextInt(exerciseDoneResultDOS.size()));
//找到这个人的答卷
List<ExerciseDoneHistoryDO> exerciseDoneHistoryDOS = exerciseDoneHistoryMapper.selectList(new QueryWrapper<ExerciseDoneHistoryDO>()
.lambda()
.eq(ExerciseDoneHistoryDO::getDoneId, exerciseDoneResultDO.getId())
.eq(ExerciseDoneHistoryDO::getMemberId, exerciseDoneResultDO.getMemberId())
.eq(ExerciseDoneHistoryDO::getPaperId, exerciseDoneResultDO.getPaperId()));
DateTimeFormatter formatter =
DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
//遍历写入
for (ExerciseDoneHistoryDO exerciseDoneHistoryDO : exerciseDoneHistoryDOS) {
ExerciseDoneHistoryDO ex = new ExerciseDoneHistoryDO();
BeanUtils.copyProperties(exerciseDoneHistoryDO, ex);
ex.setId(null);
ex.setMemberId(s.getMemberId());
ex.setDoneId(s.getId());
ex.setClassId(s.getClassId());
ex.setPaperId(s.getPaperId());
// DateUtil.getJavaDate()
ex.setCreateDate(LocalDateTime.parse(s.getCreate_date(), formatter));
exerciseDoneHistoryMapper.insert(ex);
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
while (true) {
System.out.println(new Random().nextInt(0));
}
}
}