Skip to content
This repository has been archived by the owner on Apr 27, 2024. It is now read-only.

Commit

Permalink
Merge pull request #247 from WisdomWorks/dev-herry-ho
Browse files Browse the repository at this point in the history
Dev herry ho
  • Loading branch information
HoXuanHieu authored Apr 23, 2024
2 parents a1dbdb5 + a7edb6c commit e3558fa
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 22 deletions.
40 changes: 20 additions & 20 deletions src/main/java/com/example/codeE/service/exercise/ExerciseImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -179,38 +179,38 @@ else if (exercise.getKey().equals(key) && isReTemp(exercise.getExerciseId(), stu
return exercise;
} else {
var session = sessionExercises.get(0);
if (session.getLoginId().equals(loginId) && session.getStudentId().equals(studentId)) {
Date timeStart = new Date();
try {
var timeString = session.getTimeStart();
SimpleDateFormat sdf = new SimpleDateFormat(Constant.DATE_TIME_ISO_FORMAT);
timeStart = sdf.parse(timeString);
} catch (ParseException e) {
e.printStackTrace();
}
Date now = new Date();
if ((long) exercise.getDurationTime() * 1000 * 60 + timeStart.getTime() < now.getTime()) {
this.sessionExerciseService.removeSession(response, request);
LocalDateTime dateNow = LocalDateTime.now();
//user Urgent ?
session = new SessionExercise(loginId, studentId, exerciseId, DateTimeUtil.formatToIso(dateNow), "");
sessionExerciseRepository.save(session);
}
Date timeStart = new Date();
try {
var timeString = session.getTimeStart();
SimpleDateFormat sdf = new SimpleDateFormat(Constant.DATE_TIME_ISO_FORMAT);
timeStart = sdf.parse(timeString);
} catch (ParseException e) {
e.printStackTrace();
}
Date now = new Date();
if ((long) exercise.getDurationTime() * 1000 * 60 + timeStart.getTime() < now.getTime()) {
this.sessionExerciseRepository.deleteById(session.getSessionId());
LocalDateTime dateNow = LocalDateTime.now();
//user Urgent ?
session = new SessionExercise(loginId, studentId, exerciseId, DateTimeUtil.formatToIso(dateNow), "");
sessionExerciseRepository.save(session);
}
if (session.getLoginId().equals(loginId)) {
if (session.getExerciseId().equals(exerciseId)) {
return exercise;
//after return, system need to calculate a time left
} else {
//student has joined another exercise
throw new IllegalArgumentException("Student need to complete another current exercise before participating in a new one.");
}
} else {
throw new IllegalArgumentException("Student is using another browser to take an exercise.");
}
}
}

} else
throw new IllegalArgumentException("Failed to retrieve exercise information.");
}


private boolean isReTemp(String exerciseId, String userId, String type, int reTemp) {
switch (type) {
case "quiz" -> {
Expand Down
8 changes: 6 additions & 2 deletions src/main/java/com/example/codeE/service/user/UserImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,12 @@ public User createOne(CreateUserRequest userRequest) {
"PASSWORD FOR CODEE SYSTEM", messageContent, user.getEmail());
return this.userRepository.save(user);
} catch (Exception e) {
LoggerHelper.logError("Create Error", e);
throw new RuntimeException("User create request is not valid");
LoggerHelper.logError(e.getMessage());
if (e.getMessage().equals("could not execute statement [Duplicate entry '" + userRequest.getUsername() + "' for key 'user.username'] [insert into user (created_date,email,name,password,role,updated_date,username,user_id) values (?,?,?,?,?,?,?,?)]; SQL [insert into user (created_date,email,name,password,role,updated_date,username,user_id) values (?,?,?,?,?,?,?,?)]; constraint [user.username]"))
throw new RuntimeException("User Name can not duplicate");
if (e.getMessage().equals("could not execute statement [Duplicate entry '" + userRequest.getEmail() + "' for key 'user.username'] [insert into user (created_date,email,name,password,role,updated_date,username,user_id) values (?,?,?,?,?,?,?,?)]; SQL [insert into user (created_date,email,name,password,role,updated_date,username,user_id) values (?,?,?,?,?,?,?,?)]; constraint [user.username]"))
throw new RuntimeException("Email can not duplicate");
throw new RuntimeException("Something wrong when create user");
}
}

Expand Down

0 comments on commit e3558fa

Please sign in to comment.