|
|
@@ -1,6 +1,8 @@
|
|
|
package com.izouma.wenlvju.service.performance;
|
|
|
|
|
|
+import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.izouma.wenlvju.domain.performance.ProgrammeScore;
|
|
|
import com.izouma.wenlvju.dto.PageQuery;
|
|
|
import com.izouma.wenlvju.repo.performance.ProgrammeRepo;
|
|
|
@@ -10,6 +12,7 @@ import lombok.AllArgsConstructor;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.persistence.Id;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
@@ -24,7 +27,7 @@ public class ProgrammeScoreService {
|
|
|
return programmeScoreRepo.findAll(JpaUtils.toSpecification(pageQuery, ProgrammeScore.class), JpaUtils.toPageRequest(pageQuery));
|
|
|
}
|
|
|
|
|
|
- public void saveScore(Long programmeId, double score, String remark, Long userId) {
|
|
|
+ public void saveScore(Long programmeId, Double score, String remark, Long userId) {
|
|
|
ProgrammeScore programmeScore = programmeScoreRepo.findByProgrammeIdAndExpertId(programmeId, userId);
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
if (ObjectUtil.isNull(programmeScore)) {
|
|
|
@@ -35,21 +38,31 @@ public class ProgrammeScoreService {
|
|
|
.markAt(now)
|
|
|
.remark(remark)
|
|
|
.build();
|
|
|
- } else if (ObjectUtil.isNull(programmeScore.getScore())) {
|
|
|
- programmeScore.setScore(score);
|
|
|
- programmeScore.setRemark(remark);
|
|
|
- programmeScore.setMarkAt(now);
|
|
|
} else {
|
|
|
- programmeScore.setScore2(programmeScore.getScore());
|
|
|
- programmeScore.setMark2At(programmeScore.getMarkAt());
|
|
|
- programmeScore.setScore(score);
|
|
|
- programmeScore.setMarkAt(now);
|
|
|
- programmeScore.setRemark(remark);
|
|
|
+ if (StrUtil.isNotEmpty(remark)) {
|
|
|
+ programmeScore.setRemark(remark);
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotNull(score)) {
|
|
|
+ if (ObjectUtil.isNull(programmeScore.getScore())) {
|
|
|
+ programmeScore.setScore(score);
|
|
|
+ programmeScore.setMarkAt(now);
|
|
|
+ } else {
|
|
|
+ programmeScore.setScore2(programmeScore.getScore());
|
|
|
+ programmeScore.setMark2At(programmeScore.getMarkAt());
|
|
|
+ programmeScore.setScore(score);
|
|
|
+ programmeScore.setMarkAt(now);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
programmeScoreRepo.save(programmeScore);
|
|
|
|
|
|
- double avg = programmeScoreRepo.avgScore(programmeId);
|
|
|
- programmeRepo.score(avg, programmeId);
|
|
|
+ Object avgObj = programmeScoreRepo.avgScore(programmeId);
|
|
|
+ if (ObjectUtil.isNotNull(avgObj)) {
|
|
|
+ Double avg = Convert.convert(Double.class, avgObj);
|
|
|
+ programmeRepo.score(avg, programmeId);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -74,8 +87,12 @@ public class ProgrammeScoreService {
|
|
|
}
|
|
|
programmeScoreRepo.save(programmeScore);
|
|
|
|
|
|
- double avg = programmeScoreRepo.avgScore(programmeId);
|
|
|
- programmeRepo.score(avg, programmeId);
|
|
|
+ Object avgObj = programmeScoreRepo.avgScore(programmeId);
|
|
|
+ if (ObjectUtil.isNotNull(avgObj)) {
|
|
|
+ Double avg = Convert.convert(Double.class, avgObj);
|
|
|
+ programmeRepo.score(avg, programmeId);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|