diff --git a/src/main/java/cn/teammodel/common/CommonConstant.java b/src/main/java/cn/teammodel/common/CommonConstant.java
new file mode 100644
index 0000000..e5b6698
--- /dev/null
+++ b/src/main/java/cn/teammodel/common/CommonConstant.java
@@ -0,0 +1,9 @@
+package cn.teammodel.common;
+
+/**
+ * @author winter
+ * @create 2023-11-29 14:26
+ */
+public interface CommonConstant {
+ String DASH = "-";
+}
diff --git a/src/main/java/cn/teammodel/common/PK.java b/src/main/java/cn/teammodel/common/PK.java
index 9b0df58..4fcb4ec 100644
--- a/src/main/java/cn/teammodel/common/PK.java
+++ b/src/main/java/cn/teammodel/common/PK.java
@@ -17,6 +17,7 @@ public interface PK {
* 参数数量: 1 , 拼接: SchoolId
*/
String PK_APPRAISE_RECORD = "AppraiseRecord-%s";
+ String COMMON_BASE = "Base";
/**
* 构建分区键
diff --git a/src/main/java/cn/teammodel/dao/AppraiseRecordRepository.java b/src/main/java/cn/teammodel/dao/AppraiseRecordRepository.java
index f5be2d4..6685f7e 100644
--- a/src/main/java/cn/teammodel/dao/AppraiseRecordRepository.java
+++ b/src/main/java/cn/teammodel/dao/AppraiseRecordRepository.java
@@ -1,6 +1,6 @@
package cn.teammodel.dao;
-import cn.teammodel.model.entity.appraise.Appraise;
+import cn.teammodel.model.entity.appraise.AppraiseRecord;
import com.azure.spring.data.cosmos.repository.CosmosRepository;
import org.springframework.stereotype.Repository;
@@ -15,6 +15,10 @@ import org.springframework.stereotype.Repository;
* List findByLastname(String lastname, Pageable pageable);
*/
@Repository
-public interface AppraiseRecordRepository extends CosmosRepository {
+public interface AppraiseRecordRepository extends CosmosRepository {
+ /**
+ * 查询评价记录
+ */
+ AppraiseRecord findAppraiseRecordByTargetIdAndAcademicYearIdAndCode(String targetId, String academicYearId, String code);
}
diff --git a/src/main/java/cn/teammodel/dao/AppraiseRepository.java b/src/main/java/cn/teammodel/dao/AppraiseRepository.java
index 7bbf01d..fa2cd47 100644
--- a/src/main/java/cn/teammodel/dao/AppraiseRepository.java
+++ b/src/main/java/cn/teammodel/dao/AppraiseRepository.java
@@ -24,7 +24,7 @@ import java.util.List;
public interface AppraiseRepository extends CosmosRepository {
Appraise findBySchoolId(String schoolId, PartitionKey partitionKey);
Appraise findAppraiseBySchoolIdAndPeriodIdAndCode(String schoolId, String periodId, String code);
- @Query("SELECT value n FROM School AS s join n in s.nodes where s.schoolId = @schoolId and s.periodId = @periodId and s.code = @code and n.id = @nodeId")
- List findNodeById(@Param("schoolId") String schoolId, @Param("periodId") String periodId, @Param("code") String code, @Param("nodeId") String nodeId);
+ @Query("SELECT value n FROM School AS s join n in s.nodes where s.code = @code and n.id = @nodeId")
+ List findNodeById(@Param("code") String code, @Param("nodeId") String nodeId);
}
diff --git a/src/main/java/cn/teammodel/dao/SchoolRepository.java b/src/main/java/cn/teammodel/dao/SchoolRepository.java
index 4062adb..4f6f066 100644
--- a/src/main/java/cn/teammodel/dao/SchoolRepository.java
+++ b/src/main/java/cn/teammodel/dao/SchoolRepository.java
@@ -2,14 +2,21 @@ package cn.teammodel.dao;
import cn.teammodel.model.entity.school.School;
import com.azure.spring.data.cosmos.repository.CosmosRepository;
+import com.azure.spring.data.cosmos.repository.Query;
+import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
+import java.util.List;
+
/**
* @author winter
* @create 2023-11-28 17:39
*/
@Repository
public interface SchoolRepository extends CosmosRepository {
- //@Query("select c.period.semesters from c where c.id = @id and c.code = @code")
- //List findSemestersById(@Param("id") String id, @Param("code") String code);
+ /**
+ * 动态投影, 查询还是要将所有的值查出来,类的动态查询不能嵌套
+ */
+ @Query("select value p from School as s join p in s.period where s.id = @schoolId and s.code = 'Base' and p.id = @periodId")
+ List findPeriodById(@Param("schoolId") String schoolId, @Param("periodId") String periodId);
}
diff --git a/src/main/java/cn/teammodel/model/dto/Appraise/AppraiseVoteDto.java b/src/main/java/cn/teammodel/model/dto/Appraise/AppraiseVoteDto.java
index 2ca0a7a..21fc369 100644
--- a/src/main/java/cn/teammodel/model/dto/Appraise/AppraiseVoteDto.java
+++ b/src/main/java/cn/teammodel/model/dto/Appraise/AppraiseVoteDto.java
@@ -1,5 +1,6 @@
package cn.teammodel.model.dto.Appraise;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -11,11 +12,23 @@ import javax.validation.constraints.NotNull;
@Data
public class AppraiseVoteDto {
@NotNull
- private String studentId;
- @NotNull // todo: semester 还是 period
- private String semesterId;
+ @ApiModelProperty(value = "评价对象为班级 或 学生")
+ private String targetId;
+
+ @NotNull
+ @ApiModelProperty(value = "评价对象类型:", allowableValues = "student ,class")
+ private String targetType;
+
+ @ApiModelProperty(value = "评分是否传播到班级下的所有学生(字段仅在 targetType=class 时生效)")
+ private boolean spread;
+ /**
+ * 可以当作唯一 id
+ */
@NotNull
+ @ApiModelProperty(value = "评价项唯一 id", required = true)
private String appraiseId;
- // 校区 id
+
+ @ApiModelProperty(value = "学段 id,用于拿到 semesterId", required = true)
+ @NotNull
private String periodId;
}
diff --git a/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecord.java b/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecord.java
index eaf9257..d3d2d49 100644
--- a/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecord.java
+++ b/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecord.java
@@ -10,7 +10,7 @@ import java.util.List;
/**
* 一个学生在一个学年(学校+学年 = 分区键)的所有评价记录
- * 注意: Id 为 学年 + semesterId
+ * 注意: 唯一定位: academicYearId(学年-{semesterId}) + studentId + code(AppraiseRecord-{schoolId})
* @author winter
* @create 2023-11-27 11:02
*/
@@ -23,7 +23,15 @@ public class AppraiseRecord extends BaseItem {
* 学段 id
*/
private String periodId;
- private String studentId;
+ /**
+ * 学年(组合 id: 学年-semesterId -> 2023-{semesterId})
+ */
+ private String academicYearId;
+ /**
+ * 学生 id
+ */
+ private String targetId;
+ private String targetType;
/**
* 表扬次数
*/
diff --git a/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecordItem.java b/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecordItem.java
index ae9fb02..ea9eea6 100644
--- a/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecordItem.java
+++ b/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecordItem.java
@@ -17,6 +17,10 @@ import java.time.LocalDateTime;
public class AppraiseRecordItem {
private String id;
private String appraiseNodeId;
+ /**
+ * 用包装类,这样为 null 时就不会持久化
+ */
+ private Boolean spread;
String creator;
String creatorId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
diff --git a/src/main/java/cn/teammodel/model/entity/school/School.java b/src/main/java/cn/teammodel/model/entity/school/School.java
index 9bb3269..507cfe1 100644
--- a/src/main/java/cn/teammodel/model/entity/school/School.java
+++ b/src/main/java/cn/teammodel/model/entity/school/School.java
@@ -3,8 +3,10 @@ package cn.teammodel.model.entity.school;
import cn.teammodel.model.entity.BaseItem;
import com.azure.spring.data.cosmos.core.mapping.Container;
import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
import java.util.List;
@@ -47,7 +49,16 @@ public class School extends BaseItem {
private List grades;
private List subjects;
private List semesters;
+ private List timetable;
private String name;
+ private String id;
+ private String gradeCount;
+ private String semesterCount;
+ private String subjectCount;
+ private String campusId;
+ private Analysis analysis;
+ // 学段类型
+ private String periodType;
}
@Data
@@ -55,6 +66,26 @@ public class School extends BaseItem {
private String id;
private String name;
}
+ @Data
+ public static class Timetable {
+ private String id;
+ private String label;
+ private String time;
+ // todo: 待补充
+ //private String weeklies;
+ }
+ @Data
+ public static class Analysis {
+ private List type;
+ private Integer income;
+ private Integer eugenics;
+ private Integer touch;
+ }
+ @Data
+ public static class Type {
+ private String id;
+ private String name;
+ }
@Data
public static class Subject {
@@ -66,13 +97,25 @@ public class School extends BaseItem {
@Data
+ @AllArgsConstructor
+ @NoArgsConstructor
public static class Semester {
+ private String id;
private String name;
+ /**
+ * start = 1 则代表一年开始的学期
+ */
private Integer start;
+ /**
+ * 开始的月份
+ */
private Integer month;
+ /**
+ * 开始的日
+ */
private Integer day;
- private String id;
}
+
@Data
public static class Campus {
private String name;
diff --git a/src/main/java/cn/teammodel/model/entity/school/Semester.java b/src/main/java/cn/teammodel/model/entity/school/Semester.java
deleted file mode 100644
index 6c528e7..0000000
--- a/src/main/java/cn/teammodel/model/entity/school/Semester.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package cn.teammodel.model.entity.school;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * 学期(标记了学期的开始与结束)
- * @author winter
- * @create 2023-11-28 10:39
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class Semester {
- private String id;
- private String name;
- /**
- * start = 1 则代表一年开始的学期
- */
- private Integer start;
- /**
- * 开始的月份
- */
- private Integer month;
- /**
- * 开始的日
- */
- private Integer day;
-}
diff --git a/src/main/java/cn/teammodel/service/impl/EvaluationServiceImpl.java b/src/main/java/cn/teammodel/service/impl/EvaluationServiceImpl.java
index 5105614..95c6611 100644
--- a/src/main/java/cn/teammodel/service/impl/EvaluationServiceImpl.java
+++ b/src/main/java/cn/teammodel/service/impl/EvaluationServiceImpl.java
@@ -4,13 +4,21 @@ import cn.hutool.core.lang.UUID;
import cn.teammodel.common.ErrorCode;
import cn.teammodel.common.PK;
import cn.teammodel.config.exception.ServiceException;
+import cn.teammodel.dao.AppraiseRecordRepository;
import cn.teammodel.dao.AppraiseRepository;
+import cn.teammodel.dao.SchoolRepository;
import cn.teammodel.model.dto.Appraise.*;
+import cn.teammodel.model.entity.User;
import cn.teammodel.model.entity.appraise.Appraise;
+import cn.teammodel.model.entity.appraise.AppraiseRecord;
+import cn.teammodel.model.entity.appraise.AppraiseRecordItem;
import cn.teammodel.model.entity.appraise.AppraiseTreeNode;
-import cn.teammodel.model.entity.User;
+import cn.teammodel.model.entity.school.School;
import cn.teammodel.security.utils.SecurityUtil;
import cn.teammodel.service.EvaluationService;
+import cn.teammodel.utils.RepositoryUtil;
+import cn.teammodel.utils.SchoolDateUtil;
+import com.azure.cosmos.models.CosmosPatchOperations;
import com.azure.spring.data.cosmos.core.CosmosTemplate;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
@@ -18,8 +26,10 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
@@ -28,9 +38,18 @@ import java.util.List;
*/
@Service
public class EvaluationServiceImpl implements EvaluationService {
+ /**
+ * 评价记录对象的类型
+ */
+ private final static String TARGET_STUDENT = "student";
+ private final static String TARGET_CLASS = "class";
@Resource
CosmosTemplate cosmosTemplate;
@Resource
+ private SchoolRepository schoolRepository;
+ @Resource
+ private AppraiseRecordRepository appraiseRecordRepository;
+ @Resource
private AppraiseRepository appraiseRepository;
/**
@@ -98,6 +117,7 @@ public class EvaluationServiceImpl implements EvaluationService {
@Override
public Appraise insertNode(InsertNodeDto insertNodeDto) {
+ // todo: 如果不存在
Appraise appraise = findAppraise(insertNodeDto.getPeriodId());
User loginUser = SecurityUtil.getLoginUser();
@@ -168,19 +188,74 @@ public class EvaluationServiceImpl implements EvaluationService {
@Override
public void vote(AppraiseVoteDto appraiseVoteDto) {
- String studentId = appraiseVoteDto.getStudentId();
+ String targetId = appraiseVoteDto.getTargetId();
+ boolean spread = appraiseVoteDto.isSpread();
+ String targetType = appraiseVoteDto.getTargetType();
String appraiseId = appraiseVoteDto.getAppraiseId();
+ // 获取 school 中的 semesters
String periodId = appraiseVoteDto.getPeriodId();
- periodId = StringUtils.isEmpty(periodId) ? "default" : periodId;
-
User loginUser = SecurityUtil.getLoginUser();
- List nodes = appraiseRepository.findNodeById(loginUser.getSchoolId(), periodId, PK.PK_APPRAISE, appraiseId);
- if (ObjectUtils.isEmpty(nodes) || nodes.size() > 1) {
- throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "找不到该评价项");
- }
- AppraiseTreeNode node = nodes.get(0);
+ String schoolId = loginUser.getSchoolId();
- // 组装 AppraiseRecord
+ List nodes = appraiseRepository.findNodeById(PK.PK_APPRAISE, appraiseId);
+ AppraiseTreeNode appraiseTreeNode = RepositoryUtil.findOne(nodes);
+
+ // 通过 periodId 获取 semesters
+ List periodById = schoolRepository.findPeriodById(schoolId, periodId);
+ School.Period period = RepositoryUtil.findOne(periodById);
+ List semesters = period.getSemesters();
+
+ // 获取当前学年学期组合 ID
+ String academicYearId = SchoolDateUtil.generateAcademicId(semesters, LocalDate.now());
+
+ // 查询是否存在记录,不存在则创建一条新的,存在则处理一下分值后再向其 nodes 中插入一条 item
+ AppraiseRecord record = appraiseRecordRepository.findAppraiseRecordByTargetIdAndAcademicYearIdAndCode(
+ targetId,
+ academicYearId,
+ String.format(PK.PK_APPRAISE_RECORD,schoolId)
+ );
+
+ // 初始化新的评价节点
+ AppraiseRecordItem item = new AppraiseRecordItem();
+ item.setId(UUID.randomUUID().toString());
+ item.setAppraiseNodeId(appraiseId);
+ item.setCreator(loginUser.getName());
+ item.setCreatorId(loginUser.getId());
+ item.setCreateTime(LocalDateTime.now());
+
+ if (record == null) {
+ // 不存在, 创建新的 AppraiseRecord
+ List items = Collections.singletonList(item);
+
+ record = new AppraiseRecord();
+ if (targetType.equals(TARGET_STUDENT)) {
+ record.setTargetType(TARGET_STUDENT);
+ } else if (targetType.equals(TARGET_CLASS)){
+ record.setTargetType(TARGET_CLASS);
+ } else {
+ throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "不受支持的评价对象");
+ }
+ record.setTargetId(targetId);
+ record.setAcademicYearId(academicYearId);
+ record.setPraiseCount(0);
+ record.setScore(0);
+ record.setNodes(items);
+ record.setCode(String.format(PK.PK_APPRAISE_RECORD, schoolId));
+ appraiseRecordRepository.save(record);
+ } else {
+ // 处理学校与学生的差异
+it
+ CosmosPatchOperations operations = CosmosPatchOperations.create();
+ operations.add("/nodes/0", item);
+ // 表扬
+ long praise = appraiseTreeNode.isPraise() ? 1 : -1;
+ operations.increment("/praiseCount", praise);
+ // 加分
+ int scoreToPlus = ObjectUtils.isEmpty(appraiseTreeNode.getScore()) ? 0 : appraiseTreeNode.getScore();
+ operations.increment("/score", scoreToPlus);
+ // patch doc
+ appraiseRecordRepository.save(record.getId(), PK.buildOf(PK.PK_APPRAISE_RECORD, schoolId), AppraiseRecord.class, operations);
+ }
}
/**
diff --git a/src/main/java/cn/teammodel/utils/RepositoryUtil.java b/src/main/java/cn/teammodel/utils/RepositoryUtil.java
new file mode 100644
index 0000000..6edfde2
--- /dev/null
+++ b/src/main/java/cn/teammodel/utils/RepositoryUtil.java
@@ -0,0 +1,23 @@
+package cn.teammodel.utils;
+
+import cn.teammodel.common.ErrorCode;
+import cn.teammodel.config.exception.ServiceException;
+import org.apache.commons.lang3.ObjectUtils;
+
+import java.util.List;
+
+/**
+ * @author winter
+ * @create 2023-11-29 15:41
+ */
+public class RepositoryUtil {
+ /**
+ * 获取唯一一个结果,如果list为空或者list长度大于1,抛出参数错误异常
+ */
+ public static T findOne(List list) {
+ if (ObjectUtils.isEmpty(list) || list.size() > 1) {
+ throw new ServiceException(ErrorCode.PARAMS_ERROR);
+ }
+ return list.get(0);
+ }
+}
diff --git a/src/main/java/cn/teammodel/utils/SchoolDateUtil.java b/src/main/java/cn/teammodel/utils/SchoolDateUtil.java
index 467b104..4915a70 100644
--- a/src/main/java/cn/teammodel/utils/SchoolDateUtil.java
+++ b/src/main/java/cn/teammodel/utils/SchoolDateUtil.java
@@ -1,6 +1,8 @@
package cn.teammodel.utils;
-import cn.teammodel.model.entity.school.Semester;
+import cn.teammodel.common.CommonConstant;
+import cn.teammodel.model.entity.school.School;
+import org.apache.commons.lang3.tuple.Pair;
import java.time.LocalDate;
import java.util.Comparator;
@@ -38,7 +40,7 @@ public class SchoolDateUtil {
* 注意: 处理跨年问题 -> 2024.1.1, 应该也是 2023学年上学期,同时你需要注意,semesters 可能不止两个学期
*
*/
- public static String getSemesterByNow(List semesters, LocalDate date) {
+ public static Pair getSemesterByNow(List semesters, LocalDate date) {
if (semesters == null || semesters.isEmpty() || date == null) {
throw new IllegalArgumentException("Invalid input: semesters and date must not be null or empty.");
}
@@ -49,19 +51,33 @@ public class SchoolDateUtil {
// i = 0 的日期是开学最早, i = size - 1 是开学最晚
int size = semesters.size();
// 拿到最晚开学的日期,将年份 - 1后,与头节点组成可跨年区间
- Semester lastSemester = semesters.get(size - 1);
- LocalDate tmpSemester = LocalDate.of(date.getYear() - 1, lastSemester.getMonth(), lastSemester.getDay());
- for (Semester semester : semesters) {
+ School.Semester lastSemester = semesters.get(size - 1);
+ LocalDate lastSemesterStart = LocalDate.of(date.getYear() - 1, lastSemester.getMonth(), lastSemester.getDay());
+ String lastSemesterId = lastSemester.getId();
+ for (School.Semester semester : semesters) {
// 特判头尾的提起,分别将学期区间提前和延后一年(不用延后),例如 2023.3.1 与 2023.9.1 我们分别向添加一个节点,划分其为 3 个区间:
// 2022.9.1 - 2023.3.1, 2023.3.1 - 2023.9.1, 2023.9.1 - 2024.3.1
- LocalDate curSemester = LocalDate.of(date.getYear(), semester.getMonth(), semester.getDay());
- if (date.isEqual(tmpSemester) || date.isAfter(tmpSemester) && date.isBefore(curSemester)) {
- return tmpSemester.toString();
+ LocalDate curSemesterStart = LocalDate.of(date.getYear(), semester.getMonth(), semester.getDay());
+ if (date.isEqual(lastSemesterStart) || date.isAfter(lastSemesterStart) && date.isBefore(curSemesterStart)) {
+ return Pair.of(lastSemesterId, lastSemesterStart);
}
- tmpSemester = curSemester;
+ lastSemesterStart = curSemesterStart;
+ lastSemesterId = semester.getId();
}
// 剩下的时间段, 学年应该就是最后一个学年
- return LocalDate.of(date.getYear(), lastSemester.getMonth(), lastSemester.getDay()).toString();
+ return Pair.of(lastSemester.getId(), LocalDate.of(date.getYear(), lastSemester.getMonth(), lastSemester.getDay()));
}
+
+ /**
+ * 返回 ID -> 学年(组合 id: 学年-semesterId -> 2023-{semesterId})
+ */
+ public static String generateAcademicId(List semesters, LocalDate date) {
+ Pair pair = getSemesterByNow(semesters, date);
+ String semesterId = pair.getLeft();
+ LocalDate academicYear = pair.getRight();
+ return academicYear.getYear() + CommonConstant.DASH + semesterId;
+ }
+
+
}
diff --git a/src/test/java/cn/teammodel/TeamModelExtensionApplicationTests.java b/src/test/java/cn/teammodel/TeamModelExtensionApplicationTests.java
index c4df836..a2951a9 100644
--- a/src/test/java/cn/teammodel/TeamModelExtensionApplicationTests.java
+++ b/src/test/java/cn/teammodel/TeamModelExtensionApplicationTests.java
@@ -1,10 +1,13 @@
package cn.teammodel;
+import cn.teammodel.common.PK;
+import cn.teammodel.dao.AppraiseRecordRepository;
import cn.teammodel.dao.AppraiseRepository;
import cn.teammodel.dao.SchoolRepository;
import cn.teammodel.dao.StudentRepository;
import cn.teammodel.manager.DingAlertNotifier;
import cn.teammodel.model.entity.appraise.Appraise;
+import cn.teammodel.model.entity.appraise.AppraiseRecord;
import cn.teammodel.model.entity.appraise.AppraiseTreeNode;
import cn.teammodel.service.EvaluationService;
import cn.teammodel.service.impl.EvaluationServiceImpl;
@@ -27,6 +30,8 @@ class TeamModelExtensionApplicationTests {
@Autowired
private DingAlertNotifier notifier;
+ @Autowired
+ AppraiseRecordRepository appraiseRecordRepository;
@Autowired
StudentRepository studentRepository;
@Autowired
@@ -83,7 +88,11 @@ class TeamModelExtensionApplicationTests {
//List nodeById = appraiseRepository.findNodeById("habook", "default", "Appraise", "43e23f03-288c-4012-b5f3-4d5c022739a2");
//System.out.println(nodeById);
- System.out.println(schoolRepository.findSemestersById("hbcn", "Base"));
+ //System.out.println(schoolRepository.findSchoolByIdAndCode("hbcn", "Base", Semester.class));
+ AppraiseRecord record = appraiseRecordRepository.findAppraiseRecordByStudentIdAndAcademicYearIdAndCode("fakeStudentId1",
+ "2023-71fbd0bd-9a46-0490-f6b3-7d16cba4c017",
+ String.format(PK.PK_APPRAISE_RECORD,"habook")
+ );
}
@Test
public void testUpdate() {
diff --git a/src/test/java/cn/teammodel/TestWithoutSpring.java b/src/test/java/cn/teammodel/TestWithoutSpring.java
index 6a456d7..6bd60b0 100644
--- a/src/test/java/cn/teammodel/TestWithoutSpring.java
+++ b/src/test/java/cn/teammodel/TestWithoutSpring.java
@@ -2,9 +2,8 @@ package cn.teammodel;
import cn.teammodel.model.entity.appraise.Appraise;
import cn.teammodel.model.entity.appraise.AppraiseTreeNode;
-import cn.teammodel.model.entity.school.Semester;
+import cn.teammodel.model.entity.school.School;
import cn.teammodel.service.impl.EvaluationServiceImpl;
-import cn.teammodel.utils.SchoolDateUtil;
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiRobotSendRequest;
@@ -139,16 +138,16 @@ public class TestWithoutSpring {
@Test
public void testLocalDateTime() {
- List semesters = Arrays.asList(
- new Semester("1", "上学期", 1, 2, 1),
- new Semester("3", "下学期", 0, 8, 1),
- new Semester("4", "下学期", 0, 11, 1),
- new Semester("2", "下学期", 0, 5, 1)
+ List semesters = Arrays.asList(
+ new School.Semester("1", "上学期", 1, 2, 1),
+ new School.Semester("3", "下学期", 0, 8, 1),
+ new School.Semester("4", "下学期", 0, 11, 1),
+ new School.Semester("2", "下学期", 0, 5, 1)
);
LocalDate currentDate = LocalDate.of(2024, 1, 1);
- String currentSemester = SchoolDateUtil.getSemesterByNow(semesters, currentDate);
- System.out.println(currentSemester);
+ //String currentSemester = SchoolDateUtil.getSemesterByNow(semesters, currentDate);
+ //System.out.println(currentSemester);
}
}