package com.kpmg.bmwsfm.service;
import com.csvreader.CsvWriter;
import com.kpmg.bmwsfm.biz.entity.ModelEntity;
import com.kpmg.bmwsfm.common.Constants;
import com.kpmg.bmwsfm.common.ExecuteResult;
import com.kpmg.bmwsfm.util.CommonUtils;
import com.kpmg.bmwsfm.util.PropertiesUtils;
import com.kpmg.bmwsfm.util.SftpUtil;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.support.PropertiesLoaderUtils;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.Properties;
/**
* @author lucasliang
* @date 12/11/2018 3:44 afternoon
*/
@Component
public class ExportExcelService {
private Logger logger = LoggerFactory.getLogger(ExportExcelService.class);
private static final String CONFIGURATION_FILE = "configurationfile";
/**
*@param: [serverPath, type]
*@return com.kpmg.bmwsfm.common.ExecuteResult
*@author lucasliang
*@date 03/12/2018 10:12 afternoon
*@Description generate thirteen and not thirteen carmodel order
*/
public ExecuteResult generateCsv(String serverPath, String type,
List<ModelEntity> carModelEntityList) {
return generateAllCarmodelOrderCsv(serverPath, type, carModelEntityList);
}
/**
*@param: [serverPath, type, carModelEntityList]
*@return com.kpmg.bmwsfm.common.ExecuteResult
*@author lucasliang
*@date 12/12/2018
*@Description generate carmodel order
*/
@SuppressWarnings("unchecked")
private ExecuteResult generateAllCarmodelOrderCsv(String serverPath, String type,
List<ModelEntity> carModelEntityList) {
ExecuteResult executeResult = new ExecuteResult();
String filePath = serverPath.concat(File.separator).concat(type)
.concat(Constants.SUFFIX_CSV);
Path path = Paths.get(filePath);
CommonUtils.deleteFileByPath(path);
CsvWriter csvWriter = new CsvWriter(filePath, ',',
Charset.forName("UTF-8"));
String[] header = {"MODEL_CATEGORY", "MODEL_NAME"};
try {
csvWriter.writeRecord(header);
if (CollectionUtils.isNotEmpty(carModelEntityList)) {
for (ModelEntity modelEntity : carModelEntityList) {
String[] content = {
modelEntity.getModelCategory(),
modelEntity.getModelName(),
};
csvWriter.writeRecord(content);
}
executeResult.setSuccess(true);
executeResult.setData("ok");
} else {
executeResult.setSuccess(false);
executeResult.setData("車型順序表數(shù)據(jù)為空");
return executeResult;
}
} catch (IOException e) {
logger.error("", e);
} finally {
csvWriter.close();
}
Properties properties = null;
try {
properties = PropertiesLoaderUtils.loadAllProperties("sftp.properties");
} catch (IOException e) {
logger.error("", e);
}
if (properties != null) {
String userName = PropertiesUtils.getValue(Constants.SFTP_USERNAME, properties);
String ip = PropertiesUtils.getValue(Constants.SFTP_IP, properties);
Integer port = Integer.valueOf(PropertiesUtils.getValue(Constants.SFTP_PORT, properties));
String privateKeyPath = PropertiesUtils.getValue(Constants.SFTP_KEYPATH, properties);
SftpUtil sftpUtil = new SftpUtil(userName, ip, port, privateKeyPath);
try {
sftpUtil.login();
} catch (Exception e) {
logger.error("", e);
}
String sftpPath = PropertiesUtils.getValue(Constants.SFTP_REMOTE_PATH, properties);
executeResult = sftpUtil.uploadSingleFile(sftpPath.concat(CONFIGURATION_FILE), path.toFile()
, type);
sftpUtil.getSession().getTimeout();
sftpUtil.logout();
if (logger.isInfoEnabled()) {
logger.info(String.format(" 登出:%s", sftpUtil.getSession()));
logger.info(String.format("SFTP logout success : %s", sftpUtil.getSession()));
}
}
return executeResult;
}
}
2019-04-26
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門冀墨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涛贯,你說我怎么就攤上這事∥党觯” “怎么了弟翘?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長骄酗。 經(jīng)常有香客問我稀余,道長,這世上最難降的妖魔是什么趋翻? 我笑而不...
- 正文 為了忘掉前任睛琳,我火速辦了婚禮,結(jié)果婚禮上踏烙,老公的妹妹穿的比我還像新娘师骗。我一直安慰自己,他們只是感情好讨惩,可當我...
- 文/花漫 我一把揭開白布辟癌。 她就那樣靜靜地躺著,像睡著了一般荐捻。 火紅的嫁衣襯著肌膚如雪黍少。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼砸紊,長吁一口氣:“原來是場噩夢啊……” “哼传于!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起醉顽,我...
- 正文 年R本政府宣布,位于F島的核電站凡辱,受9級特大地震影響戒职,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜透乾,卻給世界環(huán)境...
- 文/蒙蒙 一洪燥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乳乌,春花似錦捧韵、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至客情,卻和暖如春其弊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背膀斋。 一陣腳步聲響...