kongzy
2024-07-12 28aaf2ffa1dbb860a292ba330a7e9362e60e7832
assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java
@@ -19,6 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -69,6 +70,8 @@
    public Boolean checkAllFaceRecongnition(Long projectId){
        projectService.checkUserAllowed(projectId);
        List<AssPlanPerson> planPersonList=planPersonMapper.getAllPlanPersonByProjectId(projectId);
        Map<Long,AssPlanPerson> planPersonMap=planPersonList.stream().collect(Collectors.toMap(AssPlanPerson::getPersonId,a -> a,(k1,k2) -> k1));
        planPersonList=planPersonMap.values().stream().collect(Collectors.toList());
        List<AssFaceRecognition> faceRecognitionList=baseMapper.getSimpleFaceRecognitionByProjectId(projectId);
        Map<Long,AssFaceRecognition> map=faceRecognitionList.stream().collect(Collectors.toMap(AssFaceRecognition::getPersonId,a -> a,(k1,k2) -> k1));
        String message="";
@@ -104,7 +107,21 @@
    public List<AssFaceRecognition> getFaceRecognitionByProjectId(Long projectId) {
        projectService.checkUserAllowed(projectId);
        List<AssFaceRecognition> faceRecognitionList= baseMapper.getFaceRecognitionByProjectId(projectId);
        return faceRecognitionList;
        //同一个人员担任多种角色
        Map<Long,List<Integer>> playRoleMap=faceRecognitionList.stream().collect(Collectors.toMap(AssFaceRecognition::getPersonId,p -> {
            List<Integer> pRoles=new ArrayList<>();
            pRoles.add(p.getPlanPerson().getPlayRole());
            return pRoles;
        },(List<Integer>value1,List<Integer> value2) -> {
                value1.addAll(value2);
                return value1;
        }));
        Map<Long,AssFaceRecognition> faceMap=faceRecognitionList.stream().collect(Collectors.toMap(AssFaceRecognition::getPersonId,a -> a,(k1,k2) -> k2));
        List<AssFaceRecognition> faceRecognitions=faceMap.values().stream().collect(Collectors.toList());
        for(AssFaceRecognition faceRecognition:faceRecognitions){
            faceRecognition.getPlanPerson().setPlayRoles(playRoleMap.get(faceRecognition.getPersonId()));
        }
        return faceRecognitions;
    }