Commit 14ed833e authored by 陈家荣's avatar 陈家荣

update 同步数据

parent 31d80b11
......@@ -23,6 +23,8 @@ public interface KolonMemberRepository extends JpaRepository<KolonMember, Long>,
KolonMember findFirstByPhone(String phone);
KolonMember findFirstByPhoneOrCsNo(String phone, String csNo);
List<KolonMember> findByUpdateTimeGreaterThan(Date updateTime);
/**
......
......@@ -29,7 +29,7 @@ public interface KolonMemberService {
* 对比数据
* @param s
*/
void matchData(String[] s);
KolonMember matchData(String[] s);
/**
* 同步会员数据
......
......@@ -85,15 +85,18 @@ public class KolonMemberServiceImpl implements KolonMemberService {
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void matchData(String[] s) {
public KolonMember matchData(String[] s) {
KolonMemberDTO kolonMemberDTO = new KolonMemberDTO(s);
String csNo = kolonMemberDTO.csNo;
KolonMember kolonMember = null;
if(StringUtils.isNotEmpty(kolonMemberDTO.phone)){
kolonMember = kolonMemberRepository.findFirstByPhone(kolonMemberDTO.phone);
//没有phone和csNo,不处理
if(!StringUtils.isNotEmpty(kolonMemberDTO.phone) && !StringUtils.isNotEmpty(csNo)){
return null;
}
if(kolonMember == null){
kolonMember = this.findOneByCsNo(csNo);
if(StringUtils.isNotEmpty(kolonMemberDTO.phone)){
kolonMember = kolonMemberRepository.findFirstByPhoneOrCsNo(kolonMemberDTO.phone, csNo);
}
if (kolonMember == null) { // 插入数据
kolonMember = new KolonMember();
......@@ -111,7 +114,7 @@ public class KolonMemberServiceImpl implements KolonMemberService {
Date date = new Date();
kolonMember.joinTime = date;
kolonMember.updateTime = date;
this.save(kolonMember);
return kolonMember;
} else { // 更新
boolean flag = false;
String oldCsNo = null;//是否更新了csno
......@@ -166,6 +169,7 @@ public class KolonMemberServiceImpl implements KolonMemberService {
}
}
}
return null;
}
@Override
......@@ -177,12 +181,29 @@ public class KolonMemberServiceImpl implements KolonMemberService {
List<String[]> list = ftpMemberUtil.readCSVFile(sortName);
if (list != null) {
boolean firstRow = true;
int i = 1;
List<KolonMember> insertKolonMember = new ArrayList<KolonMember>();
for (String[] row : list) {
if (firstRow) {
firstRow = false;
} else {
this.matchData(row);
KolonMember insKolonMember = this.matchData(row);
if(insKolonMember != null){
insertKolonMember.add(insKolonMember);
}
}
//大于等于200,批量插入
if(insertKolonMember.size() >= 200){
LOGGER.info("正在导入第【"+i+"】批");
kolonMemberRepository.save(insertKolonMember);
//清空
insertKolonMember.clear();
i++;
}
}
//还有未插入的,继续保存
if(insertKolonMember.size() > 0){
kolonMemberRepository.save(insertKolonMember);
}
}
ftpMemberUtil.moveFile(sortName);
......
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