Commit d06ee7e4 authored by 陈家荣's avatar 陈家荣

数据同步由读取单个文件改成读取目录下的匹配文件列表

parent 7ff8d73a
...@@ -9,6 +9,7 @@ import java.util.Date; ...@@ -9,6 +9,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.net.ftp.FTPClient;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
...@@ -45,6 +46,12 @@ public class KolonMemberServiceImpl implements KolonMemberService { ...@@ -45,6 +46,12 @@ public class KolonMemberServiceImpl implements KolonMemberService {
@Value("${kolon.property.ftp.productFileName}") @Value("${kolon.property.ftp.productFileName}")
private String productFileName; private String productFileName;
/**
* FTP获取文件目录
*/
@Value("${kolon.property.ftp.getFileDir}")
private String getFileDir;
@Autowired @Autowired
private KolonMemberRepository kolonMemberRepository; private KolonMemberRepository kolonMemberRepository;
...@@ -152,18 +159,29 @@ public class KolonMemberServiceImpl implements KolonMemberService { ...@@ -152,18 +159,29 @@ public class KolonMemberServiceImpl implements KolonMemberService {
@Override @Override
public void syncMemberData() { public void syncMemberData() {
List<String[]> list = ftpUtil.readCSVFile(memberFileName); FTPClient ftpClient = ftpUtil.getFTPClient();
if (list != null) { try {
boolean firstRow = true; String[] listNames = ftpClient.listNames(getFileDir);
for (String[] row : list) { for(String name : listNames){
if (firstRow) { String sortName = name.substring(name.lastIndexOf("/") + 1, name.length());
firstRow = false; if(sortName.contains(memberFileName)){
} else { List<String[]> list = ftpUtil.readCSVFile(sortName);
this.matchData(row); if (list != null) {
boolean firstRow = true;
for (String[] row : list) {
if (firstRow) {
firstRow = false;
} else {
this.matchData(row);
}
}
}
ftpUtil.moveFile(sortName);
} }
} }
} catch (IOException e) {
e.printStackTrace();
} }
ftpUtil.moveFile(memberFileName);
} }
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
......
...@@ -28,9 +28,9 @@ kolon.property.ftp.port = 21 ...@@ -28,9 +28,9 @@ kolon.property.ftp.port = 21
kolon.property.ftp.userName = mark kolon.property.ftp.userName = mark
kolon.property.ftp.password = yang19821123 kolon.property.ftp.password = yang19821123
kolon.property.ftp.getFileDir = /Emarsys/ kolon.property.ftp.getFileDir = /SCRM/export/
kolon.property.ftp.getFileHistoryDir = /Emarsys/history/ kolon.property.ftp.getFileHistoryDir = /SCRM/history/
kolon.property.ftp.getFileName = contact.csv kolon.property.ftp.getFileName = Wechat_export
kolon.property.ftp.saleFileName = sales.csv kolon.property.ftp.saleFileName = sales.csv
kolon.property.ftp.productFileName = products.csv kolon.property.ftp.productFileName = products.csv
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment