|
@@ -33,53 +33,39 @@ public class ProductServiceImpl implements ProductService {
|
|
|
*/
|
|
|
@Override
|
|
|
public void conKeyword(Integer fromType, String path, String keyword, String linkageFlag) {
|
|
|
- Date date = new Date();
|
|
|
- SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- sd.format(date);
|
|
|
- Calendar cal = Calendar.getInstance();
|
|
|
- cal.setTime(date);
|
|
|
- //根据关键词和来源查询数据库是否存在(存在来源也相同时增加次数,存在但来源不同时和不存在则新增)
|
|
|
- List<SearchFrequencyVo> searchFrequencyVoList = baseMapper.getInfoBykeyword(keyword, fromType, 0);
|
|
|
- if (null != searchFrequencyVoList && searchFrequencyVoList.size() > 0) {
|
|
|
- //判断是否有加入关键词的(有则判断是否联动,无则搜索次数加1)
|
|
|
- List<SearchFrequencyVo> searchFrequencyVoAll = baseMapper.getInfoBykeyword(keyword, fromType, 1);
|
|
|
- if (null != searchFrequencyVoAll && searchFrequencyVoAll.size() > 0) {
|
|
|
- //判断是否是关键词联动搜索
|
|
|
- if (StringUtils.isNotEmpty(linkageFlag) && "1".equals(linkageFlag)) {
|
|
|
- //联动次数加1,搜索次数重置,从新出现在关键词列表
|
|
|
- Integer linkageFrequency = searchFrequencyVoAll.get(0).getLinkageFrequency() + 1;
|
|
|
- Integer frequency = 0;
|
|
|
- Integer delStatus = 1;
|
|
|
- baseMapper.uplinkageFrequencyById(searchFrequencyVoAll.get(0).getId(), linkageFrequency, frequency, delStatus);
|
|
|
- } else {
|
|
|
- Integer frequency = searchFrequencyVoList.get(0).getFrequency() + 1;
|
|
|
- baseMapper.upFrequencyById(searchFrequencyVoList.get(0).getId(), frequency);
|
|
|
- }
|
|
|
- } else {
|
|
|
- Integer frequency = searchFrequencyVoList.get(0).getFrequency() + 1;
|
|
|
- baseMapper.upFrequencyById(searchFrequencyVoList.get(0).getId(), frequency);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //不存在 新增
|
|
|
- //判断是否联动
|
|
|
- //判断是否是关键词联动搜索
|
|
|
- List<SearchFrequencyVo> searchFrequencyVoAll = baseMapper.getInfoBykeyword(keyword, fromType, 1);
|
|
|
- if (StringUtils.isNotEmpty(linkageFlag) && "1".equals(linkageFlag)) {
|
|
|
- //联动次数加1,搜索次数重置,从新出现在关键词列表
|
|
|
- Integer linkageFrequency = searchFrequencyVoAll.get(0).getLinkageFrequency() + 1;
|
|
|
- Integer frequency = 0;
|
|
|
- Integer delStatus = 1;
|
|
|
- baseMapper.uplinkageFrequencyById(searchFrequencyVoAll.get(0).getId(), linkageFrequency, frequency, delStatus);
|
|
|
- } else {
|
|
|
- SearchFrequencyVo sea = new SearchFrequencyVo();
|
|
|
- sea.setKeyword(keyword);
|
|
|
- sea.setFrequency(1);
|
|
|
- sea.setLinkageFrequency(0);
|
|
|
- sea.setPath(path);
|
|
|
- sea.setFromSearch(fromType);
|
|
|
- sea.setSearchTime(new java.sql.Timestamp(cal.getTime().getTime()));
|
|
|
- baseMapper.saveInfo(sea);
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 关键词库v1.1
|
|
|
+ * 任意符合条件的记录直接插入cm_label_source,保留元数据一年
|
|
|
+ * cm_user_search_frequency中keyword为唯一,表中已有添加一次frequency,表中没有则新增,修改时刷新searchTime 最近一次搜索时间
|
|
|
+ */
|
|
|
+ SearchFrequencyVo sea = new SearchFrequencyVo();
|
|
|
+ Integer id = baseMapper.findKeywordId(keyword);
|
|
|
+ if (null != id) {
|
|
|
+ //已存在改次数,不存在插入
|
|
|
+ baseMapper.updateKeywordTimes(id);
|
|
|
+ sea.setId(id);
|
|
|
+ }else{
|
|
|
+ sea.setFrequency(1);
|
|
|
+ sea.setKeyword(keyword);
|
|
|
+ baseMapper.saveInfo(sea);
|
|
|
}
|
|
|
+ sea.setPath(path);
|
|
|
+ baseMapper.insertLabelSource(sea);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateAllKeyword() {
|
|
|
+ baseMapper.updateAllKeyword();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateKeywordRecommend() {
|
|
|
+ //查询本周时间内搜索大于等于三次的
|
|
|
+ Calendar instance = Calendar.getInstance();
|
|
|
+ instance.setTime(new Date());
|
|
|
+ instance.add(Calendar.WEEK_OF_MONTH,-1);
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ List<Integer> ids = baseMapper.getRecommendKeyword(format.format(instance.getTime()));
|
|
|
+ baseMapper.updateRecommend(ids);
|
|
|
}
|
|
|
}
|