licailing 4 سال پیش
والد
کامیت
ffa4eed342

+ 12 - 0
src/main/java/com/izouma/wenlvju/annotations/SearchableOne.java

@@ -0,0 +1,12 @@
+package com.izouma.wenlvju.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface SearchableOne {
+    boolean value() default true;
+}

+ 6 - 9
src/main/java/com/izouma/wenlvju/domain/Record.java

@@ -1,6 +1,7 @@
 package com.izouma.wenlvju.domain;
 
 import com.izouma.wenlvju.annotations.Searchable;
+import com.izouma.wenlvju.annotations.SearchableOne;
 import com.izouma.wenlvju.enums.RecordStatus;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -31,6 +32,7 @@ public class Record extends BaseEntity {
     @ApiModelProperty(value = "考级活动时间")
     private LocalDate examinationEndTime;
 
+    @SearchableOne
     @ApiModelProperty(value = "考级机构名称")
     private String examinationAgency;
 
@@ -38,6 +40,7 @@ public class Record extends BaseEntity {
     @ApiModelProperty(value = "单位类别")
     private String category;
 
+    @SearchableOne
     @ApiModelProperty(value = "承办单位名称")
     private String organizer;
 //    private Long organizationId;
@@ -85,8 +88,8 @@ public class Record extends BaseEntity {
     @ApiModelProperty(value = "考试简章")
     private String examinationGuide;
 
-    /*
-    考后备案
+    /**
+     *考后备案
      */
     @ApiModelProperty(value = "考试人数")
     private int numOfCandidates;
@@ -94,15 +97,9 @@ public class Record extends BaseEntity {
     @ApiModelProperty(value = "合格人数")
     private int numOfQualified;
 
-//    @ApiModelProperty(value = "法人姓名")
-//    private String privacyPolicy;
-//
-//    @ApiModelProperty(value = "证件号码")
-//    private String IDNo;
-//
     @ApiModelProperty(value = "监管人员")
     private Long supervisorUserId;
-//
+
 //    @ApiModelProperty(value = "监管状态")
 //    @Enumerated(EnumType.STRING)
 //    private RegulatoryStatus regulatoryStatus;

+ 0 - 10
src/main/java/com/izouma/wenlvju/service/ArtTypeService.java

@@ -21,16 +21,6 @@ public class ArtTypeService {
         return artTypeRepo.findAll(JpaUtils.toSpecification(pageQuery, ArtType.class), JpaUtils.toPageRequest(pageQuery));
     }
 
-//    public Page<ArtTypeDTO> all2(PageQuery pageQuery) {
-//        Map<String, Object> query = pageQuery.getQuery();
-//        query.put("level", 3);
-//        Page<ArtType> all = artTypeRepo.findAll(JpaUtils.toSpecification(pageQuery, ArtType.class), JpaUtils.toPageRequest(pageQuery));
-//        Map<Long, ArtType> artTypeMap = artTypeRepo.findAllByLevelIsNot(3)
-//                .stream()
-//                .collect(Collectors.toMap(ArtType::getId, artType -> artType));
-//        return null;
-//    }
-
     public List<ArtType> getTree(List<?> list1) {
         String s = JSON.toJSONString(list1);
         List<ArtType> list = JSON.parseArray(s, ArtType.class);

+ 4 - 4
src/main/java/com/izouma/wenlvju/service/RateService.java

@@ -374,7 +374,7 @@ public class RateService {
         AtomicInteger num = new AtomicInteger(1);
         urls.forEach(privacy -> {
             num.getAndIncrement();
-            if (getSuffix(privacy).equals("doc") || getSuffix(privacy).equals("docx")) {
+            if ("doc".equals(getSuffix(privacy)) || "docx".equals(getSuffix(privacy))) {
                 InputStream is1 = HttpRequest.get(privacy)
                         .stream();
                 InputStream stream = HttpRequest.post("http://convert.izouma.com/word2pdf")
@@ -382,7 +382,7 @@ public class RateService {
                         .part("file", "审核材料.docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", is1)
                         .stream();
                 files.add(stream);
-            } else if (getSuffix(privacy).equals("pdf")) {
+            } else if ("pdf".equals(getSuffix(privacy))) {
                 InputStream stream = HttpRequest.get(privacy).stream();
                 files.add(stream);
             }
@@ -410,14 +410,14 @@ public class RateService {
         urls.forEach(privacy -> {
             num.getAndIncrement();
             File file1 = new File("/Users/qiufangchao/Desktop/" + filename + num + ".pdf");
-            if (getSuffix(privacy).equals("doc") || getSuffix(privacy).equals("docx")) {
+            if ("doc".equals(getSuffix(privacy)) || "docx".equals(getSuffix(privacy))) {
                 InputStream is1 = HttpRequest.get(privacy).stream();
                 HttpRequest.post("http://convert.izouma.com/word2pdf")
                         .accept("*/*")
                         .part("file", "审核材料.docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", is1)
                         .receive(file1);
                 files.add(file1);
-            } else if (getSuffix(privacy).equals("pdf")) {
+            } else if ("pdf".equals(getSuffix(privacy))) {
                 HttpRequest.get(privacy).receive(file1);
                 files.add(file1);
             }

+ 0 - 22
src/main/java/com/izouma/wenlvju/service/RecordService.java

@@ -32,19 +32,6 @@ public class RecordService {
 
     public Page<Record> all2(PageQuery pageQuery) {
         Map<String, Object> query = pageQuery.getQuery();
-        Object agency = query.get("examinationAgency");
-        String examinationAgency = null;
-        if (agency != null) {
-            examinationAgency = String.valueOf(agency);
-            query.remove("examinationAgency");
-        }
-
-        Object organizer1 = query.get("organizer");
-        String organizer = null;
-        if (organizer1 != null) {
-            organizer = String.valueOf(organizer1);
-            query.remove("organizer");
-        }
 
         Object examinationTime = query.get("examinationTime");
         LocalDate date = null;
@@ -53,18 +40,9 @@ public class RecordService {
             query.remove("examinationTime");
         }
 
-
-        String finalAgency = examinationAgency;
-        String finalOrganizer = organizer;
         LocalDate finalDate = date;
         return recordRepo.findAll((root, criteriaQuery, criteriaBuilder) -> {
             List<Predicate> and = JpaUtils.toPredicates(pageQuery, Record.class, root, criteriaQuery, criteriaBuilder);
-            if (StringUtil.isNotBlank(finalAgency)) {
-                and.add(criteriaBuilder.like(root.get("examinationAgency"), "%" + finalAgency + "%"));
-            }
-            if (StringUtil.isNotBlank(finalOrganizer)) {
-                and.add(criteriaBuilder.like(root.get("organizer"), "%" + finalOrganizer + "%"));
-            }
             if (ObjectUtil.isNotEmpty(finalDate)) {
                 and.add(criteriaBuilder.lessThanOrEqualTo(root.get("examinationStartTime"), finalDate));
                 and.add(criteriaBuilder.greaterThanOrEqualTo(root.get("examinationEndTime"), finalDate));

+ 1 - 1
src/main/java/com/izouma/wenlvju/service/SysConfigService.java

@@ -41,7 +41,7 @@ public class SysConfigService {
     public boolean getBoolean(String name) {
         String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
                 .orElseThrow(new BusinessException("配置不存在"));
-        return str.equals("1");
+        return "1".equals(str);
     }
 
     @Cacheable("SysConfigServiceGetInt")

+ 7 - 0
src/main/java/com/izouma/wenlvju/utils/JpaUtils.java

@@ -1,6 +1,7 @@
 package com.izouma.wenlvju.utils;
 
 import com.izouma.wenlvju.annotations.Searchable;
+import com.izouma.wenlvju.annotations.SearchableOne;
 import com.izouma.wenlvju.dto.PageQuery;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -134,6 +135,12 @@ public class JpaUtils {
                     and.add(criteriaBuilder.and(criteriaBuilder.equal(root.get(property), DateTimeUtils
                             .toLocalDate((String) value, "yyyy-MM-dd"))));
                 }
+            } else if (String.class == fieldType) {
+                SearchableOne annotation = field.getAnnotation(SearchableOne.class);
+                if (annotation != null && annotation.value()) {
+                    and.add(criteriaBuilder.like(root.get(field.getName()), "%" + value + "%"));
+                }
+
             } else {
                 and.add(criteriaBuilder.and(criteriaBuilder.equal(root.get(property), value)));
             }