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

update 同步数据

parent 31d80b11
...@@ -23,6 +23,8 @@ public interface KolonMemberRepository extends JpaRepository<KolonMember, Long>, ...@@ -23,6 +23,8 @@ public interface KolonMemberRepository extends JpaRepository<KolonMember, Long>,
KolonMember findFirstByPhone(String phone); KolonMember findFirstByPhone(String phone);
KolonMember findFirstByPhoneOrCsNo(String phone, String csNo);
List<KolonMember> findByUpdateTimeGreaterThan(Date updateTime); List<KolonMember> findByUpdateTimeGreaterThan(Date updateTime);
/** /**
......
...@@ -29,7 +29,7 @@ public interface KolonMemberService { ...@@ -29,7 +29,7 @@ public interface KolonMemberService {
* 对比数据 * 对比数据
* @param s * @param s
*/ */
void matchData(String[] s); KolonMember matchData(String[] s);
/** /**
* 同步会员数据 * 同步会员数据
......
...@@ -85,15 +85,18 @@ public class KolonMemberServiceImpl implements KolonMemberService { ...@@ -85,15 +85,18 @@ public class KolonMemberServiceImpl implements KolonMemberService {
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void matchData(String[] s) { public KolonMember matchData(String[] s) {
KolonMemberDTO kolonMemberDTO = new KolonMemberDTO(s); KolonMemberDTO kolonMemberDTO = new KolonMemberDTO(s);
String csNo = kolonMemberDTO.csNo; String csNo = kolonMemberDTO.csNo;
KolonMember kolonMember = null; 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) { // 插入数据 if (kolonMember == null) { // 插入数据
kolonMember = new KolonMember(); kolonMember = new KolonMember();
...@@ -111,7 +114,7 @@ public class KolonMemberServiceImpl implements KolonMemberService { ...@@ -111,7 +114,7 @@ public class KolonMemberServiceImpl implements KolonMemberService {
Date date = new Date(); Date date = new Date();
kolonMember.joinTime = date; kolonMember.joinTime = date;
kolonMember.updateTime = date; kolonMember.updateTime = date;
this.save(kolonMember); return kolonMember;
} else { // 更新 } else { // 更新
boolean flag = false; boolean flag = false;
String oldCsNo = null;//是否更新了csno String oldCsNo = null;//是否更新了csno
...@@ -166,6 +169,7 @@ public class KolonMemberServiceImpl implements KolonMemberService { ...@@ -166,6 +169,7 @@ public class KolonMemberServiceImpl implements KolonMemberService {
} }
} }
} }
return null;
} }
@Override @Override
...@@ -177,12 +181,29 @@ public class KolonMemberServiceImpl implements KolonMemberService { ...@@ -177,12 +181,29 @@ public class KolonMemberServiceImpl implements KolonMemberService {
List<String[]> list = ftpMemberUtil.readCSVFile(sortName); List<String[]> list = ftpMemberUtil.readCSVFile(sortName);
if (list != null) { if (list != null) {
boolean firstRow = true; boolean firstRow = true;
int i = 1;
List<KolonMember> insertKolonMember = new ArrayList<KolonMember>();
for (String[] row : list) { for (String[] row : list) {
if (firstRow) { if (firstRow) {
firstRow = false; firstRow = false;
} else { } 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); 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