deason 7 жил өмнө
parent
commit
deb2a5820d

+ 10 - 0
src/main/java/cn/com/qmth/examcloud/app/config/AccessInterceptor.java

@@ -77,6 +77,16 @@ public class AccessInterceptor extends HandlerInterceptorAdapter {
                 params.append(values[0]);
             }
         }
+        /*try {
+            //将RequestBody中的参数转为JSON格式(注意:request.getInputStream()执行一次后则导致Controller再无法取到RequestBody值)
+            byte[] requestBody = StreamUtils.copyToByteArray(request.getInputStream());
+            JSONObject object = JSON.parseObject((new String(requestBody, "UTF-8")));
+            if (object != null) {
+                System.out.println(object.toJSONString());
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }*/
         return params.toString().replaceFirst("&", "?");
     }
 

+ 48 - 45
src/main/java/cn/com/qmth/examcloud/app/service/DeviceRecordService.java

@@ -40,52 +40,55 @@ public class DeviceRecordService {
     private DeviceRecordRepository deviceRecordRepository;
 
     public Result<Page<DeviceRecord>> getDeviceRecordList(DeviceRecord params, Integer pageNo, Integer pageSize) {
-        Specification<DeviceRecord> 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()));
+        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()));
+                    }
+                    if (StringUtils.isNotBlank(params.getDeviceId())) {
+                        predicates.add(builder.equal(root.get("deviceId"), params.getDeviceId()));
+                    }
+                    if (StringUtils.isNotBlank(params.getNetType())) {
+                        predicates.add(builder.equal(root.get("netType"), params.getNetType()));
+                    }
+                    if (StringUtils.isNotBlank(params.getBrand())) {
+                        predicates.add(builder.equal(root.get("brand"), params.getBrand()));
+                    }
+                    if (StringUtils.isNotBlank(params.getModel())) {
+                        predicates.add(builder.equal(root.get("model"), params.getModel()));
+                    }
+                    if (StringUtils.isNotBlank(params.getSysVersion())) {
+                        predicates.add(builder.equal(root.get("sysVersion"), params.getSysVersion()));
+                    }
+                    if (StringUtils.isNotBlank(params.getAppVersion())) {
+                        predicates.add(builder.equal(root.get("appVersion"), params.getAppVersion()));
+                    }
+                    if (StringUtils.isNotBlank(params.getAppCode())) {
+                        predicates.add(builder.equal(root.get("appCode"), params.getAppCode()));
+                    }
+                    if (StringUtils.isNotBlank(params.getPatchCode())) {
+                        predicates.add(builder.equal(root.get("patchCode"), params.getPatchCode()));
+                    }
+                    if (StringUtils.isNotBlank(params.getAccount())) {
+                        predicates.add(builder.equal(root.get("account"), params.getAccount()));
+                    }
+                    if (StringUtils.isNotBlank(params.getLoginKey())) {
+                        predicates.add(builder.equal(root.get("loginKey"), params.getLoginKey()));
+                    }
+                    if (StringUtils.isNotBlank(params.getLoginToken())) {
+                        predicates.add(builder.equal(root.get("loginToken"), params.getLoginToken()));
+                    }
+                    if (StringUtils.isNotBlank(params.getUrl())) {
+                        predicates.add(builder.like(root.get("url"), "%" + params.getUrl() + "%"));
+                    }
+                    return builder.and(predicates.toArray(new Predicate[predicates.size()]));
                 }
-                if (StringUtils.isNotBlank(params.getDeviceId())) {
-                    predicates.add(builder.equal(root.get("deviceId"), params.getDeviceId()));
-                }
-                if (StringUtils.isNotBlank(params.getNetType())) {
-                    predicates.add(builder.equal(root.get("netType"), params.getNetType()));
-                }
-                if (StringUtils.isNotBlank(params.getBrand())) {
-                    predicates.add(builder.equal(root.get("brand"), params.getBrand()));
-                }
-                if (StringUtils.isNotBlank(params.getModel())) {
-                    predicates.add(builder.equal(root.get("model"), params.getModel()));
-                }
-                if (StringUtils.isNotBlank(params.getSysVersion())) {
-                    predicates.add(builder.equal(root.get("sysVersion"), params.getSysVersion()));
-                }
-                if (StringUtils.isNotBlank(params.getAppVersion())) {
-                    predicates.add(builder.equal(root.get("appVersion"), params.getAppVersion()));
-                }
-                if (StringUtils.isNotBlank(params.getAppCode())) {
-                    predicates.add(builder.equal(root.get("appCode"), params.getAppCode()));
-                }
-                if (StringUtils.isNotBlank(params.getPatchCode())) {
-                    predicates.add(builder.equal(root.get("patchCode"), params.getPatchCode()));
-                }
-                if (StringUtils.isNotBlank(params.getAccount())) {
-                    predicates.add(builder.equal(root.get("account"), params.getAccount()));
-                }
-                if (StringUtils.isNotBlank(params.getLoginKey())) {
-                    predicates.add(builder.equal(root.get("loginKey"), params.getLoginKey()));
-                }
-                if (StringUtils.isNotBlank(params.getLoginToken())) {
-                    predicates.add(builder.equal(root.get("loginToken"), params.getLoginToken()));
-                }
-                if (StringUtils.isNotBlank(params.getUrl())) {
-                    predicates.add(builder.like(root.get("url"), "%" + params.getUrl() + "%"));
-                }
-                return builder.and(predicates.toArray(new Predicate[predicates.size()]));
-            }
-        };
+            };
+        }
         if (pageNo < 1) pageNo = 1;
         if (pageSize < 1) pageSize = 1;
         Sort sort = new Sort(new Sort.Order(Sort.Direction.DESC, "id"));