# vue_shop **Repository Path**: di_deng/vue_shop ## Basic Information - **Project Name**: vue_shop - **Description**: No description available - **Primary Language**: Java - **License**: MulanPSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-20 - **Last Updated**: 2020-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ``` @Override public Object findResult(UserSearch userSearch) { userSearchMapper.insertSelective(userSearch); /*先精确查询返回结果 */ List extensionKeywordByTypeOne = getExtensionKeywordByTypeOne(userSearch); /*再模糊查询返回结果*/ List extensionKeywordByAll = getExtensionKeywordByAll(userSearch); extensionKeywordByAll.addAll(extensionKeywordByTypeOne); ArrayList id = new ArrayList<>(); /*去重*/ List extensionKeyList = extensionKeywordByAll.stream().filter(// 过滤去重 v -> { boolean flag = !id.contains(v.getCreativityId()); id.add(v.getName()); return flag; } ).collect(Collectors.toList()); /*排序 */ Collections.sort(extensionKeyList, (o1, o2) -> o2.getUnitPrice().compareTo(o1.getUnitPrice())); for (ExtensionKeyword extensionKeyword : extensionKeyList) { extensionKeyword.setExtensionCreativity(extensionCreativityMapper.selectByPrimaryKey(extensionKeyword.getCreativityId())); } return extensionKeyList; } /** * 精确查询返回结果 */ public List getExtensionKeywordByTypeOne(UserSearch userSearch) { List extensionKeywordList = new ArrayList<>(); ExtensionKeyword extensionKeyword = new ExtensionKeyword(); extensionKeyword.setTrainId(userSearch.getTrainId()); extensionKeyword.setName(userSearch.getName()); extensionKeyword.setType(1); extensionKeyword.setMatchingWay(2); /**关键字匹配结果 */ List list = extensionKeywordMapper.findExtensionKeyword(extensionKeyword); /**否定关键字匹配结果*/ extensionKeyword.setType(2); List extensionKeywords = extensionKeywordMapper.findExtensionKeyword(extensionKeyword); /**清除匹配到的否定关键字 */ for (ExtensionKeyword keyword : extensionKeywords) { boolean flag = true; int j = 0; for (int i = 0; i < list.size(); i++) { if (flag) { if (keyword.getId().equals(list.get(0).getId())) { flag = false; } } } if (flag) { extensionKeywordList.add(list.get(j)); } } return extensionKeywordList; } /** * 模糊查询返回结果 */ public List getExtensionKeywordByAll(UserSearch userSearch) { /** * 根据传入的文字截取进行模糊查询匹配 */ /**定义结果集*/ List list = new ArrayList<>(); ExtensionKeyword extensionKeyword = new ExtensionKeyword(); extensionKeyword.setType(1); extensionKeyword.setMatchingWay(1); extensionKeyword.setTrainId(userSearch.getTrainId()); String name = userSearch.getName(); /**正序查询*/ for (int i = 1; i < name.length(); i++) { extensionKeyword.setName(name.substring(0, i)); list.addAll(extensionKeywordMapper.findLikeName(extensionKeyword)); extensionKeyword.setName(name.substring(i)); list.addAll(extensionKeywordMapper.findLikeName(extensionKeyword)); } return list; } ```