commit
437ad87adc
stdiet-admin/src/main
filters
java/com/stdiet/web/controller/custom
stdiet-custom/src/main
java/com/stdiet/custom
resources/mapper/custom
stdiet-framework/src/main/java/com/stdiet/framework/config
@ -181,4 +181,8 @@ aliyun:
|
||||
Buckets: stdiet
|
||||
EndPoint: https://oss-cn-shenzhen.aliyuncs.com
|
||||
#案例文件夹路径
|
||||
casePrefix: case/
|
||||
casePrefix: case/
|
||||
|
||||
lucene:
|
||||
index:
|
||||
nutritionQuestion: /home/api/manage.shengtangdiet.com/test/uploadPath/nutritionQuestion
|
@ -19,7 +19,7 @@ stdiet:
|
||||
# 开发环境配置
|
||||
server:
|
||||
# 服务器的HTTP端口,默认为8080
|
||||
port: 8090
|
||||
port: 8091
|
||||
servlet:
|
||||
# 应用的访问路径
|
||||
context-path: /
|
||||
@ -184,3 +184,7 @@ aliyun:
|
||||
#案例文件夹路径
|
||||
casePrefix: case/
|
||||
|
||||
lucene:
|
||||
index:
|
||||
nutritionQuestion: D:\develop\LuceneIndex\nutritionQuestion
|
||||
|
||||
|
@ -181,4 +181,8 @@ aliyun:
|
||||
Buckets: stdiet
|
||||
EndPoint: https://oss-cn-shenzhen.aliyuncs.com
|
||||
#案例文件夹路径
|
||||
casePrefix: case/
|
||||
casePrefix: case/
|
||||
|
||||
lucene:
|
||||
index:
|
||||
nutritionQuestion: /home/api/manage.shengtangdiet.com/uploadPath/nutritionQuestion
|
@ -100,4 +100,14 @@ public class SysNutritionQuestionController extends BaseController
|
||||
{
|
||||
return toAjax(sysNutritionQuestionService.deleteSysNutritionQuestionByIds(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新生成知识问答索引
|
||||
*/
|
||||
@Log(title = "重新生成知识问答索引", businessType = BusinessType.UPDATE)
|
||||
@GetMapping("/regenerateNutritionQuestionIndex")
|
||||
public AjaxResult regenerateNutritionQuestionIndex()
|
||||
{
|
||||
return toAjax(sysNutritionQuestionService.regenerateNutritionQuestionIndex() ? 1 : 0);
|
||||
}
|
||||
}
|
@ -14,10 +14,7 @@ import com.stdiet.common.utils.sign.AesUtils;
|
||||
import com.stdiet.custom.domain.*;
|
||||
import com.stdiet.custom.dto.response.CustomerCaseResponse;
|
||||
import com.stdiet.custom.page.WxLogInfo;
|
||||
import com.stdiet.custom.service.ISysCustomerCaseService;
|
||||
import com.stdiet.custom.service.ISysOrderService;
|
||||
import com.stdiet.custom.service.ISysWxUserInfoService;
|
||||
import com.stdiet.custom.service.ISysWxUserLogService;
|
||||
import com.stdiet.custom.service.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -47,6 +44,9 @@ public class WechatAppletController extends BaseController {
|
||||
@Autowired
|
||||
private ISysOrderService sysOrderService;
|
||||
|
||||
@Autowired
|
||||
private ISysNutritionQuestionService sysNutritionQuestionService;
|
||||
|
||||
/**
|
||||
* 查询微信小程序中展示的客户案例
|
||||
*/
|
||||
@ -283,4 +283,13 @@ public class WechatAppletController extends BaseController {
|
||||
return AjaxResult.error("文件上传失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取微信用户记录详细信息
|
||||
*/
|
||||
@GetMapping(value = "/getNutritionQuestionList")
|
||||
public AjaxResult getNutritionQuestionList(SysNutritionQuestion sysNutritionQuestion, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10")int pageSize) {
|
||||
Map<String,Object> result = sysNutritionQuestionService.getNutritionQuestionListByKey(sysNutritionQuestion, pageNum, pageSize);
|
||||
return AjaxResult.success(result);
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ public class NutritionQuestionResponse implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** $column.columnComment */
|
||||
private Long id;
|
||||
private String id;
|
||||
|
||||
/** 标题 */
|
||||
@Excel(name = "标题")
|
||||
|
@ -2,6 +2,7 @@ package com.stdiet.custom.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.stdiet.custom.domain.SysNutritionQuestion;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 营养知识小问答Mapper接口
|
||||
@ -64,4 +65,18 @@ public interface SysNutritionQuestionMapper
|
||||
* @return
|
||||
*/
|
||||
public List<String> getNutritionQuestionListByKey(SysNutritionQuestion sysNutritionQuestion);
|
||||
|
||||
/**
|
||||
* 查询总数
|
||||
* @return
|
||||
*/
|
||||
public int getNutritionQuestionCount();
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param start
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
public List<SysNutritionQuestion> getNutritionQuestionListByPage(@Param("start")int start, @Param("pageSize")int pageSize);
|
||||
}
|
@ -1,10 +1,13 @@
|
||||
package com.stdiet.custom.mapper;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import com.stdiet.custom.domain.SysRecipesPlan;
|
||||
import com.stdiet.custom.domain.SysRecipesPlanListInfo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import javax.xml.crypto.Data;
|
||||
|
||||
/**
|
||||
* 食谱计划Mapper接口
|
||||
*
|
||||
@ -87,7 +90,7 @@ public interface SysRecipesPlanMapper
|
||||
* @param customerId
|
||||
* @return
|
||||
*/
|
||||
SysRecipesPlan getLastDayRecipesPlan(@Param("customerId")Long customerId, @Param("orderId")Long orderId);
|
||||
SysRecipesPlan getLastDayRecipesPlan(@Param("customerId")Long customerId, @Param("orderTime") Date orderTime);
|
||||
|
||||
/**
|
||||
* 根据订单ID查询食谱计划
|
||||
|
@ -67,4 +67,10 @@ public interface ISysNutritionQuestionService
|
||||
*/
|
||||
public Map<String, Object> getNutritionQuestionListByKey(SysNutritionQuestion sysNutritionQuestion, int pageNum, int pageSize);
|
||||
|
||||
/**
|
||||
* 重新生成知识问答索引
|
||||
* @return
|
||||
*/
|
||||
public boolean regenerateNutritionQuestionIndex();
|
||||
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package com.stdiet.custom.service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.stdiet.custom.domain.SysRecipesPlan;
|
||||
@ -102,7 +103,7 @@ public interface ISysRecipesPlanService
|
||||
* @param customerId
|
||||
* @return
|
||||
*/
|
||||
SysRecipesPlan getLastDayRecipesPlan(Long customerId, Long orderId);
|
||||
SysRecipesPlan getLastDayRecipesPlan(Long customerId, Date orderTime);
|
||||
|
||||
/**
|
||||
* 通过outId查询食谱计划简要
|
||||
|
@ -7,11 +7,13 @@ import java.util.Map;
|
||||
|
||||
import com.stdiet.common.utils.DateUtils;
|
||||
import com.stdiet.common.utils.reflect.ReflectUtils;
|
||||
import com.stdiet.custom.dto.response.NutritionQuestionResponse;
|
||||
import com.stdiet.custom.utils.LuceneIndexUtils;
|
||||
import org.apache.lucene.document.Document;
|
||||
import org.apache.lucene.document.Field;
|
||||
import org.apache.lucene.document.TextField;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.stdiet.custom.mapper.SysNutritionQuestionMapper;
|
||||
import com.stdiet.custom.domain.SysNutritionQuestion;
|
||||
@ -29,7 +31,8 @@ public class SysNutritionQuestionServiceImpl implements ISysNutritionQuestionSer
|
||||
@Autowired
|
||||
private SysNutritionQuestionMapper sysNutritionQuestionMapper;
|
||||
|
||||
public static final String index_path = "D:\\develop\\LuceneIndex\\nutritionQuestion";
|
||||
@Value("${lucene.index.nutritionQuestion}")
|
||||
public String index_path;
|
||||
//private static final String index_path = "";
|
||||
|
||||
//建立索引的字段名称
|
||||
@ -85,7 +88,10 @@ public class SysNutritionQuestionServiceImpl implements ISysNutritionQuestionSer
|
||||
public int updateSysNutritionQuestion(SysNutritionQuestion sysNutritionQuestion)
|
||||
{
|
||||
sysNutritionQuestion.setUpdateTime(DateUtils.getNowDate());
|
||||
return sysNutritionQuestionMapper.updateSysNutritionQuestion(sysNutritionQuestion);
|
||||
if(sysNutritionQuestionMapper.updateSysNutritionQuestion(sysNutritionQuestion) > 0){
|
||||
return updateNutritionQuestionIndex(sysNutritionQuestion) ? 1 : 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -97,7 +103,17 @@ public class SysNutritionQuestionServiceImpl implements ISysNutritionQuestionSer
|
||||
@Override
|
||||
public int deleteSysNutritionQuestionByIds(Long[] ids)
|
||||
{
|
||||
return sysNutritionQuestionMapper.deleteSysNutritionQuestionByIds(ids);
|
||||
if(sysNutritionQuestionMapper.deleteSysNutritionQuestionByIds(ids) > 0){
|
||||
//建立索引
|
||||
LuceneIndexUtils luceneIndexUtils = LuceneIndexUtils.getLuceneIndexUtils(index_path);
|
||||
try {
|
||||
return luceneIndexUtils.deleteOneByPrimaryIds(ids) ? 1 : 0;
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -109,7 +125,17 @@ public class SysNutritionQuestionServiceImpl implements ISysNutritionQuestionSer
|
||||
@Override
|
||||
public int deleteSysNutritionQuestionById(Long id)
|
||||
{
|
||||
return sysNutritionQuestionMapper.deleteSysNutritionQuestionById(id);
|
||||
if(sysNutritionQuestionMapper.deleteSysNutritionQuestionById(id) > 0){
|
||||
try {
|
||||
//建立索引
|
||||
LuceneIndexUtils luceneIndexUtils = LuceneIndexUtils.getLuceneIndexUtils(index_path);
|
||||
return luceneIndexUtils.deleteOneByPrimaryKey(id) ? 1 : 0;
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -119,19 +145,59 @@ public class SysNutritionQuestionServiceImpl implements ISysNutritionQuestionSer
|
||||
@Override
|
||||
public Map<String, Object> getNutritionQuestionListByKey(SysNutritionQuestion sysNutritionQuestion, int pageNum, int pageSize){
|
||||
//return sysNutritionQuestionMapper.getNutritionQuestionListByKey(sysNutritionQuestion);
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
int total = 0;
|
||||
List<NutritionQuestionResponse> nutritionQuestionResponsesList = new ArrayList<>();
|
||||
try{
|
||||
//建立索引
|
||||
LuceneIndexUtils luceneIndexUtils = LuceneIndexUtils.getLuceneIndexUtils(index_path);
|
||||
return luceneIndexUtils.queryByKeyword(sysNutritionQuestion.getKey(), index_field_array, pageNum, pageSize);
|
||||
Map<String, Object> indexMap = luceneIndexUtils.queryByKeyword(sysNutritionQuestion.getKey(), index_field_array, pageNum, pageSize);
|
||||
total = (int)indexMap.get("total");
|
||||
List<Document> documentList = (List<Document>)indexMap.get("data");
|
||||
if(documentList != null && documentList.size() > 0){
|
||||
for (Document document : documentList) {
|
||||
nutritionQuestionResponsesList.add(documentToNutritionQuestion(document));
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("total", 0);
|
||||
result.put("data", new ArrayList<>());
|
||||
result.put("total", total);
|
||||
result.put("data", nutritionQuestionResponsesList);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新生成知识问答索引
|
||||
* @return
|
||||
*/
|
||||
public boolean regenerateNutritionQuestionIndex(){
|
||||
int pageSize = 1000;
|
||||
int total = sysNutritionQuestionMapper.getNutritionQuestionCount();
|
||||
try {
|
||||
//建立索引
|
||||
LuceneIndexUtils luceneIndexUtils = LuceneIndexUtils.getLuceneIndexUtils(index_path);
|
||||
if(luceneIndexUtils.deleteAllIndex()){
|
||||
if(total > 0){
|
||||
//总页数
|
||||
int totalPage = total/pageSize + (total%pageSize > 0 ? 1 : 0);
|
||||
int start = 0;
|
||||
for(int i = 1; i <= totalPage; i++){
|
||||
start = (i-1) * pageSize;
|
||||
List<SysNutritionQuestion> list = sysNutritionQuestionMapper.getNutritionQuestionListByPage(start,pageSize);
|
||||
luceneIndexUtils.addIndexs(nutritionQuestionToDocument(list));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 建立索引
|
||||
* @param sysNutritionQuestion
|
||||
@ -141,14 +207,62 @@ public class SysNutritionQuestionServiceImpl implements ISysNutritionQuestionSer
|
||||
try{
|
||||
//建立索引
|
||||
LuceneIndexUtils luceneIndexUtils = LuceneIndexUtils.getLuceneIndexUtils(index_path);
|
||||
Document document = new Document();
|
||||
for (String fieldName : index_field_array) {
|
||||
document.add(new TextField(fieldName, ReflectUtils.getFieldValue(sysNutritionQuestion, fieldName)+"", Field.Store.YES));
|
||||
}
|
||||
Document document = nutritionQuestionToDocument(sysNutritionQuestion);
|
||||
return luceneIndexUtils.addIndexOne(document);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新索引
|
||||
* @param sysNutritionQuestion
|
||||
* @return
|
||||
*/
|
||||
private boolean updateNutritionQuestionIndex(SysNutritionQuestion sysNutritionQuestion){
|
||||
try{
|
||||
//建立索引
|
||||
LuceneIndexUtils luceneIndexUtils = LuceneIndexUtils.getLuceneIndexUtils(index_path);
|
||||
Document document = nutritionQuestionToDocument(sysNutritionQuestion);
|
||||
return luceneIndexUtils.updateByPrimaryId(sysNutritionQuestion.getId(), document);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* document转为NutritionQuestionResponse
|
||||
* @param document
|
||||
* @return
|
||||
*/
|
||||
private NutritionQuestionResponse documentToNutritionQuestion(Document document){
|
||||
NutritionQuestionResponse nutritionQuestionResponse = new NutritionQuestionResponse();
|
||||
for (String fieldName : index_field_array) {
|
||||
ReflectUtils.setFieldValue(nutritionQuestionResponse, fieldName, document.get(fieldName));
|
||||
}
|
||||
return nutritionQuestionResponse;
|
||||
}
|
||||
|
||||
private Document nutritionQuestionToDocument(SysNutritionQuestion sysNutritionQuestion){
|
||||
Document document = new Document();
|
||||
for (String fieldName : index_field_array) {
|
||||
document.add(new TextField(fieldName, ReflectUtils.getFieldValue(sysNutritionQuestion, fieldName)+"", Field.Store.YES));
|
||||
}
|
||||
return document;
|
||||
}
|
||||
|
||||
private List<Document> nutritionQuestionToDocument(List<SysNutritionQuestion> sysNutritionQuestionList){
|
||||
List<Document> result = new ArrayList<>();
|
||||
for (SysNutritionQuestion sysNutritionQuestion : sysNutritionQuestionList) {
|
||||
Document document = new Document();
|
||||
for (String fieldName : index_field_array) {
|
||||
document.add(new TextField(fieldName, ReflectUtils.getFieldValue(sysNutritionQuestion, fieldName)+"", Field.Store.YES));
|
||||
}
|
||||
result.add(document);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
@ -229,7 +229,7 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
|
||||
*/
|
||||
private List<SysRecipesPlan> generatePlan(SysOrder sysOrder, LocalDate serverStartDate, LocalDate serverEndDate, List<SysOrderPause> pauseList) {
|
||||
//查询在上一个订单最后一条食谱计划
|
||||
SysRecipesPlan beforeOrderLastPlan = getLastDayRecipesPlan(sysOrder.getCusId(), sysOrder.getOrderId());
|
||||
SysRecipesPlan beforeOrderLastPlan = getLastDayRecipesPlan(sysOrder.getCusId(), sysOrder.getOrderTime());
|
||||
int startNumDay = 0;
|
||||
//之前是否存在食谱
|
||||
if(beforeOrderLastPlan != null){
|
||||
@ -409,11 +409,10 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
|
||||
/**
|
||||
* 根据客户ID查询最后一天食谱计划
|
||||
* @param customerId 客户ID
|
||||
* @param orderId 不属于该订单ID的食谱
|
||||
* @return
|
||||
*/
|
||||
public SysRecipesPlan getLastDayRecipesPlan(Long customerId, Long orderId){
|
||||
return sysRecipesPlanMapper.getLastDayRecipesPlan(customerId, orderId);
|
||||
public SysRecipesPlan getLastDayRecipesPlan(Long customerId, Date orderTime){
|
||||
return sysRecipesPlanMapper.getLastDayRecipesPlan(customerId, orderTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.stdiet.custom.utils;
|
||||
|
||||
import com.stdiet.common.utils.StringUtils;
|
||||
import com.stdiet.custom.service.impl.SysNutritionQuestionServiceImpl;
|
||||
import org.apache.lucene.document.Document;
|
||||
import org.apache.lucene.index.*;
|
||||
import org.apache.lucene.queryparser.classic.MultiFieldQueryParser;
|
||||
@ -61,7 +60,7 @@ public class LuceneIndexUtils {
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
public int addIndexs(ArrayList<Document> documents) throws IOException {
|
||||
public int addIndexs(List<Document> documents) throws IOException {
|
||||
|
||||
//流 读取索引库 加装工具
|
||||
indexWriter = new IndexWriter(directory,config);
|
||||
@ -143,12 +142,12 @@ public class LuceneIndexUtils {
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
public boolean deleteOne(Term term) throws IOException {
|
||||
|
||||
public boolean deleteOneByPrimaryKey(Long id) throws IOException {
|
||||
|
||||
//流 读取索引库 加装工具
|
||||
indexWriter = new IndexWriter(directory,config);
|
||||
|
||||
TermQuery term = new TermQuery(new Term(default_primary_key, id+""));
|
||||
try {
|
||||
indexWriter.deleteDocuments(term);
|
||||
indexWriter.commit();
|
||||
@ -163,6 +162,34 @@ public class LuceneIndexUtils {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除索引库中一条数据
|
||||
* @param term
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
public boolean deleteOneByPrimaryIds(Long[] ids) throws IOException {
|
||||
|
||||
//流 读取索引库 加装工具
|
||||
indexWriter = new IndexWriter(directory,config);
|
||||
|
||||
try {
|
||||
for (Long id : ids) {
|
||||
TermQuery term = new TermQuery(new Term(default_primary_key, id+""));
|
||||
indexWriter.deleteDocuments(term);
|
||||
indexWriter.commit();
|
||||
}
|
||||
return true;
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
indexWriter.rollback();
|
||||
return false;
|
||||
}finally {
|
||||
indexWriter.close();
|
||||
indexWriter= null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改索引库中一条数据
|
||||
* 注意:此处修改为 根据查找条件修改 如果有则修改 没有则新添 多条则修改一条(索引库的底层其实做法是 先删除,后修改- -)
|
||||
@ -171,14 +198,14 @@ public class LuceneIndexUtils {
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
public boolean updateOne(Term term, Document document) throws IOException {
|
||||
public boolean updateByPrimaryId(Long id, Document document) throws IOException {
|
||||
|
||||
try {
|
||||
|
||||
//流 读取索引库 加装工具
|
||||
indexWriter = new IndexWriter(directory,config);
|
||||
|
||||
indexWriter.updateDocument(term,document);
|
||||
indexWriter.updateDocument(new Term(default_primary_key, id+""),document);
|
||||
indexWriter.commit();
|
||||
return true;
|
||||
}catch (Exception e){
|
||||
@ -281,39 +308,4 @@ public class LuceneIndexUtils {
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
try{
|
||||
LuceneIndexUtils luceneIndexUtils = LuceneIndexUtils.getLuceneIndexUtils(SysNutritionQuestionServiceImpl.index_path);
|
||||
/*for (int i = 1 ; i < 100; i++){
|
||||
Document document = new Document();
|
||||
document.add(new TextField("id",i+"", Field.Store.YES));
|
||||
document.add(new TextField("title","什么食物是脂肪杀手?", Field.Store.YES));
|
||||
document.add(new TextField("content","黄瓜", Field.Store.YES));
|
||||
document.add(new TextField("key","脂肪|杀手|食物", Field.Store.YES));
|
||||
luceneIndexUtils.addIndexOne(document);
|
||||
|
||||
}*/
|
||||
/*Document document = new Document();
|
||||
document.add(new TextField("id","1", Field.Store.YES));
|
||||
document.add(new TextField("title","什么食物是脂肪杀手?", Field.Store.YES));
|
||||
document.add(new TextField("content","黄瓜", Field.Store.YES));
|
||||
document.add(new TextField("key","脂肪|杀手|食物", Field.Store.YES));
|
||||
luceneIndexUtils.addIndexOne(document);*/
|
||||
|
||||
String[] columns = {"key","content","title"};
|
||||
Map<String,Object> map = luceneIndexUtils.queryByKeyword("猝死", SysNutritionQuestionServiceImpl.index_field_array, 1,10);
|
||||
|
||||
System.out.println(Long.parseLong(map.get("total").toString()));
|
||||
|
||||
for(Document document : (List<Document>)map.get("data")){
|
||||
System.out.println(document.get("id")+"-"+document.get("key"));
|
||||
}
|
||||
|
||||
//LuceneIndexUtils.printAnalysisResult("什么食物是脂肪杀手?");
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -111,4 +111,15 @@
|
||||
order by id desc
|
||||
</select>
|
||||
|
||||
<!-- 查询总数 -->
|
||||
<select id="getNutritionQuestionCount" resultType="int">
|
||||
select count(id) from sys_nutrition_question where del_flag = 0
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 分页查询-->
|
||||
<select id="getNutritionQuestionListByPage" resultMap="SysNutritionQuestionResult">
|
||||
select * from sys_nutrition_question where del_flag = 0 order by id asc limit #{start},#{pageSize}
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -63,9 +63,11 @@
|
||||
</select>
|
||||
|
||||
<!-- 根据用户ID查询是否存在该用户该订单之前的最后一条食谱 -->
|
||||
<select id="getLastDayRecipesPlan" resultMap="SysRecipesPlanResult" parameterType="Long">
|
||||
<include refid="selectSysRecipesPlanVo"/>
|
||||
where cus_id = #{customerId} and del_flag = 0 and #{orderId} > order_id order by end_num_day DESC limit 1
|
||||
<select id="getLastDayRecipesPlan" resultMap="SysRecipesPlanResult">
|
||||
select srp.*
|
||||
from sys_recipes_plan srp
|
||||
left join sys_order so on so.order_id = srp.order_id and so.del_flag = 0
|
||||
where srp.cus_id = #{customerId} and srp.del_flag = 0 and #{orderTime} > so.order_time order by srp.end_num_day DESC limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertSysRecipesPlan" parameterType="SysRecipesPlan" useGeneratedKeys="true" keyProperty="id">
|
||||
|
@ -104,7 +104,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
"/wx/**",
|
||||
"/wap/**",
|
||||
"/investigate/**",
|
||||
"/common/customerUploadFile"
|
||||
"/common/customerUploadFile",
|
||||
"/custom/nutritionQuestion/regenerateNutritionQuestionIndex"
|
||||
).anonymous()
|
||||
.antMatchers(
|
||||
HttpMethod.GET,
|
||||
|
Loading…
x
Reference in New Issue
Block a user