protected Specification<AitpModel> createSpecification(AitpModelCriteria criteria) {
Specification<AitpModel> specification = new Specification<AitpModel>() {
@Override
public Predicate toPredicate(Root<AitpModel> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
List<Predicate> list = new ArrayList<Predicate>();
if (null!=criteria.getModelType()){
String modelType = criteria.getModelType().getEquals();
if (!StringUtils.isEmpty(modelType)) {
if (modelType.contains(",")) { // in查询
String[] ids = modelType.split(",");
CriteriaBuilder.In<Object> in = criteriaBuilder.in(root.get("modelType"));
for (int i = 0; i < ids.length; i++) {
in.value(ids[i]);
}
list.add(in);
} else { // 普通查询
list.add(criteriaBuilder.equal(root.get("modelType").as(String.class), modelType));
}
}
}
return criteriaBuilder.and(list.toArray(new Predicate[list.size()]));
}
};
if (criteria != null) {
if (criteria.getId() != null) {
specification = specification.and(buildRangeSpecification(criteria.getId(), AitpModel_.id));
}
if (criteria.getUserId() != null) {
specification = specification.and(buildRangeSpecification(criteria.getUserId(), AitpModel_.userId));
}
if (criteria.getPicCover() != null) {
specification = specification.and(buildStringSpecification(criteria.getPicCover(), AitpModel_.picCover));
}
if (criteria.getModelName() != null) {
specification = specification.and(buildStringSpecification(criteria.getModelName(), AitpModel_.modelName));
}
// if (criteria.getModelType() != null) {
// specification = specification.and(buildStringSpecification(criteria.getModelType(), AitpModel_.modelType));
// }
if (criteria.getLanguage() != null) {
specification = specification.and(buildStringSpecification(criteria.getLanguage(), AitpModel_.language));
}
if (criteria.getFramework() != null) {
specification = specification.and(buildStringSpecification(criteria.getFramework(), AitpModel_.framework));
}
if (criteria.getType() != null) {
specification = specification.and(buildStringSpecification(criteria.getType(), AitpModel_.type));
}
if (criteria.getScope() != null) {
specification = specification.and(buildStringSpecification(criteria.getScope(), AitpModel_.scope));
}
if (criteria.getModelVersion() != null) {
specification = specification.and(buildStringSpecification(criteria.getModelVersion(), AitpModel_.modelVersion));
}
if (criteria.getModelUseInstructions() != null) {
specification = specification.and(buildStringSpecification(criteria.getModelUseInstructions(), AitpModel_.modelUseInstructions));
}
if (criteria.getOutputPath() != null) {
specification = specification.and(buildStringSpecification(criteria.getOutputPath(), AitpModel_.outputPath));
}
if (criteria.getCreateWay() != null) {
specification = specification.and(buildStringSpecification(criteria.getCreateWay(), AitpModel_.createWay));
}
if (criteria.getProjectId() != null) {
specification = specification.and(buildRangeSpecification(criteria.getProjectId(), AitpModel_.projectId));
}
if (criteria.getJobId() != null) {
specification = specification.and(buildRangeSpecification(criteria.getJobId(), AitpModel_.jobId));
}
if (criteria.getFilePath() != null) {
specification = specification.and(buildStringSpecification(criteria.getFilePath(), AitpModel_.filePath));
}
if (criteria.getAccuracy() != null) {
specification = specification.and(buildStringSpecification(criteria.getAccuracy(), AitpModel_.accuracy));
}
if (criteria.getModelFormat() != null) {
specification = specification.and(buildStringSpecification(criteria.getModelFormat(), AitpModel_.modelFormat));
}
if (criteria.getModelLabelType() != null) {
specification = specification.and(buildStringSpecification(criteria.getModelLabelType(), AitpModel_.modelLabelType));
}
if (criteria.getDelFlag() != null) {
specification = specification.and(buildStringSpecification(criteria.getDelFlag(), AitpModel_.delFlag));
}
if (criteria.getRemark() != null) {
specification = specification.and(buildStringSpecification(criteria.getRemark(), AitpModel_.remark));
}
if (criteria.getCreateBy() != null) {
specification = specification.and(buildStringSpecification(criteria.getCreateBy(), AitpModel_.createBy));
}
if (criteria.getCreateTime() != null) {
specification = specification.and(buildRangeSpecification(criteria.getCreateTime(), AitpModel_.createTime));
}
if (criteria.getUpdateBy() != null) {
specification = specification.and(buildStringSpecification(criteria.getUpdateBy(), AitpModel_.updateBy));
}
if (criteria.getUpdateTime() != null) {
specification = specification.and(buildRangeSpecification(criteria.getUpdateTime(), AitpModel_.updateTime));
}
if (criteria.getOrganizationId() != null) {
specification = specification.and(buildRangeSpecification(criteria.getOrganizationId(), AitpModel_.organizationId));
}
}
return specification;
}
版权属于:
abdulla1992
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
评论 (0)