From 0bff140b40923f30c4388776eed40f258abcd396 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Mon, 4 Dec 2023 19:15:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E9=A2=98=E6=A3=80=E7=B4=A2=E5=8F=98?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LawsHomeSearchServiceImpl.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java index 2eb2d275..cf34b88d 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java @@ -161,7 +161,21 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardState()),"instr(concat(',',standard_state,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardState() + str,0); queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardCode()),"instr(concat(',',standard_code,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardCode() + str,0); queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getGradeClassification()),"instr(concat(',',grade_classification,','),concat(',','" + lawsHomeNormalSearchDTO.getGradeClassification() + str,0); - queryWrapper.orderByAsc("length(REPLACE(standard_name,'" + lawsHomeNormalSearchDTO.getSearchContent() + "',''))/length(standard_name)"); + StringBuilder order = new StringBuilder(); + for (int i = 0; i < searchContent.length; i++) { + if(i == 0){ + order.append("("); + } + order.append("length(REPLACE(standard_name,'").append(searchContent[i]).append("',''))"); + if(i != searchContent.length - 1){ + order.append(" + "); + } + if(i == searchContent.length - 1){ + order.append(")"); + } + } + + queryWrapper.orderByAsc(order + "/length(standard_name)"); queryWrapper.orderByAsc("standard_type_order"); queryWrapper.orderByAsc("standard_state_order"); queryWrapper.orderByDesc(IMPLEMENTATION_DATE);