Browse Source

feat: 用户协议调整

Joburgess 4 years ago
parent
commit
fd529724df

+ 8 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -138,11 +138,11 @@ public class StudentManageServiceImpl implements StudentManageService {
         Map<Integer, StudentListCourseDto> StudentListCourseDtoMap = studentListCourseDtoList.stream().collect(Collectors.toMap(StudentListCourseDto::getUserId, studentListCourseDto -> studentListCourseDto));
 
         //用户协议
-        List<SysUserContracts> userAllContract = sysUserContractsDao.getUserAllContract(new ArrayList<>(userIds));
-        Map<Integer, Set<Integer>> userContractVersionMap = new HashMap<>();
-        if(!CollectionUtils.isEmpty(userAllContract)){
-            userContractVersionMap = userAllContract.stream().collect(Collectors.groupingBy(SysUserContracts::getUserId, Collectors.mapping(SysUserContracts::getVersion, Collectors.toSet())));
-        }
+//        List<SysUserContracts> userAllContract = sysUserContractsDao.getUserAllContract(new ArrayList<>(userIds));
+//        Map<Integer, Set<Integer>> userContractVersionMap = new HashMap<>();
+//        if(!CollectionUtils.isEmpty(userAllContract)){
+//            userContractVersionMap = userAllContract.stream().collect(Collectors.groupingBy(SysUserContracts::getUserId, Collectors.mapping(SysUserContracts::getVersion, Collectors.toSet())));
+//        }
 
         StudentListCourseDto studentListCourseDto = null;
         for (StudentManageListDto dto : dataList) {
@@ -163,9 +163,9 @@ public class StudentManageServiceImpl implements StudentManageService {
                 dto.setHasPracticeCourse(YesOrNoEnum.NO);
             }
 
-            if(userContractVersionMap.containsKey(dto.getUserId())){
-                dto.setContractVersions(StringUtils.join(userContractVersionMap.get(dto.getUserId()), ","));
-            }
+//            if(userContractVersionMap.containsKey(dto.getUserId())){
+//                dto.setContractVersions(StringUtils.join(userContractVersionMap.get(dto.getUserId()), ","));
+//            }
         }
 
         if (queryInfo.getIsExport()) {

+ 8 - 13
mec-web/src/main/java/com/ym/mec/web/controller/SysUserContractsController.java

@@ -15,9 +15,7 @@ import com.ym.mec.biz.service.SysUserContractsService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 
-import java.util.Comparator;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @RequestMapping("sysUserContracts")
@@ -31,27 +29,24 @@ public class SysUserContractsController extends BaseController {
     @ApiOperation(value = "查询学生最新协议")
     @GetMapping("/getLatest")
     @PreAuthorize("@pcs.hasPermissions('sysUserContracts/getLatest')")
-	public HttpResponseResult<SysUserContracts> getLatest(Integer userId, Integer version) {
+	public HttpResponseResult<List<SysUserContracts>> getLatest(Integer userId) {
 		
 //		SysUserContracts sysUserContracts = sysUserContractsService.getLatestUserContract(userId);
 		List<SysUserContracts> sysUserContracts = sysUserContractsService.getUserAllContracts(userId);
-		if(Objects.isNull(version)){
-			version = 2;
-		}
 
 		if(CollectionUtils.isEmpty(sysUserContracts)){
 			return failed("该学员尚未签署协议");
 		}
 
-		Integer finalVersion = version;
-		List<SysUserContracts> versionContracts = sysUserContracts.stream().filter(c -> c.getVersion().equals(finalVersion)).collect(Collectors.toList());
+		Map<Integer, List<SysUserContracts>> versionContractMap = sysUserContracts.stream().collect(Collectors.groupingBy(SysUserContracts::getVersion));
 
-		if(CollectionUtils.isEmpty(versionContracts)){
-			return failed("该学员尚未签署协议");
+		List<SysUserContracts> result = new ArrayList<>();
+		for (Map.Entry<Integer, List<SysUserContracts>> versionContractMapEntry : versionContractMap.entrySet()) {
+			versionContractMapEntry.getValue().sort(Comparator.comparing(SysUserContracts::getCreateTime).reversed());
+			result.add(versionContractMapEntry.getValue().get(0));
 		}
 
-		versionContracts.sort(Comparator.comparing(SysUserContracts::getCreateTime).reversed());
-		return succeed(versionContracts.get(0));
+		return succeed(result);
 	}
 
 }