From 0437d94266301b6302efc54d947c6aee78a0313a Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 9 Jun 2022 13:41:29 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20Es?= =?UTF-8?q?=20=E6=A0=87=E9=A2=98=E6=A3=80=E7=B4=A2=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=A0=87=E4=BA=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SearchCenterServiceImpl.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index 05b5f948..35aa18cd 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -1369,6 +1369,10 @@ public class SearchCenterServiceImpl implements SearchCenterService { .should(QueryBuilders.wildcardQuery("yearOrder.keyword", searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1003f)) .should(QueryBuilders.wildcardQuery("nameTitle.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1002f)) .should(QueryBuilders.wildcardQuery("title.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f)); +// queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), +// "sortTitle","numberTitle","yearOrder","nameTitle","title" +// ).field("sortTitle",1005f).field("numberTitle",1004f).field("yearOrder",1003f).field("nameTitle",1002f).field("title",1000f); + // queryBuilder1 = QueryBuilders.wildcardQuery("title.keyword","*" + searchInfoEO.getSelectValue() + "*"); // queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), // "title" @@ -1452,7 +1456,9 @@ public class SearchCenterServiceImpl implements SearchCenterService { //高亮标题覆盖原标题 String titleStr = sourceAsMap.get("title").toString(); - titleStr = titleStr.replace(searchInfoEO.getSelectValue(),""+searchInfoEO.getSelectValue()+""); + int i = indexOfToKMP(titleStr.toUpperCase(), searchInfoEO.getSelectValue().toUpperCase(), 0, getNextValInstance()); + String selectValue = titleStr.substring(i,i+searchInfoEO.getSelectValue().length()); + titleStr = titleStr.replace(selectValue,""+selectValue+""); if(StringUtils.isNotBlank(textStatusColor)){ sourceAsMap.put("title", ""+titleStr+""); }else { @@ -1481,8 +1487,16 @@ public class SearchCenterServiceImpl implements SearchCenterService { return result; } + public static void main(String[] args) { + String str = "GB B005-2022 啊啊啊啊啊"; + String str1 = "B005"; + int i = indexOfToKMP(str, str1, 0, getNextValInstance()); + System.out.println(i); + + } + // 改进版的nextVal数组 - public NextArray getNextValInstance() { + public static NextArray getNextValInstance() { return target -> { // 初始化数组大小 int[] nextVal = new int[target.length()]; @@ -1518,7 +1532,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { * @param nextArray 函数式接口,传入获取next数组的方法(因为next数组上面定义了两种获取方式) * @return 目标字符串在源字符串中第一次出现的索引位置 */ - public int indexOfToKMP(String source, String target, int pos, NextArray nextArray) { + public static int indexOfToKMP(String source, String target, int pos, NextArray nextArray) { int i, j; // 调用接口中的方法,获取next数组 int[] next = nextArray.getNext(target); From 0508232730819989e644873ee3b217dc622ada76 Mon Sep 17 00:00:00 2001 From: qk <1005180704@qq。com> Date: Thu, 9 Jun 2022 14:03:21 +0800 Subject: [PATCH 2/2] =?UTF-8?q?update:=E4=BF=AE=E6=94=B9=E6=A0=87=E5=87=86?= =?UTF-8?q?=E9=97=AE=E7=AD=94bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReplyController.java | 17 +++++++++++++---- .../askQuestions/AskQuestionsMapper.xml | 19 +++++++++++-------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java index 890b2373..cb0f083f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java @@ -10,6 +10,7 @@ import com.adc.da.util.http.Result; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import io.swagger.annotations.Api; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -37,18 +38,26 @@ public class ReplyController extends BaseController { @PostMapping("/insertReply") public ResponseMessage insertReply(@RequestBody Reply reply){ - reply.setAppendixId(reply.getFileList().get(0).getAttId()); - reply.setAppendixName(reply.getFileList().get(0).getName()); + if(StringUtils.isEmpty(reply.getReply())){ + return Result.error("-1","请输入回答内容"); + } + if(reply.getFileList().size() >0) { + reply.setAppendixId(reply.getFileList().get(0).getAttId()); + reply.setAppendixName(reply.getFileList().get(0).getName()); + } reply.setReplyTime(new Date()); reply.setId(UUIDUtils.randomUUID20()); if(replyService.save(reply)){ - return Result.success("200","添加成功"); + return Result.success("200","提交成功"); }else { - return Result.error("200","添加失败"); + return Result.error("-1","添加失败"); } } @PostMapping("/updateReply") public ResponseMessage updateReply(String id){ + if(StringUtils.isEmpty(id)){ + return Result.error("-1","请选择要归档的回答"); + } List list = Arrays.asList(id.split(",")); for (String s: list) { UpdateWrapper updateWrapper = new UpdateWrapper(); diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/askQuestions/AskQuestionsMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/askQuestions/AskQuestionsMapper.xml index de6fc060..b3165110 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/askQuestions/AskQuestionsMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/askQuestions/AskQuestionsMapper.xml @@ -68,17 +68,20 @@ SELECT reply.ID, reply.REPLY,reply.REPLY_TIME,t2.UNAME ANSWERER,reply.APPENDIX_ID,APPENDIX_NAME FROM reply LEFT JOIN ts_user t2 ON t2.USID = reply.ANSWERER - - - AND reply.ASK_ID = #{id} - - + + + AND reply.ASK_ID = #{id} + + + order by reply.REPLY_TIME +