From 42d5d596992f1a1c6c66220a2caeef926c3da73a Mon Sep 17 00:00:00 2001 From: "hhb@hotmail.com" Date: Fri, 28 Feb 2025 15:18:08 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=95=99=E5=AD=A6=E8=B4=A8=E9=87=8F?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AdminIndexDutyServiceImpl.java | 43 +++++++++++++++++++ .../model/dto/Appraise/AppraiseVoteDto.java | 2 +- .../entity/appraise/AppraiseRecordItem.java | 2 +- .../teammodel/model/vo/appraise/RecordVo.java | 1 + .../repository/AppraiseRecordRepository.java | 2 +- .../service/impl/EvaluationServiceImpl.java | 4 +- 6 files changed, 49 insertions(+), 5 deletions(-) diff --git a/src/main/java/cn/teammodel/controller/admin/service/impl/AdminIndexDutyServiceImpl.java b/src/main/java/cn/teammodel/controller/admin/service/impl/AdminIndexDutyServiceImpl.java index 0044573..94bf327 100644 --- a/src/main/java/cn/teammodel/controller/admin/service/impl/AdminIndexDutyServiceImpl.java +++ b/src/main/java/cn/teammodel/controller/admin/service/impl/AdminIndexDutyServiceImpl.java @@ -5,6 +5,9 @@ import cn.teammodel.common.PK; import cn.teammodel.config.exception.ServiceException; import cn.teammodel.controller.admin.service.AdminIndexDutyService; import cn.teammodel.model.dto.admin.appraise.TimeRangeDto; +import cn.teammodel.model.dto.admin.common.GroupDto; +import cn.teammodel.model.dto.admin.common.RGroupList; +import cn.teammodel.model.dto.admin.common.RMember; import cn.teammodel.model.dto.admin.teacher.TeacherDto; import cn.teammodel.model.dto.weekDuty.LessonRecordDto; import cn.teammodel.model.entity.User; @@ -22,6 +25,8 @@ import cn.teammodel.security.utils.SecurityUtil; import cn.teammodel.test.LessonRecordQueryService; import cn.teammodel.utils.GroupUtil; import cn.teammodel.utils.SchoolDateUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.azure.spring.data.cosmos.core.query.CosmosPageRequest; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -65,6 +70,8 @@ public class AdminIndexDutyServiceImpl implements AdminIndexDutyService { private Environment env; @Resource private LessonRecordRepository lessonRecordRepository; + @Resource + private StudentRepository studentRepository; /* @Autowired public AdminIndexDutyServiceImpl(Environment env) { @@ -267,8 +274,44 @@ public class AdminIndexDutyServiceImpl implements AdminIndexDutyService { Set classIds = records.stream().filter(lessonRecord -> lessonRecord.getTmdid().equalsIgnoreCase(teacherDto.getTmdId())) .flatMap(record -> record.getGroupIds().stream()) .collect(Collectors.toSet()); + + + GroupDto groupDto = new GroupDto(); + groupDto.setIds(new ArrayList<>(classIds)); + groupDto.setSchoolId(teacherDto.getCode()); + String url = env.getProperty("ies.server-url-group"); + //List classes = classRepository.findAllByCodeAndIdIn("Class-"+artFindDto.getCode(),classIds); + Map groupId = GroupUtil.getGroupId(groupDto,new GroupUtil(env), request,url); + List rGroupList = new ArrayList<>(); + List rMembers = new ArrayList<>(); + for (Map.Entry entry : groupId.entrySet()) { + String key = entry.getKey(); + Object value = entry.getValue(); + if (key.equals("groups")) { + String jsonGroups = JSON.toJSONString(value); + rGroupList = JSON.parseObject(jsonGroups, new TypeReference>() {}); + } + if (key.equals("members")) { + String jsonGroups = JSON.toJSONString(value); + rMembers = JSON.parseObject(jsonGroups, new TypeReference>() {}); + } + } for(String classId : classIds) { Map mapper = new HashMap<>(); + + // 班级内学生总数 + //int stuInClassCount = studentRepository.countByClassIdAndCode(classId, String.format(PK.STUDENT, teacherDto.getCode())); + int stuInClassCount = 0; + String className = ""; + for (RGroupList rGroup : rGroupList) { + if (rGroup.getId().equals(classId)) { + List members = rGroup.getMembers(); + stuInClassCount = members.size(); + className = rGroup.getName(); + } + } + mapper.put("stuInClassCount", stuInClassCount); + mapper.put("className", className); // 计算本学期互动总数 int totalClientInteractionCount = records.stream().filter(lessonRecord -> lessonRecord.getGroupIds().contains(classId)) 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 39824a1..4af0c04 100644 --- a/src/main/java/cn/teammodel/model/dto/Appraise/AppraiseVoteDto.java +++ b/src/main/java/cn/teammodel/model/dto/Appraise/AppraiseVoteDto.java @@ -31,5 +31,5 @@ public class AppraiseVoteDto { @ApiModelProperty(value = "评价项唯一 id", required = true) private String appraiseId; @ApiModelProperty(value = "评价来源") - private String from; + private String device; } 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 f648209..afe6e23 100644 --- a/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecordItem.java +++ b/src/main/java/cn/teammodel/model/entity/appraise/AppraiseRecordItem.java @@ -22,5 +22,5 @@ public class AppraiseRecordItem { String creator; String creatorId; private Long createTime; - private String from; + private String device; } diff --git a/src/main/java/cn/teammodel/model/vo/appraise/RecordVo.java b/src/main/java/cn/teammodel/model/vo/appraise/RecordVo.java index 82fdd3a..7889c2b 100644 --- a/src/main/java/cn/teammodel/model/vo/appraise/RecordVo.java +++ b/src/main/java/cn/teammodel/model/vo/appraise/RecordVo.java @@ -22,4 +22,5 @@ public class RecordVo { private Long createTime; @JsonProperty("isPraise") private boolean isPraise; + private String device; } diff --git a/src/main/java/cn/teammodel/repository/AppraiseRecordRepository.java b/src/main/java/cn/teammodel/repository/AppraiseRecordRepository.java index 235597d..b897a3e 100644 --- a/src/main/java/cn/teammodel/repository/AppraiseRecordRepository.java +++ b/src/main/java/cn/teammodel/repository/AppraiseRecordRepository.java @@ -71,7 +71,7 @@ public interface AppraiseRecordRepository extends CosmosRepository= @startTime) and " + diff --git a/src/main/java/cn/teammodel/service/impl/EvaluationServiceImpl.java b/src/main/java/cn/teammodel/service/impl/EvaluationServiceImpl.java index 07b8828..84a676c 100644 --- a/src/main/java/cn/teammodel/service/impl/EvaluationServiceImpl.java +++ b/src/main/java/cn/teammodel/service/impl/EvaluationServiceImpl.java @@ -314,7 +314,7 @@ public class EvaluationServiceImpl implements EvaluationService { boolean pushParent = appraiseVoteDto.isPushParent(); String targetType = appraiseVoteDto.getTargetType(); String appraiseId = appraiseVoteDto.getAppraiseId(); - String from = appraiseVoteDto.getFrom(); + String from = appraiseVoteDto.getDevice(); User loginUser = SecurityUtil.getLoginUser(); String schoolId = loginUser.getSchoolId(); String classId; @@ -380,7 +380,7 @@ public class EvaluationServiceImpl implements EvaluationService { item.setCreator(loginUser.getName()); item.setCreatorId(loginUser.getId()); item.setCreateTime(Instant.now().toEpochMilli()); - item.setFrom(from); + item.setDevice(from); // 处理学校与学生的差异 if (targetType.equals(TARGET_CLASS)) { item.setSpread(spread);