|
@@ -52,22 +52,37 @@ public class StaffTrainManualServiceImpl implements IStaffTrainManualService {
|
|
|
if (staffManage != null) {
|
|
|
staffName = staffManage.getStaffName();
|
|
|
}
|
|
|
+ //组装value值
|
|
|
+ String value = SecurityUtils.getUserId() + ":" + staffName;
|
|
|
if (valueList != null && valueList.size() > 0) {
|
|
|
- //组装value值
|
|
|
- String value = SecurityUtils.getUserId() + ":" + staffName;
|
|
|
//如果value不重复则新增
|
|
|
if (!valueList.contains(value)) {
|
|
|
//阅读名单存储到redis key = read_train:manualId value = userId+":"+员工姓名
|
|
|
valueList.add(value);
|
|
|
+ redisCache.deleteObject(READ_TRAIN + manualId);
|
|
|
redisCache.setCacheList(READ_TRAIN + manualId, valueList);
|
|
|
//新增阅读时间
|
|
|
//key = read_train_time:manualId:userId
|
|
|
redisCache.setCacheObject(READ_TRAIN_TIME + manualId + ":" + SecurityUtils.getUserId(), DateUtils.getTime());
|
|
|
+ }else {
|
|
|
+ //更新阅读时间
|
|
|
+ //key = read_train_time:manualId:userId
|
|
|
+ redisCache.setCacheObject(READ_TRAIN_TIME + manualId + ":" + SecurityUtils.getUserId(), DateUtils.getTime());
|
|
|
}
|
|
|
+ }else {
|
|
|
+ //新增第一个阅读人员
|
|
|
+ List<String> stringList = new ArrayList<>();
|
|
|
+ stringList.add(value);
|
|
|
+ redisCache.setCacheList(READ_TRAIN + manualId, stringList);
|
|
|
+ //key = read_train_time:manualId:userId
|
|
|
+ redisCache.setCacheObject(READ_TRAIN_TIME + manualId + ":" + SecurityUtils.getUserId(), DateUtils.getTime());
|
|
|
}
|
|
|
- return staffTrainManualMapper.selectStaffTrainManualByManualId(manualId);
|
|
|
+ StaffTrainManual staffTrainManual = staffTrainManualMapper.selectStaffTrainManualByManualId(manualId);
|
|
|
+ Long viewCount = staffTrainManual.getViewCount();
|
|
|
+ staffTrainManual.setViewCount(viewCount+1);
|
|
|
+ staffTrainManualMapper.updateStaffTrainManual(staffTrainManual);
|
|
|
+ return staffTrainManual;
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
* 查询员工培训手册列表
|
|
|
*
|
|
@@ -132,7 +147,8 @@ public class StaffTrainManualServiceImpl implements IStaffTrainManualService {
|
|
|
public AjaxResult getRead(StaffTrainManual staffTrainManual) {
|
|
|
//定义返回值
|
|
|
List<Map<String, String>> resultList = new ArrayList<>();
|
|
|
- String searchValue = staffTrainManual.getSearchValue();
|
|
|
+ //String searchValue = staffTrainManual.getSearchValue();
|
|
|
+ String author = staffTrainManual.getAuthor();
|
|
|
Date searchTime = staffTrainManual.getCreateTime();
|
|
|
Long manualId = staffTrainManual.getManualId();
|
|
|
|
|
@@ -142,16 +158,16 @@ public class StaffTrainManualServiceImpl implements IStaffTrainManualService {
|
|
|
for (String value : valueList) {
|
|
|
String[] split = value.split(":");
|
|
|
//key = read_train:manualId:userId
|
|
|
- String readTime = redisCache.getCacheObject(READ_TRAIN_TIME + ":" + manualId + ":" + split[0]);
|
|
|
+ String readTime = redisCache.getCacheObject(READ_TRAIN_TIME + manualId + ":" + split[0]);
|
|
|
Map<String, String> map = new HashMap<>(2);
|
|
|
- if (StringUtils.isBlank(searchValue) && searchTime == null) {
|
|
|
+ if (StringUtils.isBlank(author) && searchTime == null) {
|
|
|
map.put("name", split[1]);
|
|
|
//key = read_train:manualId:userId
|
|
|
map.put("time", readTime);
|
|
|
resultList.add(map);
|
|
|
}
|
|
|
//如果搜索姓名不为空
|
|
|
- else if (StringUtils.isNotBlank(searchValue)) {
|
|
|
+ else if (StringUtils.isNotBlank(author)) {
|
|
|
//如果搜索日期不为空
|
|
|
if (searchTime != null) {
|
|
|
// 创建日期格式化对象
|
|
@@ -162,14 +178,14 @@ public class StaffTrainManualServiceImpl implements IStaffTrainManualService {
|
|
|
LocalDate date = dateTime.toLocalDate();
|
|
|
String formattedDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
//split[1] = 员工姓名
|
|
|
- if (searchValue.equals(split[1]) && sdf.format(searchTime).equals(formattedDate)) {
|
|
|
+ if (split[1].contains(author) && sdf.format(searchTime).equals(formattedDate)) {
|
|
|
map.put("name", split[1]);
|
|
|
map.put("time", readTime);
|
|
|
resultList.add(map);
|
|
|
}
|
|
|
} else {
|
|
|
//搜索日期为空
|
|
|
- if (searchValue.equals(split[1])) {
|
|
|
+ if (split[1].contains(author)) {
|
|
|
map.put("name", split[1]);
|
|
|
map.put("time", readTime);
|
|
|
resultList.add(map);
|
|
@@ -183,8 +199,8 @@ public class StaffTrainManualServiceImpl implements IStaffTrainManualService {
|
|
|
// 构造仅包含年月日的新时间字符串
|
|
|
LocalDate date = dateTime.toLocalDate();
|
|
|
String formattedDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
- if (StringUtils.isNotBlank(searchValue)) {
|
|
|
- if (searchValue.equals(split[1]) && sdf.format(searchTime).equals(formattedDate)) {
|
|
|
+ if (StringUtils.isNotBlank(author)) {
|
|
|
+ if (author.equals(split[1]) && sdf.format(searchTime).equals(formattedDate)) {
|
|
|
map.put("name", split[1]);
|
|
|
map.put("time", readTime);
|
|
|
resultList.add(map);
|
|
@@ -196,10 +212,11 @@ public class StaffTrainManualServiceImpl implements IStaffTrainManualService {
|
|
|
resultList.add(map);
|
|
|
}
|
|
|
}
|
|
|
+ }else {
|
|
|
+ map.put("name", split[1]);
|
|
|
+ map.put("time", readTime);
|
|
|
+ resultList.add(map);
|
|
|
}
|
|
|
- map.put("name", split[1]);
|
|
|
- map.put("time", readTime);
|
|
|
- resultList.add(map);
|
|
|
}
|
|
|
}
|
|
|
return AjaxResult.success(resultList);
|