|
@@ -25,10 +25,7 @@ import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.util.Assert;
|
|
import org.springframework.util.Assert;
|
|
|
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
import javax.persistence.criteria.Predicate;
|
|
import javax.persistence.criteria.Predicate;
|
|
-import javax.persistence.criteria.Root;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
@@ -47,60 +44,55 @@ public class DeviceRecordServiceImpl implements DeviceRecordService {
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
@Override
|
|
@Override
|
|
public Result<Page<DeviceRecord>> getDeviceRecordList(DeviceRecordQuery params) throws Exception {
|
|
public Result<Page<DeviceRecord>> getDeviceRecordList(DeviceRecordQuery params) throws Exception {
|
|
- Specification<DeviceRecord> spec = null;
|
|
|
|
- if (params != null) {
|
|
|
|
- spec = new Specification<DeviceRecord>() {
|
|
|
|
- @Override
|
|
|
|
- public Predicate toPredicate(Root<DeviceRecord> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
|
- List<Predicate> predicates = new ArrayList<>();
|
|
|
|
- if (StringUtils.isNotBlank(params.getSystem())) {
|
|
|
|
- predicates.add(builder.equal(root.get("system"), params.getSystem().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getDeviceId())) {
|
|
|
|
- predicates.add(builder.equal(root.get("deviceId"), params.getDeviceId().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getNetType())) {
|
|
|
|
- predicates.add(builder.equal(root.get("netType"), params.getNetType().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getBrand())) {
|
|
|
|
- predicates.add(builder.equal(root.get("brand"), params.getBrand().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getModel())) {
|
|
|
|
- predicates.add(builder.equal(root.get("model"), params.getModel().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getSysVersion())) {
|
|
|
|
- predicates.add(builder.equal(root.get("sysVersion"), params.getSysVersion().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getAppVersion())) {
|
|
|
|
- predicates.add(builder.equal(root.get("appVersion"), params.getAppVersion().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getAppCode())) {
|
|
|
|
- predicates.add(builder.equal(root.get("appCode"), params.getAppCode().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getPatchCode())) {
|
|
|
|
- predicates.add(builder.equal(root.get("patchCode"), params.getPatchCode().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getAccount())) {
|
|
|
|
- predicates.add(builder.equal(root.get("account"), params.getAccount().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getLoginKey())) {
|
|
|
|
- predicates.add(builder.equal(root.get("loginKey"), params.getLoginKey().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getLoginToken())) {
|
|
|
|
- predicates.add(builder.equal(root.get("loginToken"), params.getLoginToken().trim()));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getUrl())) {
|
|
|
|
- predicates.add(builder.like(root.get("url"), "%" + params.getUrl().trim() + "%"));
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(params.getIp())) {
|
|
|
|
- predicates.add(builder.equal(root.get("ip"), params.getIp().trim()));
|
|
|
|
- }
|
|
|
|
- return builder.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
|
|
+ Specification<DeviceRecord> spec = (Specification<DeviceRecord>) (root, query, builder) -> {
|
|
|
|
+ List<Predicate> predicates = new ArrayList<>();
|
|
|
|
+ if (StringUtils.isNotBlank(params.getSystem())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("system"), params.getSystem().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getDeviceId())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("deviceId"), params.getDeviceId().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getNetType())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("netType"), params.getNetType().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getBrand())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("brand"), params.getBrand().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getModel())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("model"), params.getModel().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getSysVersion())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("sysVersion"), params.getSysVersion().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getAppVersion())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("appVersion"), params.getAppVersion().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getAppCode())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("appCode"), params.getAppCode().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getPatchCode())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("patchCode"), params.getPatchCode().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getAccount())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("account"), params.getAccount().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getLoginKey())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("loginKey"), params.getLoginKey().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getLoginToken())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("loginToken"), params.getLoginToken().trim()));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getUrl())) {
|
|
|
|
+ predicates.add(builder.like(root.get("url"), "%" + params.getUrl().trim() + "%"));
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(params.getIp())) {
|
|
|
|
+ predicates.add(builder.equal(root.get("ip"), params.getIp().trim()));
|
|
|
|
+ }
|
|
|
|
+ return builder.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
|
|
+ };
|
|
|
|
+
|
|
Sort sort = new Sort(Sort.Direction.DESC, "id");
|
|
Sort sort = new Sort(Sort.Direction.DESC, "id");
|
|
- Pageable pageable = new PageRequest(params.getPageNo() - 1, params.getPageSize(), sort);
|
|
|
|
|
|
+ Pageable pageable = PageRequest.of(params.getPageNo() - 1, params.getPageSize(), sort);
|
|
Page<DeviceRecord> page = deviceRecordRepository.findAll(spec, pageable);
|
|
Page<DeviceRecord> page = deviceRecordRepository.findAll(spec, pageable);
|
|
return new Result<>().success(page);
|
|
return new Result<>().success(page);
|
|
}
|
|
}
|