private Query buildQuery()

in extension/storage/storage-mongodb/src/main/java/com/alibaba/smart/framework/engine/persister/mongo/service/MongoProcessInstanceStorage.java [170:205]


    private Query buildQuery(ProcessInstanceQueryParam processInstanceQueryParam) {
        Query query = new Query();

        if(null !=  processInstanceQueryParam.getProcessInstanceIdList()){
            query.addCriteria(Criteria.where(PROCESS_INSTANCE_ID).in(processInstanceQueryParam.getProcessInstanceIdList()));
        }

        if(null != processInstanceQueryParam.getBizUniqueId()){
            query.addCriteria(Criteria.where("bizUniqueId").is(processInstanceQueryParam.getBizUniqueId()));
        }

        if(null != processInstanceQueryParam.getProcessDefinitionIdAndVersion()){
            query.addCriteria(Criteria.where("processDefinitionIdAndVersion").is(processInstanceQueryParam.getProcessDefinitionIdAndVersion()));
        }

        if(null != processInstanceQueryParam.getProcessDefinitionType()){
            query.addCriteria(Criteria.where("processDefinitionType").is(processInstanceQueryParam.getProcessDefinitionType()));
        }

        if(null != processInstanceQueryParam.getStartUserId()){
            query.addCriteria(Criteria.where("startUserId").is(processInstanceQueryParam.getStartUserId()));
        }

        if(null != processInstanceQueryParam.getStatus()){
            query.addCriteria(Criteria.where("status" ).is(processInstanceQueryParam.getStatus())
           );
        }

        if(null != processInstanceQueryParam.getPageOffset()){
            Pageable pageableRequest =   PageRequest.of(processInstanceQueryParam.getPageOffset(),processInstanceQueryParam.getPageSize());
            query.with(pageableRequest);
        }

        query.with( Sort.by(Sort.Direction.ASC, GMT_CREATE));
        return query;
    }