|
|
@@ -53,21 +53,19 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
+import java.util.function.Consumer;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
|
|
/**
|
|
|
-* @title: 实习动态表
|
|
|
-* @Author szs
|
|
|
-* @Date: 2025-04-27
|
|
|
-* @Version 1.0
|
|
|
-*/
|
|
|
+ * @title: 实习动态表
|
|
|
+ * @Author szs
|
|
|
+ * @Date: 2025-04-27
|
|
|
+ * @Version 1.0
|
|
|
+ */
|
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
|
public class ClassInternshipDynamicServiceImpl extends MPJBaseServiceImpl<ClassInternshipDynamicMapper, ClassInternshipDynamic> implements IClassInternshipDynamicService {
|
|
|
@@ -84,68 +82,188 @@ public class ClassInternshipDynamicServiceImpl extends MPJBaseServiceImpl<ClassI
|
|
|
|
|
|
@Override
|
|
|
public IPage<ClassInternshipDynamicPageVo> pageClassInternshipDynamic(ClassInternshipDynamicPageDto dto) {
|
|
|
+ // 处理日期
|
|
|
+ if (ObjectUtils.isNotEmpty(dto.getEndDate())) {
|
|
|
+ dto.setEndDate(dto.getEndDate().plusDays(1));
|
|
|
+ }
|
|
|
+
|
|
|
// 需要划分权限
|
|
|
// 教职工看到自己发的所有的,学生和家长看到自己的
|
|
|
List<String> roleList = StpUtil.getRoleList();
|
|
|
long userId = StpUtil.getLoginIdAsLong();
|
|
|
|
|
|
- int roleType = 1;
|
|
|
+ // 角色存在标记
|
|
|
+ boolean isParent = roleList.contains("PARENT");
|
|
|
+ boolean isStudent = roleList.contains("STUDENT");
|
|
|
+ boolean isTeacher = roleList.contains("TEACHER");
|
|
|
|
|
|
- List<Long> classIds = new ArrayList<>();
|
|
|
+ List<Long> studentClassIds = new ArrayList<>();
|
|
|
+ List<Long> parentClassIds = new ArrayList<>();
|
|
|
|
|
|
- if (roleList.contains("TEACHER")) {
|
|
|
- roleType = 2;
|
|
|
- }
|
|
|
- if (roleList.contains("STUDENT")) {
|
|
|
- roleType = 3;
|
|
|
- classIds.add(rollService.getClassIdByUserId(userId));
|
|
|
+ // 获取学生班级 ID
|
|
|
+ if (isStudent) {
|
|
|
+ studentClassIds.add(rollService.getClassIdByUserId(userId));
|
|
|
}
|
|
|
- if (roleList.contains("PARENT")) {
|
|
|
- roleType = 3;
|
|
|
- List<BaseUserStudent> list = userStudentService.list(new QueryWrapper<BaseUserStudent>().lambda().eq(BaseUserStudent::getUserId, userId));
|
|
|
- for (BaseUserStudent userStudent : list) {
|
|
|
- classIds.add(rollService.getClassIdByUserId(userStudent.getStudentId()));
|
|
|
+
|
|
|
+ // 获取家长关联的学生班级 ID
|
|
|
+ if (isParent) {
|
|
|
+ List<BaseUserStudent> userStudents = userStudentService.list(
|
|
|
+ new QueryWrapper<BaseUserStudent>().lambda()
|
|
|
+ .eq(BaseUserStudent::getUserId, userId)
|
|
|
+ );
|
|
|
+ for (BaseUserStudent userStudent : userStudents) {
|
|
|
+ Long classId = rollService.getClassIdByUserId(userStudent.getStudentId());
|
|
|
+ if (classId != null) {
|
|
|
+ parentClassIds.add(classId);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
MPJLambdaWrapper<ClassInternshipDynamic> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
- queryWrapper
|
|
|
+ queryWrapper.distinct()
|
|
|
.select(ClassInternshipDynamic::getId)
|
|
|
- .select(ClassInternshipDynamic.class,x -> VoToColumnUtil.fieldsToColumns(ClassInternshipDynamicPageVo.class).contains(x.getProperty()))
|
|
|
- .select("(select\n" +
|
|
|
- " group_concat(b.name)\n" +
|
|
|
- " from class_internship_dynamic_class a\n" +
|
|
|
- " inner join base_class b on a.class_id = b.id\n" +
|
|
|
- " where a.class_internship_dynamic_id = t.id\n" +
|
|
|
- " ) as class_id_cns")
|
|
|
- .select("(select\n" +
|
|
|
- " group_concat(a.class_id)\n" +
|
|
|
- " from class_internship_dynamic_class a\n" +
|
|
|
- " where a.class_internship_dynamic_id = t.id\n" +
|
|
|
- " ) as class_ids")
|
|
|
+ .select(ClassInternshipDynamic.class, x -> VoToColumnUtil.fieldsToColumns(ClassInternshipDynamicPageVo.class).contains(x.getProperty()))
|
|
|
+ .select("(SELECT GROUP_CONCAT(b.name) FROM class_internship_dynamic_class a INNER JOIN base_class b ON a.class_id = b.id WHERE a.class_internship_dynamic_id = t.id) AS class_id_cns")
|
|
|
+ .select("(SELECT GROUP_CONCAT(a.class_id) FROM class_internship_dynamic_class a WHERE a.class_internship_dynamic_id = t.id) AS class_ids")
|
|
|
.leftJoin(XjrUser.class, XjrUser::getId, ClassInternshipDynamic::getPublisherId,
|
|
|
- wrapper -> wrapper
|
|
|
- .selectAs(XjrUser::getName, ClassInternshipDynamicPageVo::getPublisherIdCn)
|
|
|
+ wrapper -> wrapper.selectAs(XjrUser::getName, ClassInternshipDynamicPageVo::getPublisherIdCn)
|
|
|
)
|
|
|
+ .innerJoin(ClassInternshipDynamicClass.class, ClassInternshipDynamicClass::getClassInternshipDynamicId, ClassInternshipDynamic::getId)
|
|
|
.ge(ObjectUtils.isNotEmpty(dto.getStartDate()), ClassInternshipDynamic::getCreateDate, dto.getStartDate())
|
|
|
.le(ObjectUtils.isNotEmpty(dto.getEndDate()), ClassInternshipDynamic::getCreateDate, dto.getEndDate())
|
|
|
- .orderByDesc(ClassInternshipDynamic::getCreateDate)
|
|
|
- ;
|
|
|
- if(roleType == 2){
|
|
|
- queryWrapper
|
|
|
- .eq(ClassInternshipDynamic::getPublisherId, userId);
|
|
|
+ .orderByDesc(ClassInternshipDynamic::getCreateDate);
|
|
|
+
|
|
|
+ // 收集所有角色的 OR 条件
|
|
|
+ List<Consumer<MPJLambdaWrapper<ClassInternshipDynamic>>> roleConditions = new ArrayList<>();
|
|
|
+ boolean hasConditions = false;
|
|
|
+
|
|
|
+ // 教师条件
|
|
|
+ if (isTeacher) {
|
|
|
+ roleConditions.add(wrapper -> wrapper
|
|
|
+ .eq(ClassInternshipDynamic::getPublisherId, userId));
|
|
|
+ hasConditions = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 学生条件
|
|
|
+ if (isStudent && CollectionUtils.isNotEmpty(studentClassIds)) {
|
|
|
+ roleConditions.add(wrapper -> wrapper
|
|
|
+ .in(ClassInternshipDynamicClass::getClassId, studentClassIds)
|
|
|
+ .and(innerWrapper -> innerWrapper
|
|
|
+ .eq(ClassInternshipDynamic::getRoleType, 1)
|
|
|
+ .or()
|
|
|
+ .eq(ClassInternshipDynamic::getRoleType, 3)
|
|
|
+ ));
|
|
|
+ hasConditions = true;
|
|
|
}
|
|
|
|
|
|
- if(roleType == 3){
|
|
|
- queryWrapper
|
|
|
- .innerJoin(ClassInternshipDynamicClass.class, ClassInternshipDynamicClass::getClassInternshipDynamicId, ClassInternshipDynamic::getId)
|
|
|
- .in(CollectionUtils.isNotEmpty(classIds), ClassInternshipDynamicClass::getClassId, classIds);
|
|
|
+ // 家长条件
|
|
|
+ if (isParent && CollectionUtils.isNotEmpty(parentClassIds)) {
|
|
|
+ roleConditions.add(wrapper -> wrapper
|
|
|
+ .in(ClassInternshipDynamicClass::getClassId, parentClassIds)
|
|
|
+ .and(innerWrapper -> innerWrapper
|
|
|
+ .eq(ClassInternshipDynamic::getRoleType, 2)
|
|
|
+ .or()
|
|
|
+ .eq(ClassInternshipDynamic::getRoleType, 3)
|
|
|
+ ));
|
|
|
+ hasConditions = true;
|
|
|
}
|
|
|
|
|
|
+ // 如果有任意角色条件,则用 and 包裹所有 or 条件
|
|
|
+ if (hasConditions) {
|
|
|
+ queryWrapper.and(wrapper -> {
|
|
|
+ if (!roleConditions.isEmpty()) {
|
|
|
+ // 从第二个条件开始,前面已经有一个条件了
|
|
|
+ Iterator<Consumer<MPJLambdaWrapper<ClassInternshipDynamic>>> iterator = roleConditions.iterator();
|
|
|
+ iterator.next().accept(wrapper); // 添加第一个条件
|
|
|
+
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ wrapper.or(); // 开启 OR 分支
|
|
|
+ iterator.next().accept(wrapper);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ queryWrapper.eq("1", "0"); // 无权限
|
|
|
+ }
|
|
|
+
|
|
|
+// int roleType = 1;
|
|
|
+//
|
|
|
+// List<Long> classIds = new ArrayList<>();
|
|
|
+//
|
|
|
+// if (roleList.contains("PARENT")) {
|
|
|
+// roleType = 4;
|
|
|
+// List<BaseUserStudent> list = userStudentService.list(new QueryWrapper<BaseUserStudent>().lambda().eq(BaseUserStudent::getUserId, userId));
|
|
|
+// for (BaseUserStudent userStudent : list) {
|
|
|
+// classIds.add(rollService.getClassIdByUserId(userStudent.getStudentId()));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (roleList.contains("STUDENT")) {
|
|
|
+// roleType = 3;
|
|
|
+// classIds.add(rollService.getClassIdByUserId(userId));
|
|
|
+// }
|
|
|
+// if (roleList.contains("TEACHER")) {
|
|
|
+// roleType = 2;
|
|
|
+// }
|
|
|
+//
|
|
|
+// MPJLambdaWrapper<ClassInternshipDynamic> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
+// queryWrapper
|
|
|
+// .distinct()
|
|
|
+// .select(ClassInternshipDynamic::getId)
|
|
|
+// .select(ClassInternshipDynamic.class,x -> VoToColumnUtil.fieldsToColumns(ClassInternshipDynamicPageVo.class).contains(x.getProperty()))
|
|
|
+// .select("(select\n" +
|
|
|
+// " group_concat(b.name)\n" +
|
|
|
+// " from class_internship_dynamic_class a\n" +
|
|
|
+// " inner join base_class b on a.class_id = b.id\n" +
|
|
|
+// " where a.class_internship_dynamic_id = t.id\n" +
|
|
|
+// " ) as class_id_cns")
|
|
|
+// .select("(select\n" +
|
|
|
+// " group_concat(a.class_id)\n" +
|
|
|
+// " from class_internship_dynamic_class a\n" +
|
|
|
+// " where a.class_internship_dynamic_id = t.id\n" +
|
|
|
+// " ) as class_ids")
|
|
|
+// .leftJoin(XjrUser.class, XjrUser::getId, ClassInternshipDynamic::getPublisherId,
|
|
|
+// wrapper -> wrapper
|
|
|
+// .selectAs(XjrUser::getName, ClassInternshipDynamicPageVo::getPublisherIdCn)
|
|
|
+// )
|
|
|
+// .ge(ObjectUtils.isNotEmpty(dto.getStartDate()), ClassInternshipDynamic::getCreateDate, dto.getStartDate())
|
|
|
+// .le(ObjectUtils.isNotEmpty(dto.getEndDate()), ClassInternshipDynamic::getCreateDate, dto.getEndDate().plusDays(1))
|
|
|
+// .orderByDesc(ClassInternshipDynamic::getCreateDate)
|
|
|
+// ;
|
|
|
+// if(roleType == 2){
|
|
|
+// queryWrapper
|
|
|
+// .eq(ClassInternshipDynamic::getPublisherId, userId);
|
|
|
+// }
|
|
|
+//
|
|
|
+// if(roleType == 3){
|
|
|
+// queryWrapper
|
|
|
+// .innerJoin(ClassInternshipDynamicClass.class, ClassInternshipDynamicClass::getClassInternshipDynamicId, ClassInternshipDynamic::getId)
|
|
|
+// .in(CollectionUtils.isNotEmpty(classIds), ClassInternshipDynamicClass::getClassId, classIds)
|
|
|
+// .and(
|
|
|
+// wrapper -> wrapper
|
|
|
+// .eq(ClassInternshipDynamic::getRoleType, 1)
|
|
|
+// .or()
|
|
|
+// .eq(ClassInternshipDynamic::getRoleType, 3)
|
|
|
+// )
|
|
|
+// ;
|
|
|
+// }
|
|
|
+//
|
|
|
+// if(roleType == 4){
|
|
|
+// queryWrapper
|
|
|
+// .innerJoin(ClassInternshipDynamicClass.class, ClassInternshipDynamicClass::getClassInternshipDynamicId, ClassInternshipDynamic::getId)
|
|
|
+// .in(CollectionUtils.isNotEmpty(classIds), ClassInternshipDynamicClass::getClassId, classIds)
|
|
|
+// .and(
|
|
|
+// wrapper -> wrapper
|
|
|
+// .eq(ClassInternshipDynamic::getRoleType, 2)
|
|
|
+// .or()
|
|
|
+// .eq(ClassInternshipDynamic::getRoleType, 3)
|
|
|
+// )
|
|
|
+// ;
|
|
|
+// }
|
|
|
+
|
|
|
IPage<ClassInternshipDynamicPageVo> page = this.selectJoinListPage(ConventPage.getPage(dto), ClassInternshipDynamicPageVo.class, queryWrapper);
|
|
|
|
|
|
- for (ClassInternshipDynamicPageVo vo : page.getRecords()){
|
|
|
- if(ObjectUtils.isNotEmpty(vo.getFolderId())){
|
|
|
+ for (ClassInternshipDynamicPageVo vo : page.getRecords()) {
|
|
|
+ if (ObjectUtils.isNotEmpty(vo.getFolderId())) {
|
|
|
List<File> files = fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, vo.getFolderId()));
|
|
|
vo.setFiles(files);
|
|
|
}
|
|
|
@@ -167,7 +285,7 @@ public class ClassInternshipDynamicServiceImpl extends MPJBaseServiceImpl<ClassI
|
|
|
|
|
|
this.save(classInternshipDynamic);
|
|
|
|
|
|
- for (Long classid : dto.getClassIds()){
|
|
|
+ for (Long classid : dto.getClassIds()) {
|
|
|
ClassInternshipDynamicClass classInternshipDynamicClass = new ClassInternshipDynamicClass();
|
|
|
classInternshipDynamicClass.setClassInternshipDynamicId(classInternshipDynamic.getId());
|
|
|
classInternshipDynamicClass.setClassId(classid);
|
|
|
@@ -178,49 +296,47 @@ public class ClassInternshipDynamicServiceImpl extends MPJBaseServiceImpl<ClassI
|
|
|
}
|
|
|
|
|
|
// 发送通知
|
|
|
- List<User> combinedList = new ArrayList<>();
|
|
|
- if(ObjectUtils.isNotEmpty(dto.getRoleType()) && dto.getRoleType() == 1){
|
|
|
- // 找到班上所有的学生
|
|
|
- MPJLambdaWrapper<User> stuMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
- stuMPJLambdaWrapper
|
|
|
- .distinct()
|
|
|
- .select(User::getId)
|
|
|
- .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
- .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
|
|
|
- .in(BaseStudentSchoolRoll::getClassId, dto.getClassIds());
|
|
|
- List<User> stuList = userMapper.selectJoinList(User.class, stuMPJLambdaWrapper);
|
|
|
-
|
|
|
- combinedList.addAll(stuList);
|
|
|
- }
|
|
|
-
|
|
|
- if(ObjectUtils.isNotEmpty(dto.getRoleType()) && dto.getRoleType() == 2){
|
|
|
- // 找到班上所有的学生的家长
|
|
|
- MPJLambdaWrapper<User> parentMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
- parentMPJLambdaWrapper
|
|
|
- .distinct()
|
|
|
- .disableSubLogicDel()
|
|
|
- .select(User::getId).select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
- .leftJoin(UserStudent.class, UserStudent::getUserId, User::getId)
|
|
|
- .leftJoin(WorkflowFormRelation.class, WorkflowFormRelation::getFormKeyValue, UserStudent::getId)
|
|
|
- .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
|
|
|
- .eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_COMPLETED)
|
|
|
- .in(BaseStudentSchoolRoll::getClassId, dto.getClassIds());
|
|
|
- List<User> parentList = userMapper.selectJoinList(User.class, parentMPJLambdaWrapper);
|
|
|
-
|
|
|
- // 合并两个列表,并根据 User 的 id 去重
|
|
|
- combinedList = new ArrayList<>(Stream.concat(combinedList.stream(), parentList.stream())
|
|
|
- .collect(Collectors.toMap(
|
|
|
- User::getId, // 键:User 的 id
|
|
|
- user -> user, // 值:User 对象本身
|
|
|
- (existing, replacement) -> existing // 如果有重复的键,保留旧值(existing)
|
|
|
- ))
|
|
|
- .values());
|
|
|
+ Set<User> combinedUserSet = new LinkedHashSet<>();
|
|
|
+
|
|
|
+ // 找到班上所有的学生
|
|
|
+ MPJLambdaWrapper<User> stuMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+ stuMPJLambdaWrapper
|
|
|
+ .distinct()
|
|
|
+ .select(User::getId)
|
|
|
+ .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
+ .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
|
|
|
+ .in(BaseStudentSchoolRoll::getClassId, dto.getClassIds());
|
|
|
+ List<User> stuList = userMapper.selectJoinList(User.class, stuMPJLambdaWrapper);
|
|
|
+
|
|
|
+ // 找到班上所有的学生的家长
|
|
|
+ MPJLambdaWrapper<User> parentMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+ parentMPJLambdaWrapper
|
|
|
+ .distinct()
|
|
|
+ .disableSubLogicDel()
|
|
|
+ .select(User::getId).select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
+ .leftJoin(UserStudent.class, UserStudent::getUserId, User::getId)
|
|
|
+ .leftJoin(WorkflowFormRelation.class, WorkflowFormRelation::getFormKeyValue, UserStudent::getId)
|
|
|
+ .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
|
|
|
+ .eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_COMPLETED)
|
|
|
+ .in(BaseStudentSchoolRoll::getClassId, dto.getClassIds());
|
|
|
+ List<User> parentList = userMapper.selectJoinList(User.class, parentMPJLambdaWrapper);
|
|
|
+
|
|
|
+ // 根据 roleType 添加对应的角色对象到集合中
|
|
|
+ if (ObjectUtils.isNotEmpty(dto.getRoleType())) {
|
|
|
+ int roleType = dto.getRoleType();
|
|
|
+
|
|
|
+ if (roleType == 1 || roleType == 3) {
|
|
|
+ combinedUserSet.addAll(stuList);
|
|
|
+ }
|
|
|
+ if (roleType == 2 || roleType == 3) {
|
|
|
+ combinedUserSet.addAll(parentList);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 发布作业的教师
|
|
|
User releaseUser = userMapper.selectById(loginId);
|
|
|
try {
|
|
|
- for (User user : combinedList) {
|
|
|
+ for (User user : combinedUserSet) {
|
|
|
WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
|
|
|
weChatSendMessageDto.setUserId(user.getOpenId());
|
|
|
weChatSendMessageDto.setTemplateId("qmpXORPM1Cocqn503Qa4On6BJhR92UZ00eod2-6IcGo");
|
|
|
@@ -265,7 +381,7 @@ public class ClassInternshipDynamicServiceImpl extends MPJBaseServiceImpl<ClassI
|
|
|
.innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, XjrUser::getId)
|
|
|
;
|
|
|
|
|
|
- if(ObjectUtils.isEmpty(dto.getClassId())){
|
|
|
+ if (ObjectUtils.isEmpty(dto.getClassId())) {
|
|
|
LambdaQueryWrapper<ClassInternshipDynamicClass> classLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
classLambdaQueryWrapper
|
|
|
.eq(ClassInternshipDynamicClass::getClassInternshipDynamicId, dto.getClassInternshipDynamicId())
|
|
|
@@ -273,7 +389,7 @@ public class ClassInternshipDynamicServiceImpl extends MPJBaseServiceImpl<ClassI
|
|
|
;
|
|
|
|
|
|
List<ClassInternshipDynamicClass> classeList = classInternshipDynamicClassMapper.selectList(classLambdaQueryWrapper);
|
|
|
- if(CollectionUtils.isEmpty(classeList)){
|
|
|
+ if (CollectionUtils.isEmpty(classeList)) {
|
|
|
return new ArrayList<>();
|
|
|
}
|
|
|
|
|
|
@@ -285,7 +401,7 @@ public class ClassInternshipDynamicServiceImpl extends MPJBaseServiceImpl<ClassI
|
|
|
|
|
|
xjrUserMPJLambdaWrapper
|
|
|
.in(BaseStudentSchoolRoll::getClassId, uniqueClassIds);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
xjrUserMPJLambdaWrapper
|
|
|
.eq(BaseStudentSchoolRoll::getClassId, dto.getClassId());
|
|
|
}
|
|
|
@@ -314,13 +430,13 @@ public class ClassInternshipDynamicServiceImpl extends MPJBaseServiceImpl<ClassI
|
|
|
}
|
|
|
|
|
|
List<ClassInternshipDynamicReadListVo> result = new ArrayList<>();
|
|
|
- if(ObjectUtils.isNotEmpty(dto.getIsRead())){
|
|
|
+ if (ObjectUtils.isNotEmpty(dto.getIsRead())) {
|
|
|
for (ClassInternshipDynamicReadListVo vo : list) {
|
|
|
- if(Objects.equals(vo.getIsRead(), dto.getIsRead())){
|
|
|
+ if (Objects.equals(vo.getIsRead(), dto.getIsRead())) {
|
|
|
result.add(vo);
|
|
|
}
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
@@ -334,13 +450,13 @@ public class ClassInternshipDynamicServiceImpl extends MPJBaseServiceImpl<ClassI
|
|
|
// 查询用户是否已经阅读当前作业
|
|
|
LambdaQueryWrapper<ClassInternshipDynamicRead> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper
|
|
|
- .select(ClassInternshipDynamicRead.class,x -> VoToColumnUtil.fieldsToColumns(ClassInternshipDynamicRead.class).contains(x.getProperty()))
|
|
|
+ .select(ClassInternshipDynamicRead.class, x -> VoToColumnUtil.fieldsToColumns(ClassInternshipDynamicRead.class).contains(x.getProperty()))
|
|
|
.eq(ClassInternshipDynamicRead::getClassInternshipDynamicId, dto.getClassInternshipDynamicId())
|
|
|
.eq(ClassInternshipDynamicRead::getUserId, loginId)
|
|
|
;
|
|
|
ClassInternshipDynamicRead classInternshipDynamicRead = classInternshipDynamicReadMapper.selectOne(queryWrapper);
|
|
|
|
|
|
- if(ObjectUtils.isEmpty(classInternshipDynamicRead)){
|
|
|
+ if (ObjectUtils.isEmpty(classInternshipDynamicRead)) {
|
|
|
ClassInternshipDynamicRead insert = BeanUtil.toBean(dto, ClassInternshipDynamicRead.class);
|
|
|
insert.setUserId(loginId);
|
|
|
|