doum
2025-07-23 ee8f62695b005cfc965ec174a915e9b3e775d252
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -111,6 +111,8 @@
    private MemberCardMapper memberCardMapper;
    @Autowired
    private CompanyMapper companyMapper;
    @Autowired
    private PositionMapper positionMapper;
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
@@ -2097,6 +2099,8 @@
            );
            List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
                    .eq(Company::getIsdeleted,Constants.ZERO));
            List<Position> positionList = positionMapper.selectList(new QueryWrapper<Position>().lambda()
                    .eq(Position::getIsdeleted,Constants.ZERO));
            List<Member> newList = new ArrayList<>();
            for(int i=0;i<dataList.size();i++){
                MemberImport model = dataList.get(i);
@@ -2108,7 +2112,7 @@
                        &&StringUtils.isBlank(model.getCompanyName())){
                      continue;
                }
                Member member = checkModelParam(model,newList,i,loginUserInfo,list,companyList,companyType);
                Member member = checkModelParam(model,newList,i,loginUserInfo,list,companyList,companyType,positionList);
                newList.add(member);
            }
            if(newList == null || newList.size() ==0){
@@ -2162,7 +2166,8 @@
            ,LoginUserInfo loginUserInfo
            ,List<Member> memberList
            ,List<Company> companyList
            ,Integer companyType) {
            ,Integer companyType
            ,List<Position> positionList) {
        if(StringUtils.isBlank(model.getName())
//                ||StringUtils.isBlank(model.getIdcardNo())
                ||StringUtils.isBlank(model.getPhone())
@@ -2183,6 +2188,7 @@
            }
        }
        for(Member member: newList){
            if(StringUtils.isNotBlank(model.getIdcardNo())&&StringUtils.isNotBlank(member.getIdcardNo())) {
                if (StringUtils.equals(model.getIdcardNo(), member.getIdcardNo())) {
@@ -2199,6 +2205,10 @@
        }
        if(companyType != null && !Constants.equalsInteger(companyType,company.getType())){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行组织名称【"+model.getCompanyName()+"】类型不正确,请检查表格内容!");
        }
        Position position = findPositionFromList(model.getPositionName(),positionList);
        if(Objects.isNull(position)){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行岗位名称【"+model.getPositionName()+"】不存在,请检查表格内容!");
        }
        String candNo = DESUtil.encrypt(Constants.EDS_PWD, model.getIdcardNo());
        if(StringUtils.isNotBlank(model.getIdcardNo())){
@@ -2231,6 +2241,18 @@
        }
        return null;
    }
    private Position findPositionFromList(String positionName, List<Position> positionList) {
        if(positionList !=null){
            for(Position position : positionList){
                if(StringUtils.equals(positionName,position.getName())){
                    return  position;
                }
            }
        }
        return null;
    }
    public static Member findMemberFromListByIdcard(String param, List<Member> list) {
        if(list !=null){
            for(Member member : list){