2178 lines
111 KiB
Java
2178 lines
111 KiB
Java
package seed.manager.bbs.service;
|
|
|
|
import java.awt.Graphics2D;
|
|
import java.awt.image.BufferedImage;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import javax.imageio.ImageIO;
|
|
import javax.media.jai.JAI;
|
|
import javax.media.jai.RenderedOp;
|
|
|
|
import net.coobird.thumbnailator.Thumbnails;
|
|
|
|
import org.apache.log4j.Logger;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
import egovframework.rte.fdl.cmmn.AbstractServiceImpl;
|
|
|
|
import seed.common.service.CommonFileService;
|
|
import seed.dao.BbsDataDAO;
|
|
import seed.dao.BbsFileDAO;
|
|
import seed.dao.FileDownLoadDAO;
|
|
import seed.map.T_BBS_DATA;
|
|
import seed.map.T_BBS_FILE;
|
|
import seed.map.T_BBS_SET;
|
|
import seed.map.T_COMMON_FILE;
|
|
import seed.map.T_FILE_DOWNLOAD;
|
|
import seed.map.T_MEMBER;
|
|
import seed.map.T_POINT;
|
|
import seed.utils.SeedCvtDOCToHtml;
|
|
import seed.utils.SeedCvtDOCXToHtml;
|
|
import seed.utils.SeedCvtPDFToImg;
|
|
import seed.utils.SeedCvtPPTToImg;
|
|
import seed.utils.SeedCvtPPTXToImg;
|
|
import seed.utils.SeedCvtXLSToHtml;
|
|
import seed.utils.SeedCvtXLSXToHtml;
|
|
import seed.utils.SeedFileUtils;
|
|
import seed.utils.SeedFtpType;
|
|
import seed.utils.SeedUtils;
|
|
|
|
@Service
|
|
public class ManagerBbsDataServiceImpl extends AbstractServiceImpl implements ManagerBbsDataService{
|
|
|
|
private Logger log = Logger.getLogger(this.getClass());
|
|
|
|
@Autowired
|
|
private BbsDataDAO bbsDataDAO;
|
|
|
|
@Autowired
|
|
private BbsFileDAO bbsFileDAO;
|
|
|
|
@Autowired
|
|
private FileDownLoadDAO fileDownLoadDAO;
|
|
|
|
@Autowired
|
|
private CommonFileService commonFileService;
|
|
|
|
//AdminBbsController, ManagerBbsController
|
|
public List<Map<Object, Object>> getBbsDashboardList(String siteIdx, int page, int row, ArrayList<String> qryArrayList){
|
|
|
|
return bbsDataDAO.getBbsDashboardList(siteIdx, ((page-1) * row), row, qryArrayList);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
public List<Map<Object, Object>> getBbsDataMiniList(Integer bbsSetIdx, int page, int row, String bbsSetDateOrder, ArrayList<String> qryArrayList){
|
|
|
|
return bbsDataDAO.getBbsDataMiniList(bbsSetIdx, ((page-1) * row), row, bbsSetDateOrder, qryArrayList);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
public T_BBS_DATA getBbsDataForm(Integer bbsDataIdx){
|
|
|
|
return bbsDataDAO.getBbsDataForm(bbsDataIdx);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
public T_BBS_DATA getBbsReplyForm(Integer bbsDataGroup, Integer bbsDataFam){
|
|
|
|
return bbsDataDAO.getBbsReplyForm(bbsDataGroup, bbsDataFam);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
public Map<Object, Object> getBbsDataPreForm(T_BBS_DATA tBbsData, String column, String search, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns){
|
|
|
|
return bbsDataDAO.getBbsDataPreForm(tBbsData, column, search, "N", 0, "", true, bbsDataCategory, searchSDate, searchEDate, qryColumns);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
public Map<Object, Object> getBbsDataNextForm(T_BBS_DATA tBbsData, String column, String search, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns){
|
|
|
|
return bbsDataDAO.getBbsDataNextForm(tBbsData, column, search, "N", 0, "", true, bbsDataCategory, searchSDate, searchEDate, qryColumns);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
public List<Map<Object, Object>> getBbsNoticeDataList(Integer bbsSetIdx, String column, String search, String bbsSetDateOrder, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList){
|
|
|
|
return bbsDataDAO.getBbsNoticeDataList(bbsSetIdx, column, search, bbsSetDateOrder, bbsDataCategory, searchSDate, searchEDate, qryArrayList);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
public Long getBbsDataListCnt(Integer bbsSetIdx, String column, String search, String bbsSetType, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList){
|
|
|
|
return bbsDataDAO.getBbsDataListCnt(true, bbsSetIdx, column, search, bbsSetType, "N", 0, "", true, bbsDataCategory, searchSDate, searchEDate, qryArrayList);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
public List<Map<Object, Object>> getBbsDataList(Integer bbsSetIdx, int page, int row, String column, String search, String bbsSetDateOrder, String bbsSetType, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList){
|
|
|
|
return bbsDataDAO.getBbsDataList(true, bbsSetIdx, ((page-1) * row), row, column, search, bbsSetDateOrder, bbsSetType, "N", 0, "", true, bbsDataCategory, searchSDate, searchEDate, qryArrayList);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
public List<Map<Object, Object>> getBbsDataList(Integer bbsSetIdx, String column, String search, String bbsSetType, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList){
|
|
|
|
return bbsDataDAO.getBbsDataList(bbsSetIdx, column, search, bbsSetType, bbsDataCategory, searchSDate, searchEDate, qryArrayList);
|
|
}
|
|
|
|
//ManagerBbsController
|
|
@Transactional
|
|
public boolean setBbsDataCopyProc(Integer bbsDataIdxOriginal, Integer bbsSetIdx, Integer memberIdx, String memberIp, Integer thumbWidth, Integer thumbHeight, String rootPath){
|
|
|
|
boolean success = false;
|
|
|
|
T_BBS_DATA tBbsDataOriginal = bbsDataDAO.getBbsDataForm(bbsDataIdxOriginal);
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
T_MEMBER tMember = new T_MEMBER();
|
|
tMember.setMemberIdx(memberIdx);
|
|
|
|
T_BBS_SET tBbsSet = new T_BBS_SET();
|
|
tBbsSet.setBbsSetIdx(bbsSetIdx);
|
|
|
|
T_BBS_DATA tBbsDataNew = new T_BBS_DATA();
|
|
tBbsDataNew.settMember(tMember);
|
|
|
|
tBbsDataNew.settBbsSet(tBbsSet);
|
|
tBbsDataNew.setBbsDataNotice(tBbsDataOriginal.getBbsDataNotice());
|
|
tBbsDataNew.setBbsDataNoticeSdate(tBbsDataOriginal.getBbsDataNoticeSdate());
|
|
tBbsDataNew.setBbsDataNoticeEdate(tBbsDataOriginal.getBbsDataNoticeEdate());
|
|
tBbsDataNew.setBbsDataTitle(tBbsDataOriginal.getBbsDataTitle());
|
|
tBbsDataNew.setBbsDataGroup(0);
|
|
tBbsDataNew.setBbsDataPosition(0);
|
|
tBbsDataNew.setBbsDataFam(0);
|
|
tBbsDataNew.setBbsDataDepth(0);
|
|
tBbsDataNew.setBbsDataHit(0);
|
|
tBbsDataNew.setBbsDataStatus("U");
|
|
tBbsDataNew.setBbsDataRegDate(sdf.format(new Date()));
|
|
tBbsDataNew.setBbsDataModDate(sdf.format(new Date()));
|
|
tBbsDataNew.setBbsDataMemberIp(memberIp);
|
|
tBbsDataNew.setBbsCommentCount(0);
|
|
tBbsDataNew.setBbsFileCount(0);
|
|
tBbsDataNew.setBbsDataThumbText(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataThumbText()));
|
|
tBbsDataNew.setBbsDataContent(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataContent()));
|
|
tBbsDataNew.setBbsDataItemA1(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemA1()));
|
|
tBbsDataNew.setBbsDataItemB2(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemB2()));
|
|
tBbsDataNew.setBbsDataItemC3(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemC3()));
|
|
tBbsDataNew.setBbsDataItemD4(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemD4()));
|
|
tBbsDataNew.setBbsDataItemE5(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemE5()));
|
|
tBbsDataNew.setBbsDataItemF6(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemF6()));
|
|
tBbsDataNew.setBbsDataItemG7(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemG7()));
|
|
tBbsDataNew.setBbsDataItemH8(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemH8()));
|
|
tBbsDataNew.setBbsDataItemI9(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemI9()));
|
|
tBbsDataNew.setBbsDataItemJ10(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemJ10()));
|
|
tBbsDataNew.setBbsDataYoutube(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataYoutube()));
|
|
|
|
T_BBS_DATA tBbsDataDB = bbsDataDAO.setBbsDataRegProc(tBbsDataNew);
|
|
|
|
if(tBbsDataDB != null){
|
|
|
|
String thumbFileName = "";
|
|
|
|
//복사할 파일들 가져옴
|
|
List<T_BBS_FILE> bbsFileListOriginal = bbsFileDAO.getBbsFileList(tBbsDataOriginal.getBbsDataIdx());
|
|
|
|
if(bbsFileListOriginal != null && bbsFileListOriginal.size() > 0){
|
|
|
|
//FTP 전송
|
|
SeedFtpType seedFtpType = new SeedFtpType();
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
|
|
for(int f=0; f<bbsFileListOriginal.size(); f++){
|
|
|
|
String reFileName = tBbsDataDB.gettBbsSet().getBbsSetIdx() + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
|
|
T_BBS_FILE tBbsFileOriginal = bbsFileListOriginal.get(f);
|
|
|
|
SeedUtils.setSeedFileCopy(rootPath+"/"+tBbsDataOriginal.gettBbsSet().gettSite().getSiteIdx()+"/upload/bbs/"+tBbsDataOriginal.gettBbsSet().getBbsSetIdx()+"/"+tBbsFileOriginal.getBbsFileReName()
|
|
, rootPath+"/"+tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()+"/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+tBbsFileOriginal.getBbsFileType());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()+"/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath+"/"+tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()+"/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+tBbsFileOriginal.getBbsFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
if(tBbsFileOriginal.getBbsFileType().toLowerCase().equals("jpg") ||
|
|
tBbsFileOriginal.getBbsFileType().toLowerCase().equals("jpeg") ||
|
|
tBbsFileOriginal.getBbsFileType().toLowerCase().equals("bmp") ||
|
|
tBbsFileOriginal.getBbsFileType().toLowerCase().equals("png") ||
|
|
tBbsFileOriginal.getBbsFileType().toLowerCase().equals("gif")){
|
|
|
|
SeedUtils.setSeedFileCopy(rootPath+"/"+tBbsDataOriginal.gettBbsSet().gettSite().getSiteIdx()+"/upload/bbs/"+tBbsDataOriginal.gettBbsSet().getBbsSetIdx()+"/thumb_"+tBbsFileOriginal.getBbsFileReName()
|
|
, rootPath+"/"+tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()+"/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+tBbsFileOriginal.getBbsFileType());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()+"/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath+"/"+tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()+"/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+tBbsFileOriginal.getBbsFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
T_BBS_FILE tBbsFileNew = new T_BBS_FILE();
|
|
|
|
tBbsFileNew.settBbsData(tBbsDataDB);
|
|
tBbsFileNew.setBbsFileName(tBbsFileOriginal.getBbsFileName());
|
|
tBbsFileNew.setBbsFileReName(reFileName+"."+tBbsFileOriginal.getBbsFileType());
|
|
tBbsFileNew.setBbsFileSize(tBbsFileOriginal.getBbsFileSize());
|
|
tBbsFileNew.setBbsFileType(tBbsFileOriginal.getBbsFileType().toLowerCase());
|
|
tBbsFileNew.setBbsFileText(tBbsFileOriginal.getBbsFileText());
|
|
tBbsFileNew.setBbsFileEncryption(tBbsFileOriginal.getBbsFileEncryption());
|
|
tBbsFileNew.setBbsFileRegDate(tBbsFileOriginal.getBbsFileRegDate());
|
|
tBbsFileNew.setBbsFileDownCnt(0);
|
|
tBbsFileNew.settBbsData(tBbsDataDB);
|
|
|
|
if(!bbsFileDAO.setBbsFileRegProc(tBbsFileNew)){
|
|
success = false;
|
|
break;
|
|
}
|
|
|
|
if(thumbFileName.equals("") && SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataThumb()).equals(tBbsFileOriginal.getBbsFileReName())){
|
|
thumbFileName = reFileName+"."+tBbsFileOriginal.getBbsFileType();
|
|
}
|
|
}
|
|
}
|
|
|
|
tBbsDataDB.setBbsDataThumb(thumbFileName);
|
|
tBbsDataDB.setBbsDataGroup(tBbsDataDB.getBbsDataIdx());
|
|
tBbsDataDB.setBbsDataFam(tBbsDataDB.getBbsDataIdx());
|
|
tBbsDataDB.setBbsFileCount(Integer.parseInt(bbsFileDAO.getBbsFileListCnt(tBbsDataDB.getBbsDataIdx()).toString()));
|
|
|
|
if(bbsDataDAO.setBbsDataModProc(tBbsDataDB)){
|
|
success = true;
|
|
}
|
|
}
|
|
|
|
return success;
|
|
}
|
|
|
|
//ManagerBbsController
|
|
@Transactional
|
|
public boolean setBbsDataMoveProc(Integer bbsDataIdxOriginal, Integer bbsSetIdx){
|
|
|
|
return false;
|
|
}
|
|
|
|
//ManagerBbsController
|
|
@Transactional
|
|
public Integer setBbsDataRegProc(T_BBS_DATA tBbsData, Integer memberIdx, String memberIp, String fileCode, List<MultipartFile> upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath){
|
|
|
|
Integer bbsDataIdx = 0;
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
if(memberIdx > 0){
|
|
T_MEMBER tMember = new T_MEMBER();
|
|
tMember.setMemberIdx(memberIdx);
|
|
tBbsData.settMember(tMember);
|
|
}else{
|
|
String strCode = SeedUtils.getSeedMD5Code(tBbsData.getBbsDataPw());
|
|
tBbsData.setBbsDataPw(SeedUtils.getSeedSHA256Code(strCode));
|
|
}
|
|
|
|
if(!SeedUtils.setReplaceNull(tBbsData.getBbsDataNotice()).equals("Y") && !SeedUtils.setReplaceNull(tBbsData.getBbsDataNotice()).equals("A")){
|
|
tBbsData.setBbsDataNotice("N");
|
|
tBbsData.setBbsDataNoticeSdate("");
|
|
tBbsData.setBbsDataNoticeEdate("");
|
|
}
|
|
|
|
tBbsData.setBbsDataGroup(0);
|
|
tBbsData.setBbsDataPosition(0);
|
|
tBbsData.setBbsDataFam(0);
|
|
tBbsData.setBbsDataDepth(0);
|
|
tBbsData.setBbsDataHit(0);
|
|
tBbsData.setBbsDataStatus("U");
|
|
|
|
if(SeedUtils.setReplaceNull(tBbsData.getBbsDataRegDate()).equals("")){
|
|
tBbsData.setBbsDataRegDate(sdf.format(new Date()));
|
|
}
|
|
|
|
tBbsData.setBbsDataModDate(sdf.format(new Date()));
|
|
tBbsData.setBbsDataMemberIp(memberIp);
|
|
tBbsData.setBbsCommentCount(0);
|
|
tBbsData.setBbsFileCount(0);
|
|
|
|
T_BBS_DATA tBbsDataDB = bbsDataDAO.setBbsDataRegProc(tBbsData);
|
|
|
|
if(tBbsDataDB != null){
|
|
|
|
bbsDataIdx = tBbsDataDB.getBbsDataIdx();
|
|
|
|
String bbsDataContent = tBbsDataDB.getBbsDataContent();
|
|
|
|
String thumImg = "";
|
|
String thumImgText = "";
|
|
|
|
if(SeedUtils.setReplaceNull(tBbsData.gettBbsSet().getBbsSetPoint()).equals("Y")){
|
|
//게시글 포인트
|
|
T_POINT tPoint = new T_POINT();
|
|
|
|
tPoint.setPointSetIdx(tBbsData.gettBbsSet().getBbsSetIdx());
|
|
tPoint.setPointDataIdx(tBbsData.getBbsDataIdx());
|
|
tPoint.setPointRegdate(sdf.format(new Date()));
|
|
tPoint.setMemberIp(memberIp);
|
|
tPoint.setMemberIdx(memberIdx);
|
|
tPoint.setSiteIdx(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx());
|
|
tPoint.setFuncType("BBS");
|
|
tPoint.setPointScore(tBbsDataDB.gettBbsSet().getBbsSetPointWrite());
|
|
|
|
bbsDataDAO.setBbsPointProc(tPoint);
|
|
}
|
|
|
|
//FTP 전송
|
|
SeedFtpType seedFtpType = new SeedFtpType();
|
|
|
|
if(upFiles != null && upFiles.size() > 0){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
|
|
try{
|
|
|
|
for(int f=0; f<upFiles.size(); f++){
|
|
|
|
boolean fileChk = false;
|
|
|
|
MultipartFile multipartFile = upFiles.get(f);
|
|
|
|
if(multipartFile != null && !multipartFile.isEmpty()){
|
|
|
|
if(fileIdxs != null && fileIdxs.length > 0){
|
|
for(int d=0; d<fileIdxs.length; d++){
|
|
|
|
String fileIdx = fileIdxs[d];
|
|
|
|
if(fileIdx.equals(String.valueOf(f))){
|
|
fileChk = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!fileChk){
|
|
continue;
|
|
}
|
|
|
|
String orgFileName = multipartFile.getOriginalFilename();
|
|
String reFileName = tBbsDataDB.gettBbsSet().getBbsSetIdx() + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
|
|
String fileType = orgFileName.substring(orgFileName.lastIndexOf(".")+1);
|
|
Long fileSize = multipartFile.getSize();
|
|
|
|
File makeFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType);
|
|
multipartFile.transferTo(makeFile);
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
if(fileType.toLowerCase().equals("jpg") ||
|
|
fileType.toLowerCase().equals("jpeg") ||
|
|
fileType.toLowerCase().equals("bmp") ||
|
|
fileType.toLowerCase().equals("png")){
|
|
|
|
Thumbnails.of(
|
|
new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName+"."+fileType)).
|
|
size(thumbWidth, thumbHeight).
|
|
toFile(new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+fileType)
|
|
);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(String.valueOf(f))){
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
}else if(fileType.toLowerCase().equals("gif")){
|
|
|
|
int width = 100;
|
|
int height = 50;
|
|
|
|
File thumbFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+fileType);
|
|
|
|
RenderedOp renderedOp = JAI.create("fileload", rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName+"."+fileType);
|
|
|
|
BufferedImage bi = renderedOp.getAsBufferedImage();
|
|
|
|
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
|
|
Graphics2D graphics2D = bufferedImage.createGraphics();
|
|
graphics2D.drawImage(bi, 0, 0, width, height, null);
|
|
ImageIO.write(bufferedImage, "jpg", thumbFile);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(reFileName+"."+fileType)){
|
|
thumImg = reFileName+"."+reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
T_BBS_FILE tBbsFile = new T_BBS_FILE();
|
|
|
|
tBbsFile.setBbsFileName(orgFileName);
|
|
tBbsFile.setBbsFileReName(reFileName+"."+fileType);
|
|
tBbsFile.setBbsFileSize(fileSize);
|
|
tBbsFile.setBbsFileType(fileType.toLowerCase());
|
|
tBbsFile.setBbsFileText(orgFileName);
|
|
if(fileEncryChk){
|
|
tBbsFile.setBbsFileEncryption("Y");
|
|
}else{
|
|
tBbsFile.setBbsFileEncryption("N");
|
|
}
|
|
tBbsFile.setBbsFileRegDate(new Date());
|
|
tBbsFile.setBbsFileDownCnt(0);
|
|
tBbsFile.settBbsData(tBbsDataDB);
|
|
|
|
//앨범게시판이고 워터마크 사용일때 이미지에 워크마크 적용
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A")){
|
|
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetWaterMark()).equals("Y")){
|
|
SeedFileUtils.setWaterMarkImg(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+tBbsDataDB.gettBbsSet().getBbsSetWaterMarkReImg());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
}
|
|
|
|
if(fileEncryChk){
|
|
|
|
//파일 암호화
|
|
SeedFileUtils.setSeedEncryptFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+fileType);
|
|
|
|
//원본 파일 삭제
|
|
makeFile.delete();
|
|
|
|
//암호화된 파일명 원본 파일명으로 변경
|
|
File encryFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+fileType+".des");
|
|
|
|
encryFile.renameTo(makeFile);
|
|
}
|
|
|
|
if(!bbsFileDAO.setBbsFileRegProc(tBbsFile)){
|
|
return 0;
|
|
}else{
|
|
|
|
//암호화 파일이 아닐때만 미리보기 적용
|
|
if(!fileEncryChk){
|
|
|
|
if(filePreviewChk){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert");
|
|
|
|
if(fileType.equals("doc")){
|
|
SeedCvtDOCToHtml convert = new SeedCvtDOCToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("docx")){
|
|
SeedCvtDOCXToHtml convert = new SeedCvtDOCXToHtml();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("xls")){
|
|
SeedCvtXLSToHtml convert = new SeedCvtXLSToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("xlsx")){
|
|
SeedCvtXLSXToHtml convert = new SeedCvtXLSXToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("ppt")){
|
|
SeedCvtPPTToImg convert = new SeedCvtPPTToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("pptx")){
|
|
SeedCvtPPTXToImg convert = new SeedCvtPPTXToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("pdf")){
|
|
SeedCvtPDFToImg convert = new SeedCvtPDFToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}catch(IOException e){
|
|
log.error("CHECK ERROR:",e);
|
|
}
|
|
|
|
}else{
|
|
|
|
List<T_COMMON_FILE> tCommonFileList = commonFileService.getCommonFileList(tBbsDataDB.gettBbsSet().getBbsSetIdx(), fileCode);
|
|
|
|
if(tCommonFileList != null && tCommonFileList.size() > 0){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
|
|
for(int f=0; f<tCommonFileList.size(); f++){
|
|
String reFileName = tBbsDataDB.gettBbsSet().getBbsSetIdx() + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
|
|
T_COMMON_FILE tCommonFile = tCommonFileList.get(f);
|
|
|
|
SeedUtils.setSeedFileCopy(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/"+tCommonFile.getCommonFileReName()
|
|
, rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/thumb_"+tCommonFile.getCommonFileReName());
|
|
|
|
//썸네일 작성
|
|
try{
|
|
|
|
//TempFiles에 복호화 후 삭제
|
|
String fileName = rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/"+tCommonFile.getCommonFileReName();
|
|
|
|
if(tCommonFile.getCommonFileEncryption().equals("Y")){
|
|
|
|
//파일 복호화
|
|
SeedFileUtils.getSeedDecryptFile(fileName);
|
|
|
|
fileName = rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/"+tCommonFile.getCommonFileReName()+".dcr";
|
|
}
|
|
|
|
if(tCommonFile.getCommonFileType().toLowerCase().equals("jpg") ||
|
|
tCommonFile.getCommonFileType().toLowerCase().equals("jpeg") ||
|
|
tCommonFile.getCommonFileType().toLowerCase().equals("bmp") ||
|
|
tCommonFile.getCommonFileType().toLowerCase().equals("png")){
|
|
|
|
Thumbnails.of(
|
|
new File(fileName)).
|
|
size(thumbWidth, thumbHeight).
|
|
toFile(new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+tCommonFile.getCommonFileType())
|
|
);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(tCommonFile.getCommonFileReName())){
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
}else if(tCommonFile.getCommonFileType().toLowerCase().equals("gif")){
|
|
|
|
int width = 100;
|
|
int height = 50;
|
|
|
|
File thumbFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
|
|
RenderedOp renderedOp = JAI.create("fileload", fileName);
|
|
|
|
BufferedImage bi = renderedOp.getAsBufferedImage();
|
|
|
|
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
|
|
Graphics2D graphics2D = bufferedImage.createGraphics();
|
|
graphics2D.drawImage(bi, 0, 0, width, height, null);
|
|
ImageIO.write(bufferedImage, "jpg", thumbFile);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(tCommonFile.getCommonFileReName())){
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
|
|
T_BBS_FILE tBbsFile = new T_BBS_FILE();
|
|
|
|
tBbsFile.setBbsFileName(tCommonFile.getCommonFileName());
|
|
tBbsFile.setBbsFileReName(reFileName+"."+tCommonFile.getCommonFileType());
|
|
tBbsFile.setBbsFileSize(tCommonFile.getCommonFileSize());
|
|
tBbsFile.setBbsFileType(tCommonFile.getCommonFileType().toLowerCase());
|
|
tBbsFile.setBbsFileText(tCommonFile.getCommonFileText());
|
|
tBbsFile.setBbsFileEncryption(tCommonFile.getCommonFileEncryption());
|
|
tBbsFile.setBbsFileRegDate(new Date());
|
|
tBbsFile.setBbsFileDownCnt(0);
|
|
tBbsFile.settBbsData(tBbsDataDB);
|
|
|
|
//앨범게시판이고 워터마크 사용일때 이미지에 워크마크 적용
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A")){
|
|
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetWaterMark()).equals("Y")){
|
|
SeedFileUtils.setWaterMarkImg(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+tBbsDataDB.gettBbsSet().getBbsSetWaterMarkReImg());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
}
|
|
|
|
if(bbsFileDAO.setBbsFileRegProc(tBbsFile)){
|
|
|
|
commonFileService.setCommonFileDelProc(tCommonFile.getCommonFileIdx(), tBbsDataDB.gettBbsSet().gettSite().getSiteIdx(), rootPath);
|
|
|
|
if(filePreviewChk){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert");
|
|
|
|
if(tCommonFile.getCommonFileType().equals("doc")){
|
|
SeedCvtDOCToHtml convert = new SeedCvtDOCToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("docx")){
|
|
SeedCvtDOCXToHtml convert = new SeedCvtDOCXToHtml();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("xls")){
|
|
SeedCvtXLSToHtml convert = new SeedCvtXLSToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("xlsx")){
|
|
SeedCvtXLSXToHtml convert = new SeedCvtXLSXToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("ppt")){
|
|
SeedCvtPPTToImg convert = new SeedCvtPPTToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("pptx")){
|
|
SeedCvtPPTXToImg convert = new SeedCvtPPTXToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("pdf")){
|
|
SeedCvtPDFToImg convert = new SeedCvtPDFToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}
|
|
}
|
|
}
|
|
|
|
//복호화파일 삭제
|
|
SeedUtils.setSeedDeleteFile(fileName);
|
|
|
|
}catch(IOException e){
|
|
log.error("CHECK ERROR:",e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tBbsDataDB.setBbsDataContent(bbsDataContent);
|
|
tBbsDataDB.setBbsDataGroup(tBbsDataDB.getBbsDataIdx());
|
|
tBbsDataDB.setBbsDataFam(tBbsDataDB.getBbsDataIdx());
|
|
|
|
tBbsDataDB.setBbsDataThumb(thumImg);
|
|
tBbsDataDB.setBbsDataThumbText(thumImgText);
|
|
|
|
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetYoutube()).equals("Y") &&
|
|
!SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataYoutube()).equals("") &&
|
|
SeedUtils.setReplaceNull(thumImg).equals("")){
|
|
|
|
String youtubeVi = SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataYoutube());
|
|
|
|
youtubeVi = youtubeVi.substring(youtubeVi.lastIndexOf("/")+1);
|
|
|
|
tBbsDataDB.setBbsDataThumb("http://img.youtube.com/vi/"+youtubeVi+"/mqdefault.jpg");
|
|
tBbsDataDB.setBbsDataThumbText("유튜브 썸네일 이미지 "+youtubeVi);
|
|
}
|
|
|
|
tBbsDataDB.setBbsFileCount(Integer.parseInt(bbsFileDAO.getBbsFileListCnt(bbsDataIdx).toString()));
|
|
bbsDataDAO.setBbsDataModProc(tBbsDataDB);
|
|
}
|
|
|
|
return bbsDataIdx;
|
|
}
|
|
|
|
//ManagerBbsController
|
|
@Transactional
|
|
public Integer setBbsDataReplyProc(T_BBS_DATA tBbsData, Integer bbsFamIdx, Integer memberIdx, String memberIp, String fileCode, List<MultipartFile> upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath){
|
|
|
|
Integer bbsDataIdx = 0;
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
T_BBS_DATA tBbsDataFam = bbsDataDAO.getBbsDataForm(bbsFamIdx);
|
|
bbsDataDAO.setBbsDataPosModProc(tBbsDataFam);
|
|
|
|
if(memberIdx > 0){
|
|
T_MEMBER tMember = new T_MEMBER();
|
|
tMember.setMemberIdx(memberIdx);
|
|
tBbsData.settMember(tMember);
|
|
}else{
|
|
String strCode = SeedUtils.getSeedMD5Code(tBbsData.getBbsDataPw());
|
|
tBbsData.setBbsDataPw(SeedUtils.getSeedSHA256Code(strCode));
|
|
}
|
|
|
|
tBbsData.setBbsDataNotice("N");
|
|
tBbsData.setBbsDataGroup(tBbsDataFam.getBbsDataGroup());
|
|
tBbsData.setBbsDataPosition(tBbsDataFam.getBbsDataPosition()+1);
|
|
tBbsData.setBbsDataFam(tBbsDataFam.getBbsDataIdx());
|
|
tBbsData.setBbsDataDepth(tBbsDataFam.getBbsDataDepth()+1);
|
|
tBbsData.setBbsDataHit(0);
|
|
tBbsData.setBbsDataStatus("U");
|
|
|
|
if(SeedUtils.setReplaceNull(tBbsData.getBbsDataRegDate()).equals("")){
|
|
tBbsData.setBbsDataRegDate(sdf.format(new Date()));
|
|
}
|
|
|
|
tBbsData.setBbsDataModDate(sdf.format(new Date()));
|
|
tBbsData.setBbsDataMemberIp(memberIp);
|
|
tBbsData.setBbsCommentCount(0);
|
|
tBbsData.setBbsFileCount(0);
|
|
|
|
T_BBS_DATA tBbsDataDB = bbsDataDAO.setBbsDataRegProc(tBbsData);
|
|
|
|
if(tBbsDataDB != null){
|
|
|
|
bbsDataIdx = tBbsDataDB.getBbsDataIdx();
|
|
|
|
String bbsDataContent = tBbsDataDB.getBbsDataContent();
|
|
|
|
String thumImg = "";
|
|
String thumImgText = "";
|
|
|
|
if(SeedUtils.setReplaceNull(tBbsData.gettBbsSet().getBbsSetPoint()).equals("Y")){
|
|
//댓글 포인트
|
|
T_POINT tPoint = new T_POINT();
|
|
|
|
tPoint.setPointSetIdx(tBbsData.gettBbsSet().getBbsSetIdx());
|
|
tPoint.setPointDataIdx(tBbsData.getBbsDataIdx());
|
|
tPoint.setPointRegdate(sdf.format(new Date()));
|
|
tPoint.setMemberIp(memberIp);
|
|
tPoint.setMemberIdx(memberIdx);
|
|
tPoint.setSiteIdx(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx());
|
|
tPoint.setFuncType("REPLY");
|
|
tPoint.setPointScore(tBbsDataDB.gettBbsSet().getBbsSetPointWrite());
|
|
|
|
bbsDataDAO.setBbsPointProc(tPoint);
|
|
}
|
|
|
|
//FTP 전송
|
|
SeedFtpType seedFtpType = new SeedFtpType();
|
|
|
|
if(upFiles != null && upFiles.size() > 0){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
|
|
try{
|
|
|
|
for(int f=0; f<upFiles.size(); f++){
|
|
|
|
boolean fileChk = false;
|
|
|
|
MultipartFile multipartFile = upFiles.get(f);
|
|
|
|
if(multipartFile != null && !multipartFile.isEmpty()){
|
|
|
|
if(fileIdxs != null && fileIdxs.length > 0){
|
|
for(int d=0; d<fileIdxs.length; d++){
|
|
|
|
String fileIdx = fileIdxs[d];
|
|
|
|
if(fileIdx.equals(String.valueOf(f))){
|
|
fileChk = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!fileChk){
|
|
continue;
|
|
}
|
|
|
|
String orgFileName = multipartFile.getOriginalFilename();
|
|
String reFileName = tBbsDataDB.gettBbsSet().getBbsSetIdx() + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
|
|
String fileType = orgFileName.substring(orgFileName.lastIndexOf(".")+1);
|
|
Long fileSize = multipartFile.getSize();
|
|
|
|
File makeFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType);
|
|
multipartFile.transferTo(makeFile);
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
if(fileType.toLowerCase().equals("jpg") ||
|
|
fileType.toLowerCase().equals("jpeg") ||
|
|
fileType.toLowerCase().equals("bmp") ||
|
|
fileType.toLowerCase().equals("png")){
|
|
|
|
Thumbnails.of(
|
|
new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName+"."+fileType)).
|
|
size(thumbWidth, thumbHeight).
|
|
toFile(new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+fileType)
|
|
);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(String.valueOf(f))){
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
}else if(fileType.toLowerCase().equals("gif")){
|
|
|
|
int width = 100;
|
|
int height = 50;
|
|
|
|
File thumbFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+fileType);
|
|
|
|
RenderedOp renderedOp = JAI.create("fileload", rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName+"."+fileType);
|
|
|
|
BufferedImage bi = renderedOp.getAsBufferedImage();
|
|
|
|
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
|
|
Graphics2D graphics2D = bufferedImage.createGraphics();
|
|
graphics2D.drawImage(bi, 0, 0, width, height, null);
|
|
ImageIO.write(bufferedImage, "jpg", thumbFile);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(reFileName+"."+fileType)){
|
|
thumImg = reFileName+"."+reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
T_BBS_FILE tBbsFile = new T_BBS_FILE();
|
|
|
|
tBbsFile.setBbsFileName(orgFileName);
|
|
tBbsFile.setBbsFileReName(reFileName+"."+fileType);
|
|
tBbsFile.setBbsFileSize(fileSize);
|
|
tBbsFile.setBbsFileType(fileType.toLowerCase());
|
|
tBbsFile.setBbsFileText(orgFileName);
|
|
if(fileEncryChk){
|
|
tBbsFile.setBbsFileEncryption("Y");
|
|
}else{
|
|
tBbsFile.setBbsFileEncryption("N");
|
|
}
|
|
tBbsFile.setBbsFileRegDate(new Date());
|
|
tBbsFile.setBbsFileDownCnt(0);
|
|
tBbsFile.settBbsData(tBbsDataDB);
|
|
|
|
//앨범게시판이고 워터마크 사용일때 이미지에 워크마크 적용
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A")){
|
|
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetWaterMark()).equals("Y")){
|
|
SeedFileUtils.setWaterMarkImg(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+tBbsDataDB.gettBbsSet().getBbsSetWaterMarkReImg());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
}
|
|
|
|
if(fileEncryChk){
|
|
|
|
//파일 암호화
|
|
SeedFileUtils.setSeedEncryptFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+fileType);
|
|
|
|
//원본 파일 삭제
|
|
makeFile.delete();
|
|
|
|
//암호화된 파일명 원본 파일명으로 변경
|
|
File encryFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+fileType+".des");
|
|
|
|
encryFile.renameTo(makeFile);
|
|
}
|
|
|
|
if(!bbsFileDAO.setBbsFileRegProc(tBbsFile)){
|
|
return 0;
|
|
}else{
|
|
|
|
//암호화 파일이 아닐때만 미리보기 적용
|
|
if(!fileEncryChk){
|
|
|
|
if(filePreviewChk){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert");
|
|
|
|
if(fileType.equals("doc")){
|
|
SeedCvtDOCToHtml convert = new SeedCvtDOCToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("docx")){
|
|
SeedCvtDOCXToHtml convert = new SeedCvtDOCXToHtml();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("xls")){
|
|
SeedCvtXLSToHtml convert = new SeedCvtXLSToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("xlsx")){
|
|
SeedCvtXLSXToHtml convert = new SeedCvtXLSXToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("ppt")){
|
|
SeedCvtPPTToImg convert = new SeedCvtPPTToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("pptx")){
|
|
SeedCvtPPTXToImg convert = new SeedCvtPPTXToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("pdf")){
|
|
SeedCvtPDFToImg convert = new SeedCvtPDFToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}catch(IOException e){
|
|
log.error("CHECK ERROR:",e);
|
|
}
|
|
|
|
}else{
|
|
|
|
List<T_COMMON_FILE> tCommonFileList = commonFileService.getCommonFileList(tBbsDataDB.gettBbsSet().getBbsSetIdx(), fileCode);
|
|
|
|
if(tCommonFileList != null && tCommonFileList.size() > 0){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
|
|
for(int f=0; f<tCommonFileList.size(); f++){
|
|
String reFileName = tBbsDataDB.gettBbsSet().getBbsSetIdx() + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
|
|
T_COMMON_FILE tCommonFile = tCommonFileList.get(f);
|
|
|
|
SeedUtils.setSeedFileCopy(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/"+tCommonFile.getCommonFileReName()
|
|
, rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/thumb_"+tCommonFile.getCommonFileReName());
|
|
|
|
//썸네일 작성
|
|
try{
|
|
|
|
//TempFiles에 복호화 후 삭제
|
|
String fileName = rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/"+tCommonFile.getCommonFileReName();
|
|
|
|
if(tCommonFile.getCommonFileEncryption().equals("Y")){
|
|
|
|
//파일 복호화
|
|
SeedFileUtils.getSeedDecryptFile(fileName);
|
|
|
|
fileName = rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/"+tCommonFile.getCommonFileReName()+".dcr";
|
|
}
|
|
|
|
if(tCommonFile.getCommonFileType().toLowerCase().equals("jpg") ||
|
|
tCommonFile.getCommonFileType().toLowerCase().equals("jpeg") ||
|
|
tCommonFile.getCommonFileType().toLowerCase().equals("bmp") ||
|
|
tCommonFile.getCommonFileType().toLowerCase().equals("png")){
|
|
|
|
Thumbnails.of(
|
|
new File(fileName)).
|
|
size(thumbWidth, thumbHeight).
|
|
toFile(new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+tCommonFile.getCommonFileType())
|
|
);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(tCommonFile.getCommonFileReName())){
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
}else if(tCommonFile.getCommonFileType().toLowerCase().equals("gif")){
|
|
|
|
int width = 100;
|
|
int height = 50;
|
|
|
|
File thumbFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
|
|
RenderedOp renderedOp = JAI.create("fileload", fileName);
|
|
|
|
BufferedImage bi = renderedOp.getAsBufferedImage();
|
|
|
|
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
|
|
Graphics2D graphics2D = bufferedImage.createGraphics();
|
|
graphics2D.drawImage(bi, 0, 0, width, height, null);
|
|
ImageIO.write(bufferedImage, "jpg", thumbFile);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(tCommonFile.getCommonFileReName())){
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
T_BBS_FILE tBbsFile = new T_BBS_FILE();
|
|
|
|
tBbsFile.setBbsFileName(tCommonFile.getCommonFileName());
|
|
tBbsFile.setBbsFileReName(reFileName+"."+tCommonFile.getCommonFileType());
|
|
tBbsFile.setBbsFileSize(tCommonFile.getCommonFileSize());
|
|
tBbsFile.setBbsFileType(tCommonFile.getCommonFileType().toLowerCase());
|
|
tBbsFile.setBbsFileText(tCommonFile.getCommonFileText());
|
|
tBbsFile.setBbsFileEncryption(tCommonFile.getCommonFileEncryption());
|
|
tBbsFile.setBbsFileRegDate(new Date());
|
|
tBbsFile.setBbsFileDownCnt(0);
|
|
tBbsFile.settBbsData(tBbsDataDB);
|
|
|
|
//앨범게시판이고 워터마크 사용일때 이미지에 워크마크 적용
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A")){
|
|
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetWaterMark()).equals("Y")){
|
|
SeedFileUtils.setWaterMarkImg(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+tBbsDataDB.gettBbsSet().getBbsSetWaterMarkReImg());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
}
|
|
|
|
if(bbsFileDAO.setBbsFileRegProc(tBbsFile)){
|
|
|
|
commonFileService.setCommonFileDelProc(tCommonFile.getCommonFileIdx(), tBbsDataDB.gettBbsSet().gettSite().getSiteIdx(), rootPath);
|
|
|
|
if(filePreviewChk){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert");
|
|
|
|
if(tCommonFile.getCommonFileType().equals("doc")){
|
|
SeedCvtDOCToHtml convert = new SeedCvtDOCToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("docx")){
|
|
SeedCvtDOCXToHtml convert = new SeedCvtDOCXToHtml();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("xls")){
|
|
SeedCvtXLSToHtml convert = new SeedCvtXLSToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("xlsx")){
|
|
SeedCvtXLSXToHtml convert = new SeedCvtXLSXToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("ppt")){
|
|
SeedCvtPPTToImg convert = new SeedCvtPPTToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("pptx")){
|
|
SeedCvtPPTXToImg convert = new SeedCvtPPTXToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("pdf")){
|
|
SeedCvtPDFToImg convert = new SeedCvtPDFToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}
|
|
}
|
|
}
|
|
|
|
//복호화파일 삭제
|
|
SeedUtils.setSeedDeleteFile(fileName);
|
|
|
|
}catch(IOException e){
|
|
log.error("CHECK ERROR:",e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tBbsDataDB.setBbsDataContent(bbsDataContent);
|
|
|
|
tBbsDataDB.setBbsDataThumb(thumImg);
|
|
tBbsDataDB.setBbsDataThumbText(thumImgText);
|
|
|
|
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetYoutube()).equals("Y") &&
|
|
!SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataYoutube()).equals("") &&
|
|
SeedUtils.setReplaceNull(thumImg).equals("")){
|
|
|
|
String youtubeVi = SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataYoutube());
|
|
|
|
youtubeVi = youtubeVi.substring(youtubeVi.lastIndexOf("/")+1);
|
|
|
|
tBbsDataDB.setBbsDataThumb("http://img.youtube.com/vi/"+youtubeVi+"/mqdefault.jpg");
|
|
tBbsDataDB.setBbsDataThumbText("유튜브 썸네일 이미지 "+youtubeVi);
|
|
}
|
|
|
|
tBbsDataDB.setBbsFileCount(Integer.parseInt(bbsFileDAO.getBbsFileListCnt(bbsDataIdx).toString()));
|
|
bbsDataDAO.setBbsDataModProc(tBbsDataDB);
|
|
}
|
|
|
|
return bbsDataIdx;
|
|
}
|
|
|
|
//ManagerBbsController
|
|
@Transactional
|
|
public String setBbsDataModProc(T_BBS_DATA tBbsData, Integer memberIdx, String memberIp, Integer[] bbsFileIdx, String fileCode, List<MultipartFile> upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath){
|
|
|
|
String success = "N";
|
|
String thumImg = tBbsData.getBbsDataThumb();
|
|
String thumImgText = "";
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsDataForm(tBbsData.getBbsDataIdx());
|
|
|
|
if(!SeedUtils.setReplaceNull(tBbsData.getBbsDataNotice()).equals("Y") && !SeedUtils.setReplaceNull(tBbsData.getBbsDataNotice()).equals("A")){
|
|
tBbsDataDB.setBbsDataNotice("N");
|
|
tBbsDataDB.setBbsDataNoticeSdate("");
|
|
tBbsDataDB.setBbsDataNoticeEdate("");
|
|
}else{
|
|
tBbsDataDB.setBbsDataNotice(tBbsData.getBbsDataNotice());
|
|
tBbsDataDB.setBbsDataNoticeSdate(tBbsData.getBbsDataNoticeSdate());
|
|
tBbsDataDB.setBbsDataNoticeEdate(tBbsData.getBbsDataNoticeEdate());
|
|
}
|
|
|
|
String bbsDataContent = tBbsData.getBbsDataContent();
|
|
|
|
tBbsDataDB.setBbsDataTitle(tBbsData.getBbsDataTitle());
|
|
tBbsDataDB.setBbsDataLinkUrl(tBbsData.getBbsDataLinkUrl());
|
|
tBbsDataDB.setBbsDataLinkType(tBbsData.getBbsDataLinkType());
|
|
tBbsDataDB.setBbsDataCategory(SeedUtils.setReplaceNull(tBbsData.getBbsDataCategory()));
|
|
tBbsDataDB.setBbsDataContent(bbsDataContent);
|
|
tBbsDataDB.setBbsDataThumb(thumImg);
|
|
tBbsDataDB.setBbsDataEventSdate(tBbsData.getBbsDataEventSdate());
|
|
tBbsDataDB.setBbsDataEventEdate(tBbsData.getBbsDataEventEdate());
|
|
tBbsDataDB.setBbsDataEventUrl(tBbsData.getBbsDataEventUrl());
|
|
tBbsDataDB.setBbsDataEventResultUrl(tBbsData.getBbsDataEventResultUrl());
|
|
|
|
if(SeedUtils.setReplaceNull(tBbsData.getBbsDataRegDate()).equals("")){
|
|
tBbsDataDB.setBbsDataRegDate(sdf.format(new Date()));
|
|
}else{
|
|
tBbsDataDB.setBbsDataRegDate(tBbsData.getBbsDataRegDate());
|
|
}
|
|
|
|
tBbsDataDB.setBbsDataModDate(sdf.format(new Date()));
|
|
tBbsDataDB.setBbsDataSecret(tBbsData.getBbsDataSecret());
|
|
tBbsDataDB.setBbsDataMemberIp(memberIp);
|
|
tBbsDataDB.setBbsDataReplyStatus(tBbsData.getBbsDataReplyStatus());
|
|
|
|
tBbsDataDB.setBbsDataItemA1(tBbsData.getBbsDataItemA1());
|
|
tBbsDataDB.setBbsDataItemB2(tBbsData.getBbsDataItemB2());
|
|
tBbsDataDB.setBbsDataItemC3(tBbsData.getBbsDataItemC3());
|
|
tBbsDataDB.setBbsDataItemD4(tBbsData.getBbsDataItemD4());
|
|
tBbsDataDB.setBbsDataItemE5(tBbsData.getBbsDataItemE5());
|
|
tBbsDataDB.setBbsDataItemF6(tBbsData.getBbsDataItemF6());
|
|
tBbsDataDB.setBbsDataItemG7(tBbsData.getBbsDataItemG7());
|
|
tBbsDataDB.setBbsDataItemH8(tBbsData.getBbsDataItemH8());
|
|
tBbsDataDB.setBbsDataItemI9(tBbsData.getBbsDataItemI9());
|
|
tBbsDataDB.setBbsDataItemJ10(tBbsData.getBbsDataItemJ10());
|
|
tBbsDataDB.setBbsDataYoutube(SeedUtils.setReplaceNull(tBbsData.getBbsDataYoutube()));
|
|
|
|
thumImgText = tBbsDataDB.getBbsDataThumbText();
|
|
|
|
if(bbsDataDAO.setBbsDataModProc(tBbsDataDB)){
|
|
|
|
//FTP 전송
|
|
SeedFtpType seedFtpType = new SeedFtpType();
|
|
|
|
if(bbsFileIdx.length > 0){
|
|
|
|
String[] qryColumns = null;
|
|
|
|
List<T_BBS_FILE> tBbsFileList = bbsFileDAO.getBbsFileList(tBbsDataDB.getBbsDataIdx(), bbsFileIdx, qryColumns);
|
|
|
|
if(tBbsFileList != null && tBbsFileList.size() > 0){
|
|
for(int f=0; f<tBbsFileList.size(); f++){
|
|
T_BBS_FILE tBbsFile = tBbsFileList.get(f);
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() +
|
|
"/" + tBbsFile.getBbsFileReName());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath("");
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(tBbsFile.getBbsFileReName());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("delFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() +
|
|
"/thumb_" + tBbsFile.getBbsFileReName());
|
|
|
|
if(tBbsFile.getBbsFileType().toLowerCase().equals("jpg") ||
|
|
tBbsFile.getBbsFileType().toLowerCase().equals("jpeg") ||
|
|
tBbsFile.getBbsFileType().toLowerCase().equals("bmp") ||
|
|
tBbsFile.getBbsFileType().toLowerCase().equals("png")){
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath("");
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+tBbsFile.getBbsFileReName());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("delFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
bbsFileDAO.setBbsFileDelProc(tBbsFile);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(upFiles != null && upFiles.size() > 0){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
|
|
try{
|
|
|
|
for(int f=0; f<upFiles.size(); f++){
|
|
|
|
boolean fileChk = false;
|
|
|
|
MultipartFile multipartFile = upFiles.get(f);
|
|
|
|
if(multipartFile != null && !multipartFile.isEmpty()){
|
|
|
|
if(fileIdxs != null && fileIdxs.length > 0){
|
|
for(int d=0; d<fileIdxs.length; d++){
|
|
|
|
String fileIdx = fileIdxs[d];
|
|
|
|
if(fileIdx.equals(String.valueOf(f))){
|
|
fileChk = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!fileChk){
|
|
continue;
|
|
}
|
|
|
|
String orgFileName = multipartFile.getOriginalFilename();
|
|
String reFileName = tBbsDataDB.gettBbsSet().getBbsSetIdx() + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
|
|
String fileType = orgFileName.substring(orgFileName.lastIndexOf(".")+1);
|
|
Long fileSize = multipartFile.getSize();
|
|
|
|
File makeFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType);
|
|
multipartFile.transferTo(makeFile);
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
if(fileType.toLowerCase().equals("jpg") ||
|
|
fileType.toLowerCase().equals("jpeg") ||
|
|
fileType.toLowerCase().equals("bmp") ||
|
|
fileType.toLowerCase().equals("png")){
|
|
|
|
Thumbnails.of(
|
|
new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName+"."+fileType)).
|
|
size(thumbWidth, thumbHeight).
|
|
toFile(new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+fileType)
|
|
);
|
|
|
|
if(tBbsDataDB.getBbsDataThumb().equals(String.valueOf(f))){
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}else{
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(reFileName+"."+fileType)){
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
}else if(fileType.toLowerCase().equals("gif")){
|
|
|
|
int width = 100;
|
|
int height = 50;
|
|
|
|
File thumbFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+fileType);
|
|
|
|
RenderedOp renderedOp = JAI.create("fileload", rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName+"."+fileType);
|
|
|
|
BufferedImage bi = renderedOp.getAsBufferedImage();
|
|
|
|
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
|
|
Graphics2D graphics2D = bufferedImage.createGraphics();
|
|
graphics2D.drawImage(bi, 0, 0, width, height, null);
|
|
ImageIO.write(bufferedImage, "jpg", thumbFile);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(reFileName+"."+fileType)){
|
|
thumImg = reFileName+"."+reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+fileType;
|
|
thumImgText = orgFileName;
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
T_BBS_FILE tBbsFile = new T_BBS_FILE();
|
|
|
|
tBbsFile.setBbsFileName(orgFileName);
|
|
tBbsFile.setBbsFileReName(reFileName+"."+fileType);
|
|
tBbsFile.setBbsFileSize(fileSize);
|
|
tBbsFile.setBbsFileType(fileType.toLowerCase());
|
|
tBbsFile.setBbsFileText(orgFileName);
|
|
if(fileEncryChk){
|
|
tBbsFile.setBbsFileEncryption("Y");
|
|
}else{
|
|
tBbsFile.setBbsFileEncryption("N");
|
|
}
|
|
tBbsFile.setBbsFileRegDate(new Date());
|
|
tBbsFile.setBbsFileDownCnt(0);
|
|
tBbsFile.settBbsData(tBbsDataDB);
|
|
|
|
//앨범게시판이고 워터마크 사용일때 이미지에 워크마크 적용
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A")){
|
|
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetWaterMark()).equals("Y")){
|
|
SeedFileUtils.setWaterMarkImg(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+tBbsDataDB.gettBbsSet().getBbsSetWaterMarkReImg());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+fileType);
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
}
|
|
|
|
if(fileEncryChk){
|
|
|
|
//파일 암호화
|
|
SeedFileUtils.setSeedEncryptFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+fileType);
|
|
|
|
//원본 파일 삭제
|
|
makeFile.delete();
|
|
|
|
//암호화된 파일명 원본 파일명으로 변경
|
|
File encryFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+fileType+".des");
|
|
|
|
encryFile.renameTo(makeFile);
|
|
}
|
|
|
|
if(!bbsFileDAO.setBbsFileRegProc(tBbsFile)){
|
|
return "ERROR";
|
|
}else{
|
|
|
|
//암호화 파일이 아닐때만 미리보기 적용
|
|
if(!fileEncryChk){
|
|
|
|
if(filePreviewChk){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert");
|
|
|
|
if(fileType.equals("doc")){
|
|
SeedCvtDOCToHtml convert = new SeedCvtDOCToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("docx")){
|
|
SeedCvtDOCXToHtml convert = new SeedCvtDOCXToHtml();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("xls")){
|
|
SeedCvtXLSToHtml convert = new SeedCvtXLSToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("xlsx")){
|
|
SeedCvtXLSXToHtml convert = new SeedCvtXLSXToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("ppt")){
|
|
SeedCvtPPTToImg convert = new SeedCvtPPTToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("pptx")){
|
|
SeedCvtPPTXToImg convert = new SeedCvtPPTXToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(fileType.equals("pdf")){
|
|
SeedCvtPDFToImg convert = new SeedCvtPDFToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + fileType,
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}catch(IOException e){
|
|
log.error("CHECK ERROR:",e);
|
|
}
|
|
|
|
}else{
|
|
|
|
List<T_COMMON_FILE> tCommonFileList = commonFileService.getCommonFileList(tBbsDataDB.gettBbsSet().getBbsSetIdx(), fileCode);
|
|
|
|
if(tCommonFileList != null && tCommonFileList.size() > 0){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
|
|
for(int f=0; f<tCommonFileList.size(); f++){
|
|
String reFileName = tBbsDataDB.gettBbsSet().getBbsSetIdx() + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
|
|
T_COMMON_FILE tCommonFile = tCommonFileList.get(f);
|
|
|
|
SeedUtils.setSeedFileCopy(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/"+tCommonFile.getCommonFileReName()
|
|
, rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/thumb_"+tCommonFile.getCommonFileReName());
|
|
|
|
//썸네일 작성
|
|
try{
|
|
|
|
//TempFiles에 복호화 후 삭제
|
|
String fileName = rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/"+tCommonFile.getCommonFileReName();
|
|
|
|
if(tCommonFile.getCommonFileEncryption().equals("Y")){
|
|
|
|
//파일 복호화
|
|
SeedFileUtils.getSeedDecryptFile(fileName);
|
|
|
|
fileName = rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/tempFiles/"+tCommonFile.getCommonFileDate()+"/"+tCommonFile.getCommonFileCode()+"/"+tCommonFile.getCommonFileReName()+".dcr";
|
|
}
|
|
|
|
if(tCommonFile.getCommonFileType().toLowerCase().equals("jpg") ||
|
|
tCommonFile.getCommonFileType().toLowerCase().equals("jpeg") ||
|
|
tCommonFile.getCommonFileType().toLowerCase().equals("bmp") ||
|
|
tCommonFile.getCommonFileType().toLowerCase().equals("png")){
|
|
|
|
Thumbnails.of(
|
|
new File(fileName)).
|
|
size(thumbWidth, thumbHeight).
|
|
toFile(new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+tCommonFile.getCommonFileType())
|
|
);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(tCommonFile.getCommonFileReName())){
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
}else if(tCommonFile.getCommonFileType().toLowerCase().equals("gif")){
|
|
|
|
int width = 100;
|
|
int height = 50;
|
|
|
|
File thumbFile = new File(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+
|
|
tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
|
|
RenderedOp renderedOp = JAI.create("fileload", fileName);
|
|
|
|
BufferedImage bi = renderedOp.getAsBufferedImage();
|
|
|
|
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
|
|
Graphics2D graphics2D = bufferedImage.createGraphics();
|
|
graphics2D.drawImage(bi, 0, 0, width, height, null);
|
|
ImageIO.write(bufferedImage, "jpg", thumbFile);
|
|
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A") || tBbsDataDB.gettBbsSet().getBbsSetType().equals("M")){
|
|
if(tBbsDataDB.getBbsDataThumb().equals(tCommonFile.getCommonFileReName())){
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
}else{
|
|
thumImg = reFileName+"."+tCommonFile.getCommonFileType();
|
|
thumImgText = tCommonFile.getCommonFileText();
|
|
}
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
T_BBS_FILE tBbsFile = new T_BBS_FILE();
|
|
|
|
tBbsFile.setBbsFileName(tCommonFile.getCommonFileName());
|
|
tBbsFile.setBbsFileReName(reFileName+"."+tCommonFile.getCommonFileType());
|
|
tBbsFile.setBbsFileSize(tCommonFile.getCommonFileSize());
|
|
tBbsFile.setBbsFileType(tCommonFile.getCommonFileType().toLowerCase());
|
|
tBbsFile.setBbsFileText(tCommonFile.getCommonFileText());
|
|
tBbsFile.setBbsFileEncryption(tCommonFile.getCommonFileEncryption());
|
|
tBbsFile.setBbsFileRegDate(new Date());
|
|
tBbsFile.setBbsFileDownCnt(0);
|
|
tBbsFile.settBbsData(tBbsDataDB);
|
|
|
|
//앨범게시판이고 워터마크 사용일때 이미지에 워크마크 적용
|
|
if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("A")){
|
|
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetWaterMark()).equals("Y")){
|
|
SeedFileUtils.setWaterMarkImg(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+reFileName+"."+tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx()+"/"+tBbsDataDB.gettBbsSet().getBbsSetWaterMarkReImg());
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/"+tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(reFileName+"."+tCommonFile.getCommonFileType());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("regFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
}
|
|
|
|
if(bbsFileDAO.setBbsFileRegProc(tBbsFile)){
|
|
|
|
commonFileService.setCommonFileDelProc(tCommonFile.getCommonFileIdx(), tBbsDataDB.gettBbsSet().gettSite().getSiteIdx(), rootPath);
|
|
|
|
if(filePreviewChk){
|
|
|
|
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert");
|
|
|
|
if(tCommonFile.getCommonFileType().equals("doc")){
|
|
SeedCvtDOCToHtml convert = new SeedCvtDOCToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("docx")){
|
|
SeedCvtDOCXToHtml convert = new SeedCvtDOCXToHtml();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("xls")){
|
|
SeedCvtXLSToHtml convert = new SeedCvtXLSToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("xlsx")){
|
|
SeedCvtXLSXToHtml convert = new SeedCvtXLSXToHtml();
|
|
convert.convert(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("ppt")){
|
|
SeedCvtPPTToImg convert = new SeedCvtPPTToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("pptx")){
|
|
SeedCvtPPTXToImg convert = new SeedCvtPPTXToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}else if(tCommonFile.getCommonFileType().equals("pdf")){
|
|
SeedCvtPDFToImg convert = new SeedCvtPDFToImg();
|
|
convert.convert(rootPath, tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "." + tCommonFile.getCommonFileType(),
|
|
rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()
|
|
+ "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() + "/" + reFileName + "/convert/");
|
|
}
|
|
}
|
|
}
|
|
|
|
//복호화파일 삭제
|
|
SeedUtils.setSeedDeleteFile(fileName);
|
|
|
|
}catch(IOException e){
|
|
log.error("CHECK ERROR:",e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tBbsDataDB.setBbsDataThumb(thumImg);
|
|
tBbsDataDB.setBbsDataThumbText(thumImgText);
|
|
|
|
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetYoutube()).equals("Y") &&
|
|
!SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataYoutube()).equals("") &&
|
|
SeedUtils.setReplaceNull(thumImg).equals("")){
|
|
|
|
String youtubeVi = SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataYoutube());
|
|
|
|
youtubeVi = youtubeVi.substring(youtubeVi.lastIndexOf("/")+1);
|
|
|
|
tBbsDataDB.setBbsDataThumb("http://img.youtube.com/vi/"+youtubeVi+"/mqdefault.jpg");
|
|
tBbsDataDB.setBbsDataThumbText("유튜브 썸네일 이미지 "+youtubeVi);
|
|
}
|
|
|
|
tBbsDataDB.setBbsFileCount(Integer.parseInt(bbsFileDAO.getBbsFileListCnt(tBbsDataDB.getBbsDataIdx()).toString()));
|
|
bbsDataDAO.setBbsDataModProc(tBbsDataDB);
|
|
|
|
success = "Y";
|
|
}
|
|
|
|
return success;
|
|
}
|
|
|
|
//ManagerBbsController
|
|
@Transactional
|
|
public String setBbsDataDelProc(Integer bbsDataIdx, String bbsSetTrash, String rootPath){
|
|
|
|
String success = "N";
|
|
|
|
T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsDataForm(bbsDataIdx);
|
|
|
|
if(bbsDataDAO.getBbsDataReplyCnt(tBbsDataDB.gettBbsSet().getBbsSetIdx(), tBbsDataDB.getBbsDataGroup(), tBbsDataDB.getBbsDataDepth()) > 0){
|
|
return "RE";
|
|
}
|
|
|
|
if(bbsSetTrash.equals("Y")){
|
|
|
|
tBbsDataDB.setBbsDataStatus("D");
|
|
if(bbsDataDAO.setBbsDataModProc(tBbsDataDB)){
|
|
success = "Y";
|
|
}
|
|
|
|
}else{
|
|
String[] qryColumns = null;
|
|
|
|
List<T_BBS_FILE> tBbsFileList = bbsFileDAO.getBbsFileList(tBbsDataDB.getBbsDataIdx(), qryColumns);
|
|
|
|
if(tBbsFileList != null && tBbsFileList.size() > 0){
|
|
|
|
//FTP 전송
|
|
SeedFtpType seedFtpType = new SeedFtpType();
|
|
|
|
for(int f=0; f<tBbsFileList.size(); f++){
|
|
T_BBS_FILE tBbsFile = tBbsFileList.get(f);
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() +
|
|
"/" + tBbsFile.getBbsFileReName());
|
|
|
|
SeedUtils.setSeedDeleteFiles(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() +
|
|
"/" + tBbsFile.getBbsFileReName().substring(0, tBbsFile.getBbsFileReName().lastIndexOf(".")), "");
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath("");
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(tBbsFile.getBbsFileReName());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("delFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx() +
|
|
"/thumb_" + tBbsFile.getBbsFileReName());
|
|
|
|
if(tBbsFile.getBbsFileType().toLowerCase().equals("jpg") ||
|
|
tBbsFile.getBbsFileType().toLowerCase().equals("jpeg") ||
|
|
tBbsFile.getBbsFileType().toLowerCase().equals("bmp") ||
|
|
tBbsFile.getBbsFileType().toLowerCase().equals("png")){
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx());
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath("");
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+tBbsFile.getBbsFileReName());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("delFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
bbsFileDAO.setBbsFileDelProc(tBbsFile);
|
|
}
|
|
}
|
|
|
|
if(bbsDataDAO.setBbsDataDelProc(tBbsDataDB)){
|
|
success = "Y";
|
|
|
|
success = "Y";
|
|
|
|
List<T_FILE_DOWNLOAD> tFileDownLoadList = fileDownLoadDAO.getFileDownLoadList("bbs", String.valueOf(tBbsDataDB.gettBbsSet().getBbsSetIdx()), String.valueOf(tBbsDataDB.getBbsDataIdx()));
|
|
|
|
if(tFileDownLoadList != null && tFileDownLoadList.size() > 0){
|
|
|
|
for(int d=0; d<tFileDownLoadList.size(); d++){
|
|
|
|
T_FILE_DOWNLOAD tFileDownLoadDB = tFileDownLoadList.get(d);
|
|
|
|
if(!fileDownLoadDAO.setFileDownLoadDelProc(tFileDownLoadDB)){
|
|
|
|
success = "N";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return success;
|
|
}
|
|
|
|
//ManagerBbsController
|
|
@Transactional
|
|
public boolean setBbsDataStatusProc(Integer bbsDataIdx, String status, String memberIp, String rootPath){
|
|
|
|
T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsDataForm(bbsDataIdx);
|
|
|
|
String siteIdx = tBbsDataDB.gettBbsSet().gettSite().getSiteIdx();
|
|
Integer bbsSetIdx = tBbsDataDB.gettBbsSet().getBbsSetIdx();
|
|
String bbsSetType = tBbsDataDB.gettBbsSet().getBbsSetType();
|
|
Integer bbsDataGroup = tBbsDataDB.getBbsDataGroup();
|
|
Integer bbsDataFam = tBbsDataDB.getBbsDataFam();
|
|
|
|
if(status.equals("Y")){
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
//답글 게시판인 경우 해당 글의 답글도 휴지통으로 이동
|
|
if(bbsSetType.equals("W")){
|
|
|
|
T_BBS_DATA tBbsReplyDB = bbsDataDAO.getBbsReplyForm(bbsDataGroup, bbsDataFam);
|
|
|
|
if(tBbsReplyDB != null){
|
|
|
|
tBbsReplyDB.setBbsDataMemberIp(memberIp);
|
|
tBbsReplyDB.setBbsDataModDate(sdf.format(new Date()));
|
|
tBbsReplyDB.setBbsDataStatus("D");
|
|
|
|
bbsDataDAO.setBbsDataModProc(tBbsReplyDB);
|
|
}
|
|
}
|
|
|
|
tBbsDataDB.setBbsDataMemberIp(memberIp);
|
|
tBbsDataDB.setBbsDataModDate(sdf.format(new Date()));
|
|
tBbsDataDB.setBbsDataStatus("D");
|
|
|
|
return bbsDataDAO.setBbsDataModProc(tBbsDataDB);
|
|
|
|
}else{
|
|
|
|
//답글 게시판인 경우 해당 글의 답글도 삭제
|
|
if(bbsSetType.equals("W")){
|
|
|
|
T_BBS_DATA tBbsReplyDB = bbsDataDAO.getBbsReplyForm(bbsDataGroup, bbsDataFam);
|
|
|
|
if(tBbsReplyDB != null){
|
|
|
|
List<T_BBS_FILE> tBbsFileReplyList = bbsFileDAO.getBbsFileList(tBbsReplyDB.getBbsDataIdx(), new String[] {});
|
|
|
|
if(tBbsFileReplyList != null && tBbsFileReplyList.size() > 0){
|
|
|
|
//FTP 전송
|
|
SeedFtpType seedFtpType = new SeedFtpType();
|
|
|
|
for(int f=0; f<tBbsFileReplyList.size(); f++){
|
|
T_BBS_FILE tBbsReplyFile = tBbsFileReplyList.get(f);
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
|
|
"/" + tBbsReplyFile.getBbsFileReName());
|
|
|
|
SeedUtils.setSeedDeleteFiles(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
|
|
"/" + tBbsReplyFile.getBbsFileReName().substring(0, tBbsReplyFile.getBbsFileReName().lastIndexOf(".")), "");
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(siteIdx + "/upload/bbs/" + bbsSetIdx);
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath("");
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(tBbsReplyFile.getBbsFileReName());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("delFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
|
|
"/thumb_" + tBbsReplyFile.getBbsFileReName());
|
|
|
|
if(tBbsReplyFile.getBbsFileType().toLowerCase().equals("jpg") ||
|
|
tBbsReplyFile.getBbsFileType().toLowerCase().equals("jpeg") ||
|
|
tBbsReplyFile.getBbsFileType().toLowerCase().equals("bmp") ||
|
|
tBbsReplyFile.getBbsFileType().toLowerCase().equals("png")){
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(siteIdx + "/upload/bbs/" + bbsSetIdx);
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath("");
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+tBbsReplyFile.getBbsFileReName());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("delFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
bbsFileDAO.setBbsFileDelProc(tBbsReplyFile);
|
|
}
|
|
}
|
|
|
|
bbsDataDAO.setBbsDataDelProc(tBbsReplyDB);
|
|
}
|
|
}
|
|
|
|
List<T_BBS_FILE> tBbsFileList = bbsFileDAO.getBbsFileList(bbsDataIdx, new String[]{});
|
|
|
|
if(tBbsFileList != null && tBbsFileList.size() > 0){
|
|
|
|
//FTP 전송
|
|
SeedFtpType seedFtpType = new SeedFtpType();
|
|
|
|
for(int f=0; f<tBbsFileList.size(); f++){
|
|
T_BBS_FILE tBbsFile = tBbsFileList.get(f);
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
|
|
"/" + tBbsFile.getBbsFileReName());
|
|
|
|
SeedUtils.setSeedDeleteFiles(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
|
|
"/" + tBbsFile.getBbsFileReName().substring(0, tBbsFile.getBbsFileReName().lastIndexOf(".")), "");
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(siteIdx + "/upload/bbs/" + bbsSetIdx);
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath("");
|
|
//WAS 파일명
|
|
seedFtpType.setFileName(tBbsFile.getBbsFileReName());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("delFile");
|
|
seedFtpType.setSeedFtp();
|
|
|
|
SeedUtils.setSeedDeleteFile(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
|
|
"/thumb_" + tBbsFile.getBbsFileReName());
|
|
|
|
if(tBbsFile.getBbsFileType().toLowerCase().equals("jpg") ||
|
|
tBbsFile.getBbsFileType().toLowerCase().equals("jpeg") ||
|
|
tBbsFile.getBbsFileType().toLowerCase().equals("bmp") ||
|
|
tBbsFile.getBbsFileType().toLowerCase().equals("png")){
|
|
|
|
//WEB 서버의 경로
|
|
seedFtpType.setDestFilePath(siteIdx + "/upload/bbs/" + bbsSetIdx);
|
|
//WAS 서버의 경로
|
|
seedFtpType.setSrcFilePath("");
|
|
//WAS 파일명
|
|
seedFtpType.setFileName("thumb_"+tBbsFile.getBbsFileReName());
|
|
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
|
seedFtpType.setFtpType("delFile");
|
|
seedFtpType.setSeedFtp();
|
|
}
|
|
|
|
bbsFileDAO.setBbsFileDelProc(tBbsFile);
|
|
}
|
|
}
|
|
|
|
return bbsDataDAO.setBbsDataDelProc(tBbsDataDB);
|
|
}
|
|
}
|
|
|
|
//ManagerBbsController
|
|
@Transactional
|
|
public void setBbsDataHitProc(Integer bbsDataIdx){
|
|
|
|
bbsDataDAO.setBbsDataHitProc(bbsDataIdx);
|
|
}
|
|
}
|