src/main/java/com/product/lucene/config/CmnConst.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/product/lucene/config/SystemCode.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/product/lucene/controller/SearchTermController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/product/lucene/service/SearchTermService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/product/lucene/config/CmnConst.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ package com.product.lucene.config; public class CmnConst { public static final String PRODUCT_SYS_DOCUMENT_SEARCH_CONTENT = "product_sys_document_search_content"; public static final String PRODUCT_SYS_DOCUMENT_SEARCH = "product_sys_document_search"; public static final String PRODUCT_SYS_ATTACHMENTS="product_sys_attachments"; public static final String TABLE_NAME="table_name"; public static final String ATTACHMENT_UUID="attachment_uuid"; public static final String FILE_NAME="file_name"; public static final String FILE_CONTENT="file_content"; public static final String ORG_FIELDS="org_fileds"; public static final String USER_FIELDS="user_fileds"; public static final String TIME_FIELD="time_field"; public static final String TITLE_FIELD="title_field"; public static final String ATTACHMENT_DATA_FIELD="attachment_data_field"; public static final String ATTACHMENT_DATA_TABLE="attachment_data_table"; public static final String SEARCH_KEY="search_key"; public static final String SEARCH_KEYWORD="search_keyword"; public static final String SEARCH_HISTORY="search_history"; public static final String SEARCH_CONTENT="search_content"; public static final String CONTENT_TYPE="content_type"; public static final String TITLE="title"; public static final String IS_PERSSION="is_perssion"; public static final String SERVICE_UUID="service_uuid"; public static final String DATE_TIME="date_time"; public static final String TOTALCOUNT="totalCount"; public static final String DATA="data"; public static final String HIGHLIGHT_BEFORE="<span style='color:red'>"; public static final String HIGHLIGHT_AFTER="</span>"; } src/main/java/com/product/lucene/config/SystemCode.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package com.product.lucene.config; import com.product.common.enums.IEnum; import com.product.common.enums.ModuleEnum; public enum SystemCode implements IEnum { ADD_SEARCH_CONTENT_EXIST("æ°å¢å¸¸ç¨è¯æ¡å·²åå¨", ModuleEnum.LUCENE.getValue() + "001"), DELETE_SEARCH_CENTENT_FAIL("å é¤æç´¢è¯æ¡å¤±è´¥", ModuleEnum.LUCENE.getValue() + "002"), ADD_SEARCH_CENTENT_FAIL("å é¤æç´¢è¯æ¡å¤±è´¥", ModuleEnum.LUCENE.getValue() + "003"), LIST_SEARCH_CENTENT_FAIL("å é¤æç´¢è¯æ¡å¤±è´¥", ModuleEnum.LUCENE.getValue() + "004"), ; private String text; private String value; private SystemCode(String text, String value) { this.text = text; this.value = value; } @Override public String getText() { return text; } @Override public String getValue() { return value; } } src/main/java/com/product/lucene/controller/SearchTermController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,88 @@ package com.product.lucene.controller; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.product.core.controller.support.AbstractBaseController; import com.product.core.entity.FieldSetEntity; import com.product.core.exception.BaseException; import com.product.lucene.config.CmnConst; import com.product.lucene.config.SystemCode; import com.product.lucene.service.SearchTermService; import com.product.module.sys.version.ApiVersion; import com.product.util.BaseUtil; import com.product.util.ResultInfo; @RequestMapping("/api/search-term") @RestController public class SearchTermController extends AbstractBaseController{ @Autowired SearchTermService searchTermService; /** * è·åæ£ç´¢è¯æ¡ï¼å¸¸ç¨è¯æ¡ååå²è®°å½ï¼ * @param request */ @RequestMapping("/list/{version}") @ApiVersion(1) public String listSearchTerm(HttpServletRequest request) { try { searchTermService.listSearchTerm(); return ResultInfo.success(searchTermService.listSearchTerm()); } catch (BaseException e) { e.printStackTrace(); return this.error(e.getCode(), e.getMessage()); } catch (Exception e) { e.printStackTrace(); return this.error(SystemCode.LIST_SEARCH_CENTENT_FAIL.getValue(), SystemCode.LIST_SEARCH_CENTENT_FAIL.getText()); } } /** * æ°å¢æ£ç´¢è¯æ¡ï¼å¸¸ç¨è¯æ¡ï¼ * @param request */ @RequestMapping("/add/{version}") @ApiVersion(1) public String addSearchTerm(HttpServletRequest request) { try { FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_SYS_DOCUMENT_SEARCH_CONTENT); return OK_Add(searchTermService.addSearchTerm(fse.getString(CmnConst.SEARCH_CONTENT), fse.getString(CmnConst.CONTENT_TYPE))); } catch (BaseException e) { e.printStackTrace(); return this.error(e.getCode(), e.getMessage()); } catch (Exception e) { e.printStackTrace(); return this.error(SystemCode.ADD_SEARCH_CENTENT_FAIL.getValue(), SystemCode.ADD_SEARCH_CENTENT_FAIL.getText()); } } /** * å 餿£ç´¢è¯æ¡ï¼å¸¸ç¨è¯æ¡ååå²è®°å½ï¼ * @param request */ @RequestMapping("/delete/{version}") @ApiVersion(1) public String deleteSearchTerm(HttpServletRequest request) { try { FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_SYS_DOCUMENT_SEARCH_CONTENT); searchTermService.deleteSearchTerm(fse.getUUID()); boolean succ = searchTermService.deleteSearchTerm(fse.getUUID()); if (succ) { return OK(); } throw new BaseException(SystemCode.DELETE_SEARCH_CENTENT_FAIL.getValue(), SystemCode.DELETE_SEARCH_CENTENT_FAIL.getText()); } catch (BaseException e) { e.printStackTrace(); return this.error(e.getCode(), e.getMessage()); } catch (Exception e) { e.printStackTrace(); return this.error(SystemCode.DELETE_SEARCH_CENTENT_FAIL.getValue(), SystemCode.DELETE_SEARCH_CENTENT_FAIL.getText()); } } } src/main/java/com/product/lucene/service/SearchTermService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,72 @@ package com.product.lucene.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.product.core.config.CoreConst; import com.product.core.dao.BaseDao; import com.product.core.entity.FieldSetEntity; import com.product.core.exception.BaseException; import com.product.core.service.support.AbstractBaseService; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.lucene.config.CmnConst; import com.product.lucene.config.SystemCode; import com.product.util.BaseUtil; import cn.hutool.json.JSONObject; @Component public class SearchTermService extends AbstractBaseService{ @Autowired BaseDao baseDao; /** * è·åæææç´¢è¯æ¡ * @return */ public JSONObject listSearchTerm() { JSONObject jsonReturn = new JSONObject(); jsonReturn.set(CmnConst.SEARCH_KEYWORD, BaseUtil.dataTableEntityToJson(baseDao.listTable(CmnConst.PRODUCT_SYS_DOCUMENT_SEARCH_CONTENT, "created_by=? AND content_type=0", new Object[] {SpringMVCContextHolder.getCurrentUserId()}))); jsonReturn.set(CmnConst.SEARCH_HISTORY, BaseUtil.dataTableEntityToJson(baseDao.listTable(CmnConst.PRODUCT_SYS_DOCUMENT_SEARCH_CONTENT, "created_by=? AND content_type=1", new Object[] {SpringMVCContextHolder.getCurrentUserId()}))); return jsonReturn; } /** * æ°å¢å¸¸ç¨æç´¢è¯æ¡ * @param searchContent * @param contentType * @return */ public String addSearchTerm(String searchContent, String contentType) { //æ¥è¯¢æ°æ®æ¯å¦åå¨ FieldSetEntity fseExist = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_DOCUMENT_SEARCH_CONTENT, "created_by=? AND search_content=? AND content_type=?", new Object[] {SpringMVCContextHolder.getCurrentUserId(), searchContent, contentType}, false); if ("0".equals(contentType) && fseExist!=null) { throw new BaseException(SystemCode.ADD_SEARCH_CONTENT_EXIST.getValue(), SystemCode.ADD_SEARCH_CONTENT_EXIST.getText()); } //æ°å¢ FieldSetEntity fseAddInfo = new FieldSetEntity(); fseAddInfo.setTableName(CmnConst.PRODUCT_SYS_DOCUMENT_SEARCH_CONTENT); if (fseExist!=null) { fseAddInfo.setValue(CoreConst.UUID, fseExist.getUUID()); } fseAddInfo.setValue(CmnConst.SEARCH_CONTENT, searchContent); fseAddInfo.setValue(CmnConst.CONTENT_TYPE, contentType); BaseUtil.createCreatorAndCreationTime(fseAddInfo); baseDao.saveFieldSetEntity(fseAddInfo); return fseAddInfo.getUUID(); } /** * å é¤å个æç´¢è¯æ¡ * @param uuid * @return */ public boolean deleteSearchTerm(String uuid) { return baseDao.delete(CmnConst.PRODUCT_SYS_DOCUMENT_SEARCH_CONTENT, "uuid=?", new Object[] {uuid}); } }