diff --git a/stdiet-admin/src/main/filters/dev/application.yml b/stdiet-admin/src/main/filters/dev/application.yml index 7c6f75712..2700fc06c 100644 --- a/stdiet-admin/src/main/filters/dev/application.yml +++ b/stdiet-admin/src/main/filters/dev/application.yml @@ -181,4 +181,8 @@ aliyun: Buckets: stdiet EndPoint: https://oss-cn-shenzhen.aliyuncs.com #案例文件夹路径 - casePrefix: case/ \ No newline at end of file + casePrefix: case/ + +lucene: + index: + nutritionQuestion: /home/api/manage.shengtangdiet.com/test/uploadPath/nutritionQuestion \ No newline at end of file diff --git a/stdiet-admin/src/main/filters/local/application.yml b/stdiet-admin/src/main/filters/local/application.yml index 8e012f3d3..34330d88c 100644 --- a/stdiet-admin/src/main/filters/local/application.yml +++ b/stdiet-admin/src/main/filters/local/application.yml @@ -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 + diff --git a/stdiet-admin/src/main/filters/prod/application.yml b/stdiet-admin/src/main/filters/prod/application.yml index 7c0b1f97d..0e4fe5c84 100644 --- a/stdiet-admin/src/main/filters/prod/application.yml +++ b/stdiet-admin/src/main/filters/prod/application.yml @@ -181,4 +181,8 @@ aliyun: Buckets: stdiet EndPoint: https://oss-cn-shenzhen.aliyuncs.com #案例文件夹路径 - casePrefix: case/ \ No newline at end of file + casePrefix: case/ + +lucene: + index: + nutritionQuestion: /home/api/manage.shengtangdiet.com/uploadPath/nutritionQuestion \ No newline at end of file diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionQuestionController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionQuestionController.java index a160e8893..80d367643 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionQuestionController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionQuestionController.java @@ -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); + } } \ No newline at end of file diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java index d3d7c9b49..e3d2c4d18 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java @@ -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 result = sysNutritionQuestionService.getNutritionQuestionListByKey(sysNutritionQuestion, pageNum, pageSize); + return AjaxResult.success(result); + } } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/dto/response/NutritionQuestionResponse.java b/stdiet-custom/src/main/java/com/stdiet/custom/dto/response/NutritionQuestionResponse.java index 620e75864..dc69dc30c 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/dto/response/NutritionQuestionResponse.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/dto/response/NutritionQuestionResponse.java @@ -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 = "标题") diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionQuestionMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionQuestionMapper.java index 21bae7cdc..baab54945 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionQuestionMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionQuestionMapper.java @@ -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 getNutritionQuestionListByKey(SysNutritionQuestion sysNutritionQuestion); + + /** + * 查询总数 + * @return + */ + public int getNutritionQuestionCount(); + + /** + * 分页查询 + * @param start + * @param pageSize + * @return + */ + public List getNutritionQuestionListByPage(@Param("start")int start, @Param("pageSize")int pageSize); } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesPlanMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesPlanMapper.java index c51f62263..43cafab6f 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesPlanMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesPlanMapper.java @@ -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查询食谱计划 diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionQuestionService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionQuestionService.java index ee89626d4..55ed7cae0 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionQuestionService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionQuestionService.java @@ -67,4 +67,10 @@ public interface ISysNutritionQuestionService */ public Map getNutritionQuestionListByKey(SysNutritionQuestion sysNutritionQuestion, int pageNum, int pageSize); + /** + * 重新生成知识问答索引 + * @return + */ + public boolean regenerateNutritionQuestionIndex(); + } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesPlanService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesPlanService.java index c9bd67c46..65aa040b6 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesPlanService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesPlanService.java @@ -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查询食谱计划简要 diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionQuestionServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionQuestionServiceImpl.java index 9aa936d82..00d1989f8 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionQuestionServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionQuestionServiceImpl.java @@ -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 getNutritionQuestionListByKey(SysNutritionQuestion sysNutritionQuestion, int pageNum, int pageSize){ //return sysNutritionQuestionMapper.getNutritionQuestionListByKey(sysNutritionQuestion); + Map result = new HashMap<>(); + int total = 0; + List nutritionQuestionResponsesList = new ArrayList<>(); try{ //建立索引 LuceneIndexUtils luceneIndexUtils = LuceneIndexUtils.getLuceneIndexUtils(index_path); - return luceneIndexUtils.queryByKeyword(sysNutritionQuestion.getKey(), index_field_array, pageNum, pageSize); + Map indexMap = luceneIndexUtils.queryByKeyword(sysNutritionQuestion.getKey(), index_field_array, pageNum, pageSize); + total = (int)indexMap.get("total"); + List documentList = (List)indexMap.get("data"); + if(documentList != null && documentList.size() > 0){ + for (Document document : documentList) { + nutritionQuestionResponsesList.add(documentToNutritionQuestion(document)); + } + } }catch (Exception e){ e.printStackTrace(); } - Map 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 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 nutritionQuestionToDocument(List sysNutritionQuestionList){ + List 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; + } } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java index 8d0d204bd..562647294 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java @@ -229,7 +229,7 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService { */ private List generatePlan(SysOrder sysOrder, LocalDate serverStartDate, LocalDate serverEndDate, List 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 diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/utils/LuceneIndexUtils.java b/stdiet-custom/src/main/java/com/stdiet/custom/utils/LuceneIndexUtils.java index f25db5c50..64289bc04 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/utils/LuceneIndexUtils.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/utils/LuceneIndexUtils.java @@ -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 documents) throws IOException { + public int addIndexs(List 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 map = luceneIndexUtils.queryByKeyword("猝死", SysNutritionQuestionServiceImpl.index_field_array, 1,10); - - System.out.println(Long.parseLong(map.get("total").toString())); - - for(Document document : (List)map.get("data")){ - System.out.println(document.get("id")+"-"+document.get("key")); - } - - //LuceneIndexUtils.printAnalysisResult("什么食物是脂肪杀手?"); - }catch (Exception e){ - e.printStackTrace(); - } - } - } diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysNutritionQuestionMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysNutritionQuestionMapper.xml index 62c6b9159..71c05be78 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysNutritionQuestionMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysNutritionQuestionMapper.xml @@ -111,4 +111,15 @@ order by id desc + + + + + + + \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesPlanMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesPlanMapper.xml index b3e173ac4..6fe4eca81 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesPlanMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesPlanMapper.xml @@ -63,9 +63,11 @@ - + 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 diff --git a/stdiet-framework/src/main/java/com/stdiet/framework/config/SecurityConfig.java b/stdiet-framework/src/main/java/com/stdiet/framework/config/SecurityConfig.java index 603828f51..af34f5aa1 100644 --- a/stdiet-framework/src/main/java/com/stdiet/framework/config/SecurityConfig.java +++ b/stdiet-framework/src/main/java/com/stdiet/framework/config/SecurityConfig.java @@ -104,7 +104,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { "/wx/**", "/wap/**", "/investigate/**", - "/common/customerUploadFile" + "/common/customerUploadFile", + "/custom/nutritionQuestion/regenerateNutritionQuestionIndex" ).anonymous() .antMatchers( HttpMethod.GET,