private Query buildQuery()

in extension/storage/storage-mongodb/src/main/java/com/alibaba/smart/framework/engine/persister/mongo/service/MongoTaskInstanceStorage.java [109:148]


    private Query buildQuery(TaskInstanceQueryParam taskInstanceQueryParam) {
        Query query = new Query();

        if(null !=  taskInstanceQueryParam.getProcessDefinitionType()){
            query.addCriteria(Criteria.where(PROCESS_DEFINITION_TYPE).is(taskInstanceQueryParam.getProcessDefinitionType()));
        }

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

        if(null !=  taskInstanceQueryParam.getProcessDefinitionActivityId()){
            query.addCriteria(Criteria.where(PROCESS_DEFINITION_ACTIVITY_ID).is(taskInstanceQueryParam.getProcessDefinitionActivityId()));
        }

        if(null !=  taskInstanceQueryParam.getActivityInstanceId()){
            query.addCriteria(Criteria.where(ACTIVITY_INSTANCE_ID).is(taskInstanceQueryParam.getActivityInstanceId()));
        }

        if(null !=  taskInstanceQueryParam.getStatus()){
            query.addCriteria(Criteria.where(STATUS).is(taskInstanceQueryParam.getStatus()));
        }

        if(null !=  taskInstanceQueryParam.getClaimUserId()){
            query.addCriteria(Criteria.where(CLAIM_USER_ID).is(taskInstanceQueryParam.getClaimUserId()));
        }

        if(null !=  taskInstanceQueryParam.getTag()){
            query.addCriteria(Criteria.where(TAG).is(taskInstanceQueryParam.getTag()));
        }


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

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