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

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())) { if ("3".equals(classEntity.getState())) {
return R.error("考试周禁止提交作业"); return R.error("考试周禁止提交作业");
} }
classEntityService.addClassTaskAndQuesReply(classTaskAndQuesReply); int res = classEntityService.addClassTaskAndQuesReply(classTaskAndQuesReply);
if (res==2){
return R.error("已提交");
}else if (res==1){
return R.ok(); 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); ClassTask getClassTaskInfoStudent(Map<String ,Object> params);
void addClassTaskAndQuesReply(ClassTaskAndQuesReply classTaskAndQuesReply); int addClassTaskAndQuesReply(ClassTaskAndQuesReply classTaskAndQuesReply);
Page getReplyListByTaskId(Map<String ,Object> params); Page getReplyListByTaskId(Map<String ,Object> params);

View File

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