SearchLogServiceImpl.java
4.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package com.lhcredit.project.business.searchLog.service;
import cn.hutool.core.util.PageUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.lhcredit.common.constant.HttpStatus;
import com.lhcredit.common.utils.DateUtils;
import com.lhcredit.common.utils.PageUtils;
import com.lhcredit.framework.web.page.TableDataInfo;
import com.lhcredit.project.business.enterpriseInfo.domain.EnterpriseInfo;
import com.lhcredit.project.business.searchLog.domain.SearchLog;
import com.lhcredit.project.business.searchLog.mapper.SearchLogMapper;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 企业搜索日志Service业务层处理
*
* @author ruoyi
* @date 2025-06-25
*/
@Service
public class SearchLogServiceImpl implements ISearchLogService
{
@Autowired
private SearchLogMapper searchLogMapper;
/**
* 查询企业搜索日志列表
*
* @param searchLog 企业搜索日志
* @return 企业搜索日志
*/
@Override
public List<SearchLog> selectSearchLogList(SearchLog searchLog)
{
return searchLogMapper.selectSearchLogList(searchLog);
}
/**
* 新增企业搜索日志
*
* @param searchLog 企业搜索日志
* @return 结果
*/
@Override
public int insertSearchLog(SearchLog searchLog)
{
searchLog.setCreateTime(DateUtils.getNowDate());
return searchLogMapper.insertSearchLog(searchLog);
}
/**
* 记录查询企业名称时候的 搜索日志
* @param enterpriseInfo
*/
@Override
public void setSearchLogs(EnterpriseInfo enterpriseInfo) {
JSONObject param = new JSONObject();
param.put("ename",enterpriseInfo.getEname());
//处理 索索类型为 null,改为空串
enterpriseInfo.setTableType(enterpriseInfo.getTableType() == null ? "" : enterpriseInfo.getTableType());
//企业类型
param.put("tableType",enterpriseInfo.getTableType());
SearchLog searchLog = new SearchLog();
searchLog.setSearchParams(param.toJSONString());
searchLog.setCreateBy(enterpriseInfo.getCreateBy());
//设置 搜索类型 : (科技型中小企业: 1, 高新技术企业:2, 瞪羚企业:3, 独角兽企业:4, 专精特新小巨人企业: 5)
switch (enterpriseInfo.getTableType()){
//为空时,为全量企业
case "" :
searchLog.setType(SearchLog.SearchType.ENTERPRISE_ALL_SEARCH.getKey());
break;
case "1" :
searchLog.setType(SearchLog.SearchType.ENTERPRISE_TECH_SEARCH.getKey());
break;
case "2":
searchLog.setType(SearchLog.SearchType.ENTERPRISE_HIGH_SEARCH.getKey());
break;
case "3":
searchLog.setType(SearchLog.SearchType.ENTERPRISE_GAZELLE_SEARCH.getKey());
break;
case "4":
searchLog.setType(SearchLog.SearchType.ENTERPRISE_UNICORN_SEARCH.getKey());
break;
case "5":
searchLog.setType(SearchLog.SearchType.ENTERPRISE_GIANT_SEARCH.getKey());
break;
default:
break;
}
insertSearchLog(searchLog);
}
/**
* 根据 用户名 和 类型 查询历史记录,默认查询5条
* @param type
* @param userName
* @return
*/
@Override
public TableDataInfo getSearchLogs(String type, String userName){
SearchLog searchLog = new SearchLog();
searchLog.setType(type);
searchLog.setCreateBy(userName);
searchLog.setJsonProperty("ename");
PageUtils.startPage();
List<SearchLog> searchLogs = searchLogMapper.getSearchLogs(searchLog);
// PageHelper.startPage(1,5,"create_time");
// List<SearchLog> searchLogs = selectSearchLogList(searchLog);
ArrayList<JSONObject> list = Lists.newArrayList();
// Optional.ofNullable(searchLogs).filter(logs -> !logs.isEmpty()).map(l -> l.stream().map(SearchLog::getSearchParams).collect(Collectors.toList())).orElseGet(Collections::emptyList);
for (SearchLog log : searchLogs){
JSONObject object = JSONObject.parseObject(log.getSearchParams());
//设置返回的创建时间
object.put("createTime",log.getCreateTime());
list.add(object);
}
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(list);
rspData.setTotal(new PageInfo(searchLogs).getTotal());
return rspData;
}
}