修改快速点击导致重复插入

This commit is contained in:
wuchunlei
2025-01-07 09:29:59 +08:00
parent be2aee3a47
commit 9fcca96800
3 changed files with 19 additions and 5 deletions

View File

@@ -314,8 +314,14 @@ public class ClassController {
if ("3".equals(classEntity.getState())) {
return R.error("考试周禁止提交作业");
}
classEntityService.addClassTaskAndQuesReply(classTaskAndQuesReply);
int res = classEntityService.addClassTaskAndQuesReply(classTaskAndQuesReply);
if (res==2){
return R.error("已提交");
}else if (res==1){
return R.ok();
}else {
return R.error("提交失败");
}
}
//通过任务获取作业列表

View File

@@ -73,7 +73,7 @@ public interface ClassEntityService extends IService<ClassEntity> {
ClassTask getClassTaskInfoStudent(Map<String ,Object> params);
void addClassTaskAndQuesReply(ClassTaskAndQuesReply classTaskAndQuesReply);
int addClassTaskAndQuesReply(ClassTaskAndQuesReply classTaskAndQuesReply);
Page getReplyListByTaskId(Map<String ,Object> params);

View File

@@ -954,6 +954,7 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
if (userList.size() > 0){
for (ClassUser classUser:userList){
ClassTaskAndQuesReply reply = classTaskAndQuesReplyDao.selectOne(new LambdaQueryWrapper<ClassTaskAndQuesReply>()
.eq(ClassTaskAndQuesReply::getType,0)
.eq(ClassTaskAndQuesReply::getRelationId,classTask.getId())
.eq(ClassTaskAndQuesReply::getUserId,classUser.getUserId()));
classUser.setReply(reply==null?false:true);
@@ -983,9 +984,16 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
}
@Override
public void addClassTaskAndQuesReply(ClassTaskAndQuesReply classTaskAndQuesReply) {
public int addClassTaskAndQuesReply(ClassTaskAndQuesReply classTaskAndQuesReply) {
classTaskAndQuesReply.setUserId(ShiroUtils.getUId());
classTaskAndQuesReplyDao.insert(classTaskAndQuesReply);
int c = classTaskAndQuesReplyDao.selectCount(new LambdaQueryWrapper<ClassTaskAndQuesReply>()
.eq(ClassTaskAndQuesReply::getType,classTaskAndQuesReply.getType())
.eq(ClassTaskAndQuesReply::getRelationId,classTaskAndQuesReply.getRelationId())
.eq(ClassTaskAndQuesReply::getUserId,classTaskAndQuesReply.getUserId()));
if (c > 0) {
return 2;
}
return classTaskAndQuesReplyDao.insert(classTaskAndQuesReply);
}
@Override