Commit 9e3c2b72 by 涂亚平

优化后版本,跑数据脚本

1 parent 2668dc30
...@@ -67,6 +67,8 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper, ...@@ -67,6 +67,8 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
//班级ids //班级ids
List<String> classIds = Arrays.asList(new String[]{"28"}); List<String> classIds = Arrays.asList(new String[]{"28"});
Random random = new Random();
for (String str : classIds) { for (String str : classIds) {
ClassDictDO classDictDO = classDictMapper.selectById(str); ClassDictDO classDictDO = classDictMapper.selectById(str);
...@@ -83,56 +85,91 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper, ...@@ -83,56 +85,91 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
for (ClassMemberMappingDO classMemberMappingDO : classMemberMappingDOS) { for (ClassMemberMappingDO classMemberMappingDO : classMemberMappingDOS) {
//查询这个人 这节课 排序 //查询这个人 这节课 排序
List<SignInRecordDO> signInRecordDOS = signInRecordMapper.selectList(new QueryWrapper<SignInRecordDO>() //List<SignInRecordDO> signInRecordDOS = signInRecordMapper.selectList(new QueryWrapper<SignInRecordDO>()
.lambda() // .lambda()
.eq(SignInRecordDO::getMemberId, classMemberMappingDO.getMemberId()) // .eq(SignInRecordDO::getMemberId, classMemberMappingDO.getMemberId())
.eq(SignInRecordDO::getClassId, str) // .eq(SignInRecordDO::getClassId, str)
.orderByAsc(SignInRecordDO::getSignInDate)); // .orderByAsc(SignInRecordDO::getSignInDate));
//根据签到时间,对学生学习的课程做插入操作 //SignInRecordDO signInRecordDO = signInRecordDOS.get(0);
for (SignInRecordDO signInRecordDO : signInRecordDOS) {
LocalDateTime signInDate = signInRecordDO.getSignInDate();
if (signInDate.getHour() <= 15 && signInDate.getHour() >= 6) { //找出某个人某节课看完最后一节视频的时间
Random random = new Random(); List<VodPlayHistoryDO> vodPlayHistoryDOS = vodPlayHistoryMapper.selectList(new QueryWrapper<VodPlayHistoryDO>()
int totalDailyLength = random.nextInt(4); .lambda()
//查找这个人应该学的课程 .eq(VodPlayHistoryDO::getMemberId, classMemberMappingDO.getMemberId())
for (VodDictDO vodDictDO : vodDictDOS) { .eq(VodPlayHistoryDO::getClassId, str)
//从历史记录里找中这个人有没有学过 .orderByDesc(VodPlayHistoryDO::getPlayDate));
if (totalDailyLength<=7*60*60){
Integer count = vodPlayHistoryMapper.selectCount(new QueryWrapper<VodPlayHistoryDO>() if (vodPlayHistoryDOS.size()>0){
.lambda() //时间点
.eq(VodPlayHistoryDO::getMemberId, classMemberMappingDO.getMemberId()) VodPlayHistoryDO vodPlayHistoryDO1 = vodPlayHistoryDOS.get(0);
.eq(VodPlayHistoryDO::getClassId, str) int total = 0;
.eq(VodPlayHistoryDO::getVodId, vodDictDO.getId())); int playCounts = random.nextInt(vodDictDOS.size());
if (count == 0 && signInDate.plusSeconds(totalDailyLength).getHour() < 23) {
totalDailyLength+=vodDictDO.getVodLength(); for (int i = 0; i < playCounts; i++) {
VodPlayHistoryDO vodPlayHistoryDO = new VodPlayHistoryDO(); VodPlayHistoryDO vodPlayHistoryDO = new VodPlayHistoryDO();
vodPlayHistoryDO.setPlayCount(1); vodPlayHistoryDO.setPlayCount(1);
vodPlayHistoryDO.setClassId(Long.valueOf(str)); vodPlayHistoryDO.setClassId(Long.valueOf(str));
vodPlayHistoryDO.setMemberId(classMemberMappingDO.getMemberId()); vodPlayHistoryDO.setMemberId(classMemberMappingDO.getMemberId());
vodPlayHistoryDO.setPlayRecord(vodDictDO.getVodLength()); vodPlayHistoryDO.setPlayRecord(random.nextInt(vodDictDOS.get(i).getVodLength()-10)+1);
vodPlayHistoryDO.setPlayLength(vodDictDO.getVodLength()); vodPlayHistoryDO.setPlayLength(random.nextInt(vodPlayHistoryDO.getPlayRecord()));
vodPlayHistoryDO.setVodId(vodDictDO.getId()); vodPlayHistoryDO.setVodId(vodDictDOS.get(i).getId());
vodPlayHistoryDO.setPlayDate(signInDate.plusSeconds(totalDailyLength)); total += vodPlayHistoryDO.getPlayLength()+random.nextInt(10);
//vodPlayHistoryDO.setCreateDate(signInDate.plusSeconds(totalDailyLength)); vodPlayHistoryDO.setPlayDate(vodPlayHistoryDO1.getPlayDate().plusSeconds(total));
vodPlayHistoryMapper.insert(vodPlayHistoryDO); vodPlayHistoryMapper.insert(vodPlayHistoryDO);
Random random1 = new Random();
totalDailyLength+=random1.nextInt(5);
}
}
}
} }
} }
//VodDictDO vodDictDO = vodDictDOS.get(random.nextInt(vodDictDOS.size()));
//根据签到时间,对学生学习的课程做插入操作
//for (SignInRecordDO signInRecordDO : signInRecordDOS) {
// LocalDateTime signInDate = signInRecordDO.getSignInDate();
// if (signInDate.getHour() <= 15 && signInDate.getHour() >= 6) {
// Random random = new Random();
// int totalDailyLength = random.nextInt(4);
// //查找这个人应该学的课程
// for (VodDictDO vodDictDO : vodDictDOS) {
// //从历史记录里找中这个人有没有学过
// if (totalDailyLength<=7*60*60){
// Integer count = vodPlayHistoryMapper.selectCount(new QueryWrapper<VodPlayHistoryDO>()
// .lambda()
// .eq(VodPlayHistoryDO::getMemberId, classMemberMappingDO.getMemberId())
// .eq(VodPlayHistoryDO::getClassId, str)
// .eq(VodPlayHistoryDO::getVodId, vodDictDO.getId()));
// if (count == 0 && signInDate.plusSeconds(totalDailyLength).getHour() < 23) {
// totalDailyLength+=vodDictDO.getVodLength();
// VodPlayHistoryDO vodPlayHistoryDO = new VodPlayHistoryDO();
// vodPlayHistoryDO.setPlayCount(1);
// vodPlayHistoryDO.setClassId(Long.valueOf(str));
// vodPlayHistoryDO.setMemberId(classMemberMappingDO.getMemberId());
// vodPlayHistoryDO.setPlayRecord(vodDictDO.getVodLength());
// vodPlayHistoryDO.setPlayLength(vodDictDO.getVodLength());
// vodPlayHistoryDO.setVodId(vodDictDO.getId());
// vodPlayHistoryDO.setPlayDate(signInDate.plusSeconds(totalDailyLength));
// //vodPlayHistoryDO.setCreateDate(signInDate.plusSeconds(totalDailyLength));
// vodPlayHistoryMapper.insert(vodPlayHistoryDO);
// Random random1 = new Random();
// totalDailyLength+=random1.nextInt(5);
// }
// }
//
// }
// }
//}
} }
} }
} }
public static void main(String[] args) { public static void main(String[] args) {
Random random = new Random(); //Random random = new Random();
System.out.println(); //System.out.println();
System.out.println((int)(Math.random()*10+1));
} }
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!