|
@@ -1,11 +1,14 @@
|
|
|
package com.huimv.manager.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.huimv.manager.dao.entity.ImagePathEntity;
|
|
|
import com.huimv.manager.dao.repo.ImagePathRepo;
|
|
|
import com.huimv.manager.service.IImageService;
|
|
|
+import com.huimv.manager.utils.DateUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.io.File;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -21,6 +24,122 @@ import java.util.List;
|
|
|
public class ImageServiceImpl implements IImageService {
|
|
|
@Autowired
|
|
|
private ImagePathRepo imagePathRepo;
|
|
|
+ @Autowired
|
|
|
+ private DateUtil dateUtil;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean autoUpdateImage(Integer id,String type) {
|
|
|
+ List<ImagePathEntity> imageEntityList = new ArrayList<>();
|
|
|
+ if(type !=null && type.trim().equalsIgnoreCase("one")){
|
|
|
+ // 读取更新图片
|
|
|
+ imageEntityList = imagePathRepo.getOneUpdateImage(id);
|
|
|
+ }else{
|
|
|
+ // 读取更新图片
|
|
|
+ imageEntityList = imagePathRepo.getAllUpdateImage(id);
|
|
|
+ }
|
|
|
+ for(ImagePathEntity imageEntity:imageEntityList){
|
|
|
+ // 更新图片名称
|
|
|
+ if(!updateImage(imageEntity)){
|
|
|
+ System.out.println("【图片更新名称出错】");
|
|
|
+ }else{
|
|
|
+ // 更新图片表
|
|
|
+ System.out.println(" 【更新后的图片信息】"+imageEntity);
|
|
|
+ imagePathRepo.saveAndFlush(imageEntity);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean updateImage(ImagePathEntity imageEntity) {
|
|
|
+ String fileName = imageEntity.getFileName();
|
|
|
+ String relativePath = imageEntity.getRelativePath();
|
|
|
+ String imgPath = imageEntity.getImgPath();
|
|
|
+ String camera = imageEntity.getName();
|
|
|
+
|
|
|
+ System.out.println("【fileName】"+fileName);
|
|
|
+ System.out.println("【relativePath】"+relativePath);
|
|
|
+ System.out.println("【imgPath】"+imgPath);
|
|
|
+ System.out.println("【camera】"+camera);
|
|
|
+
|
|
|
+ if(imgPath.indexOf("/"+camera+"/") == -1){
|
|
|
+ System.out.println("----------------------【未分摄像头保存的图片】----------------------");
|
|
|
+ String[] fileArray = fileName.split("_");
|
|
|
+ if(fileArray.length==2){
|
|
|
+ String dateName = fileArray[1];
|
|
|
+ System.out.println("【日期名称(包含图片扩展名)】"+dateName);
|
|
|
+ String[] dateNameArray = dateName.split("\\.");
|
|
|
+ System.out.println("dateNameArray.length>>"+dateNameArray.length);
|
|
|
+ String timeName = dateNameArray[0];
|
|
|
+ System.out.println("【日期名称(不包含图片扩展名)】"+timeName);
|
|
|
+ String newDateName = dateUtil.formatLongTimeToImageName(Long.parseLong(timeName));
|
|
|
+ System.out.println("【新时间名称】"+newDateName);
|
|
|
+ String newFileName = camera+"_"+newDateName+".jpg";
|
|
|
+ System.out.println("【新文件名称】"+newFileName);
|
|
|
+ String newImgPath = imgPath.replace(fileName,"")+camera+"/"+newFileName;
|
|
|
+ System.out.println("【fileName】 "+fileName);
|
|
|
+ System.out.println("[newImgPath] "+newImgPath+" 【imgPath】"+imgPath);
|
|
|
+ String newRelativePath = relativePath.replace(fileName,"")+camera+"/"+newFileName;
|
|
|
+ System.out.println("[newRelativePath] "+newRelativePath+" 【relativePath】"+relativePath);
|
|
|
+
|
|
|
+ File file = new File(imgPath);
|
|
|
+ if(file.exists()){
|
|
|
+ System.out.println("该文件存在路径是:"+imgPath);
|
|
|
+ // 对图片重命名
|
|
|
+ file.renameTo(new File(newImgPath));
|
|
|
+ // 重置属性
|
|
|
+ imageEntity.setFileName(newFileName);
|
|
|
+ imageEntity.setImgPath(newImgPath);
|
|
|
+ imageEntity.setRelativePath(newRelativePath);
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ System.out.println("【"+fileName+"】该文件不存在");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ System.out.println("【"+fileName+"】该文件名不需要更新");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ }else{
|
|
|
+ // 已经分摄像头保存的图片
|
|
|
+ String[] fileArray = fileName.split("_");
|
|
|
+ if(fileArray.length==2){
|
|
|
+ String dateName = fileArray[1];
|
|
|
+ System.out.println("【日期名称(包含图片扩展名)】"+dateName);
|
|
|
+ String[] dateNameArray = dateName.split("\\.");
|
|
|
+ System.out.println("dateNameArray.length>>"+dateNameArray.length);
|
|
|
+ String timeName = dateNameArray[0];
|
|
|
+ System.out.println("【日期名称(不包含图片扩展名)】"+timeName);
|
|
|
+ String newDateName = dateUtil.formatLongTimeToImageName(Long.parseLong(timeName));
|
|
|
+ System.out.println("【新时间名称】"+newDateName);
|
|
|
+ String newFileName = camera+"_"+newDateName+".jpg";
|
|
|
+ System.out.println("【新文件名称】"+newFileName);
|
|
|
+ String newImgPath = imgPath.replace(fileName,newFileName);
|
|
|
+ System.out.println("【fileName】 "+fileName);
|
|
|
+ System.out.println("[newImgPath] "+newImgPath+" 【imgPath】"+imgPath);
|
|
|
+ String newRelativePath = relativePath.replace(fileName,newFileName);
|
|
|
+ System.out.println("[newRelativePath] "+newRelativePath+" 【relativePath】"+relativePath);
|
|
|
+
|
|
|
+ File file = new File(imgPath);
|
|
|
+ if(file.exists()){
|
|
|
+ System.out.println("该文件存在路径是:"+imgPath);
|
|
|
+ // 对图片重命名
|
|
|
+ file.renameTo(new File(newImgPath));
|
|
|
+ // 重置属性
|
|
|
+ imageEntity.setFileName(newFileName);
|
|
|
+ imageEntity.setImgPath(newImgPath);
|
|
|
+ imageEntity.setRelativePath(newRelativePath);
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ System.out.println("【"+fileName+"】该文件不存在");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ System.out.println("【"+fileName+"】该文件名不需要更新");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* @Method : getLastImage
|