//判断是否第一次学完 boolean b =! record.getFinished() && dto.getMoment() * 2 > dto.getMoment(); //更新学习记录 boolean b1 = lambdaUpdate().set(learningRecord -> learningRecord.getMoment(), dto.getMoment()) .set(b, learningRecord -> learningRecord.getFinished(), true) .set(b, learningRecord -> learningRecord.getFinished(), LocalDateTime.now()) .eq(learningRecord -> learningRecord.getId(), record.getId()).update(); if (!b1){ throw new DbException("视频更新失败") } return b;
时间: 2024-04-17 13:27:40 浏览: 44
Android判断程序是否第一次启动
这段代码是用来判断学习记录是否第一次完成,并更新学习记录的状态和时间。首先,通过判断`record.getFinished()`是否为false,并且`dto.getMoment() * 2 > dto.getMoment()`来确定是否为第一次学完。如果是第一次学完,则会更新学习记录的状态和时间。更新操作使用了lambda表达式,通过`lambdaUpdate()`方法获取更新对象,然后使用`set()`方法设置需要更新的字段和对应的值。最后,使用`eq()`方法指定更新条件,即根据记录的id进行更新。如果更新失败,则会抛出一个DbException异常。最终,返回布尔值`b`作为结果。
阅读全文