|
@@ -25,9 +25,7 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
import java.awt.image.BufferedImage;
|
|
|
import java.io.*;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.time.LocalDate;
|
|
|
import java.time.LocalTime;
|
|
|
-import java.time.ZoneOffset;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
import java.util.regex.Pattern;
|
|
@@ -212,38 +210,40 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //获取所有人最新的截图
|
|
|
+ //列表截图
|
|
|
@Override
|
|
|
- public HttpRespMsg getLatestScreenshotList(HttpServletRequest request) {
|
|
|
+ public HttpRespMsg getLatestScreenshotList(String date, HttpServletRequest request) {
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
- //获取每一个人最后一张截图
|
|
|
+ //获取某天每一个人最后一张截图
|
|
|
try {
|
|
|
- List<Map<String, Object>> resultMap = screenshotMapper
|
|
|
- .getLatestScreenshotList(userMapper.selectById(request.getHeader("Token")).getCompanyId(),
|
|
|
- LocalDate.now(ZoneOffset.of("+8")).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
- for (Map<String, Object> map : resultMap) {
|
|
|
+ List<Map<String, Object>> dataMap = screenshotMapper
|
|
|
+ .getLatestScreenshotList(userMapper.selectById(request.getHeader("Token")).getCompanyId(), date);
|
|
|
+ // LocalDate.now(ZoneOffset.of("+8")).format(DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ for (Map<String, Object> map : dataMap) {
|
|
|
//对于每一张图 将时间戳转换为时间
|
|
|
map.put("time", new SimpleDateFormat("HH:mm:ss").format(map.get("indate")));
|
|
|
map.remove("indate");
|
|
|
}
|
|
|
- httpRespMsg.data = resultMap;
|
|
|
+ httpRespMsg.data = dataMap;
|
|
|
} catch (NullPointerException e) {
|
|
|
httpRespMsg.setError("验证失败");
|
|
|
+ return httpRespMsg;
|
|
|
}
|
|
|
return httpRespMsg;
|
|
|
}
|
|
|
|
|
|
- //获取当天的截图
|
|
|
+ //获取个人截图页
|
|
|
@Override
|
|
|
- public HttpRespMsg getTodayScreenshotList(String userId) {
|
|
|
+ public HttpRespMsg getTodayScreenshotList(String userId, String date) {
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
|
List<String> srcList = new ArrayList<>();
|
|
|
List<Object> dataList = new ArrayList<>();
|
|
|
- for (Screenshot screenshot : screenshotMapper.selectList(new QueryWrapper<Screenshot>()
|
|
|
- .eq("date_str", LocalDate.now(ZoneOffset.of("+8")))
|
|
|
+ List<Screenshot> screenshotList = screenshotMapper.selectList(new QueryWrapper<Screenshot>()
|
|
|
+ .eq("date_str", date)
|
|
|
.eq("uid", userId)
|
|
|
- .orderByDesc("indate"))) {
|
|
|
+ .orderByDesc("indate"));
|
|
|
+ for (Screenshot screenshot : screenshotList) {
|
|
|
srcList.add(screenshot.getPicUrl());
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("time", screenshot.getIndate().toLocalTime());
|
|
@@ -259,7 +259,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
|
|
|
@Override
|
|
|
public HttpRespMsg saveAndProcessImage(ScreenshotVO screenshotvo) {
|
|
|
Map<String, Object> fileMap = UploadFileToFileNameUtil.uploadFile(screenshotvo.getFile(), path);
|
|
|
- String filePath = (String)fileMap.get("sqlFilePath");
|
|
|
+ String filePath = (String) fileMap.get("sqlFilePath");
|
|
|
Screenshot screenshot = new Screenshot();
|
|
|
BeanUtils.copyProperties(screenshotvo, screenshot);
|
|
|
screenshot.setPicUrl(filePath);
|
|
@@ -288,8 +288,8 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
|
|
|
// //由于存入数据库的对象被序列化成了json字符串,所以从redis里拿方便
|
|
|
// members = redisUtil.members(Constant.COMMON_SOFTWARE_KEYWORDS);
|
|
|
// }
|
|
|
- File picFile = new File((String)fileMap.get("newFile"));
|
|
|
- System.out.println("File:"+picFile.getAbsolutePath());
|
|
|
+ File picFile = new File((String) fileMap.get("newFile"));
|
|
|
+ System.out.println("File:" + picFile.getAbsolutePath());
|
|
|
|
|
|
List<String> textContents = new ArrayList<String>();
|
|
|
|
|
@@ -320,7 +320,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
|
|
|
File f = new File(prePath);
|
|
|
if (f.exists()) {
|
|
|
ImageCompare comp = new ImageCompare();
|
|
|
- if (comp.isMoviePlay((String)fileMap.get("newFile"), prePath)) {
|
|
|
+ if (comp.isMoviePlay((String) fileMap.get("newFile"), prePath)) {
|
|
|
screenshot.setPicType(7);
|
|
|
//前面那条也更新
|
|
|
if (preShot.getPicType() != null && preShot.getPicType() != 7) {
|
|
@@ -361,7 +361,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
|
|
|
msg.data = imName;
|
|
|
} else {
|
|
|
String devName = isDevelop(pic);
|
|
|
- if(devName != null) {
|
|
|
+ if (devName != null) {
|
|
|
msg.data = devName;
|
|
|
} else {
|
|
|
try {
|
|
@@ -380,8 +380,8 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
|
|
|
@Override
|
|
|
public HttpRespMsg updateRedisPicContentKeywords() {
|
|
|
List<PicContentKeywords> picContentKeywords = picContentKeywordsMapper.selectList(null);
|
|
|
- for (PicContentKeywords keyWord : picContentKeywords) {
|
|
|
- redisUtil.sSetJsonString("keyWords",keyWord);
|
|
|
+ for (PicContentKeywords keyWord : picContentKeywords) {
|
|
|
+ redisUtil.sSetJsonString("keyWords", keyWord);
|
|
|
}
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
msg.data = redisUtil.members("keyWords");
|
|
@@ -464,7 +464,6 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
private static boolean isPureColor(BufferedImage img, int colorPixel) {
|
|
|
int with = img.getWidth();
|
|
|
int height = img.getHeight();
|
|
@@ -555,6 +554,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
private String isDesign(File pic) {
|
|
|
File folder = new File(designFolder);
|
|
|
// File folder = new File("C:\\picrecongnize\\design\\");
|
|
@@ -580,6 +580,7 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
//判断是否是聊天
|
|
|
private String isIM(File pic) {
|
|
|
File folder = new File(imFolder);
|