2023-11-07 09:32:12 +08:00
|
|
|
|
package com.zcloud.service.bus.impl;
|
|
|
|
|
|
2023-11-08 08:53:50 +08:00
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.IOException;
|
2023-11-07 09:32:12 +08:00
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
2023-11-08 08:53:50 +08:00
|
|
|
|
import com.zcloud.util.*;
|
|
|
|
|
import org.apache.commons.io.FileUtils;
|
2023-11-07 09:32:12 +08:00
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import com.zcloud.entity.Page;
|
|
|
|
|
import com.zcloud.entity.PageData;
|
|
|
|
|
import com.zcloud.mapper.datasource.bus.ImgFilesMapper;
|
|
|
|
|
import com.zcloud.service.bus.ImgFilesService;
|
2023-11-08 08:53:50 +08:00
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
2023-11-07 09:32:12 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 说明:图片管理
|
|
|
|
|
* 作者:luoxiaobao
|
|
|
|
|
* 时间:2020-12-24
|
|
|
|
|
* 官网:www.zcloudchina.com
|
|
|
|
|
*/
|
|
|
|
|
@Service
|
|
|
|
|
@Transactional //开启事物
|
|
|
|
|
public class ImgFilesServiceImpl implements ImgFilesService{
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private ImgFilesMapper imgfilesMapper;
|
|
|
|
|
|
|
|
|
|
/**新增
|
|
|
|
|
* @param pd
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public void save(PageData pd)throws Exception{
|
|
|
|
|
imgfilesMapper.save(pd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**删除
|
|
|
|
|
* @param pd
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public void delete(PageData pd)throws Exception{
|
|
|
|
|
imgfilesMapper.delete(pd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**删除
|
|
|
|
|
* @param pd
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public void deleteList(PageData pd)throws Exception{
|
|
|
|
|
imgfilesMapper.deleteList(pd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**修改
|
|
|
|
|
* @param pd
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public void edit(PageData pd)throws Exception{
|
|
|
|
|
imgfilesMapper.edit(pd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**列表
|
|
|
|
|
* @param page
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public List<PageData> list(Page page)throws Exception{
|
|
|
|
|
return imgfilesMapper.datalistPage(page);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**列表(全部)
|
|
|
|
|
* @param pd
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public List<PageData> listAll(PageData pd)throws Exception{
|
|
|
|
|
return imgfilesMapper.listAll(pd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**通过id获取数据
|
|
|
|
|
* @param pd
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public PageData findById(PageData pd)throws Exception{
|
|
|
|
|
return imgfilesMapper.findById(pd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**批量删除
|
|
|
|
|
* @param ArrayDATA_IDS
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public void deleteAll(String[] ArrayDATA_IDS)throws Exception{
|
|
|
|
|
imgfilesMapper.deleteAll(ArrayDATA_IDS);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**列表(全部)
|
|
|
|
|
* @param pd
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public List<PageData> listAllByIds(PageData pd)throws Exception{
|
|
|
|
|
return imgfilesMapper.listAllByIds(pd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据标识 和 类型获取 附件信息
|
|
|
|
|
* @param key
|
|
|
|
|
* @param type
|
|
|
|
|
* @return
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public List<PageData> getListByKeyAndType (Object key ,String type) throws Exception{
|
|
|
|
|
if(!Tools.isEmpty(key)){
|
|
|
|
|
PageData pd = new PageData();
|
|
|
|
|
pd.put("FOREIGN_KEY",key);
|
|
|
|
|
pd.put("TYPE", type);
|
|
|
|
|
return imgfilesMapper.listAll(pd);
|
|
|
|
|
}
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 根据标识 和 类型获取 附件信息
|
|
|
|
|
* @param key
|
|
|
|
|
* @param type
|
|
|
|
|
* @return
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public List<PageData> getListByKeyAndTypeV2 (PageData pd, String key ,String type) throws Exception{
|
|
|
|
|
if(!Tools.isEmpty(pd)){
|
|
|
|
|
PageData img = new PageData();
|
|
|
|
|
pd.put("FOREIGN_KEY",pd.get(key));
|
|
|
|
|
pd.put("TYPE", type);
|
|
|
|
|
return imgfilesMapper.listAll(pd);
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void deleteInspectionHiddenFile(PageData pd) throws Exception {
|
|
|
|
|
imgfilesMapper.deleteInspectionHiddenFile(pd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void deleteByPath(PageData pd) throws Exception {
|
|
|
|
|
imgfilesMapper.deleteByPath(pd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void hideImg(PageData forward) {
|
|
|
|
|
imgfilesMapper.hideImg(forward);
|
|
|
|
|
}
|
|
|
|
|
public List<PageData> getListByKeyAndType (Object key) throws Exception{
|
|
|
|
|
if(!Tools.isEmpty(key)){
|
|
|
|
|
PageData pd = new PageData();
|
|
|
|
|
pd.put("FOREIGN_KEY",key);
|
|
|
|
|
return imgfilesMapper.listAll(pd);
|
|
|
|
|
}
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
}
|
2023-11-08 08:53:50 +08:00
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void uploadPicture(MultipartFile[] files, String TYPE, String FOREIGN_KEY) {
|
|
|
|
|
if (files != null && files.length > 0) {
|
|
|
|
|
for (int i = 0; i < files.length; i++) {
|
|
|
|
|
String suffixName = files[i].getOriginalFilename().substring(files[i].getOriginalFilename().lastIndexOf(".")+1).toLowerCase();
|
|
|
|
|
if (!"json".equals(suffixName) && !"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName) && !"mp4".equals(suffixName)) {
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (int i = 0; i < files.length; i++) {
|
|
|
|
|
MultipartFile file = files[i];
|
|
|
|
|
// 保存文件
|
|
|
|
|
File tempFile = new File(file.getOriginalFilename());
|
|
|
|
|
try {
|
|
|
|
|
FileUtils.copyInputStreamToFile(file.getInputStream(), tempFile);
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
}
|
|
|
|
|
if(!FileUpload.isImage(tempFile) && !TYPE.equals("2")) {//四色图改为json文件,不用判断类型
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
tempFile.delete();
|
|
|
|
|
|
|
|
|
|
if(TYPE.equals("2")) {//先删除原四色图
|
|
|
|
|
PageData pd2 = new PageData();
|
|
|
|
|
pd2.put("FOREIGN_KEY",FOREIGN_KEY);
|
|
|
|
|
pd2.put("TYPE",TYPE);
|
|
|
|
|
List<PageData> four = null;
|
|
|
|
|
try {
|
|
|
|
|
four = listAll(pd2);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
}
|
|
|
|
|
for (PageData pageData : four) {
|
|
|
|
|
File old = new File(PathUtil.getProjectpath()+pageData.getString("FILEPATH"));
|
|
|
|
|
old.delete();
|
|
|
|
|
try {
|
|
|
|
|
delete(pageData);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String ffile = DateUtil.getDays();
|
|
|
|
|
// String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + ffile; //文件上传路径
|
|
|
|
|
// String fileName = FileUpload.fileUp(file, filePath, this.get32UUID()); //执行上传
|
|
|
|
|
String fileName = UuidUtil.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
|
|
|
|
|
try {
|
|
|
|
|
Smb.sshSftp(file, fileName, Const.FILEPATHYHTP + Jurisdiction.getCORPINFO_ID() + "/" + ffile);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
}
|
|
|
|
|
PageData pd = new PageData();
|
|
|
|
|
pd.put("IMGFILES_ID", UuidUtil.get32UUID());
|
|
|
|
|
pd.put("FILEPATH", Const.FILEPATHYHTP + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName);
|
|
|
|
|
pd.put("TYPE", TYPE);
|
|
|
|
|
pd.put("FOREIGN_KEY", FOREIGN_KEY);
|
|
|
|
|
try {
|
|
|
|
|
save(pd);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-11-07 09:32:12 +08:00
|
|
|
|
}
|
|
|
|
|
|