Commit 6ec57336 authored by libin's avatar libin

Merge branch 'master-usermember-fix' into dev

parents efc49013 4617e8c6
......@@ -113,12 +113,13 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
AtomicInteger counter = new AtomicInteger(0);
int threadNums= userMemberData.size()/BORDER_NUM==0?1:userMemberData.size()/BORDER_NUM;
CountDownLatch latch = new CountDownLatch(threadNums);
Map<Integer,UserMemberDTO> numAndUserMemberMap = new HashMap<>(userMemberData.size());
for (int i=0;i<threadNums;i++){
int startIndex = i*BORDER_NUM;
int endIndex=i==(threadNums-1)?userMemberData.size():(i+1)*BORDER_NUM;
List<String[]> subResultDate = userMemberData.subList(startIndex,endIndex);
threadPoolTaskExecutor.execute(()->{
wrapperData(subResultDate, userId, userName, baseUserMemberExports, levelAndbaseUserMemberMap, phoneAndUserIdMap, leaveNameAndLeaveEntry, memberLevel, discount, counter);
wrapperData(subResultDate, userId, userName, baseUserMemberExports, levelAndbaseUserMemberMap, phoneAndUserIdMap, leaveNameAndLeaveEntry, memberLevel, discount, counter, numAndUserMemberMap);
latch.countDown();
});
}
......@@ -128,12 +129,22 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
throw new BaseException("导入数据失败");
}
InsertBatch(baseUserMemberExports);
Set<Map.Entry<Integer, UserMemberDTO>> entries = numAndUserMemberMap.entrySet();
for (Map.Entry<Integer, UserMemberDTO> memberDTOEntry : entries) {
try {
baseUserMemberBiz.updUserMemberByUserId(memberDTOEntry.getValue());
}catch (Exception ex){
log.error("当前行数:【{}】",memberDTOEntry.getKey());
log.error("会员更新错误:【{}】", ex.getMessage());
throw new BaseException("");
}
}
return baseUserMemberExports.size();
}
private void wrapperData(List<String[]> userMemberData, Integer userId, String userName, List<BaseUserMemberExport> baseUserMemberExports, Map<Integer, BaseUserMemberLevel> levelAndbaseUserMemberMap, Map<String, Integer> phoneAndUserIdMap, Set<Map.Entry<String, Integer>> leaveNameAndLeaveEntry, Integer memberLevel, Integer discount, AtomicInteger counter) {
private void wrapperData(List<String[]> userMemberData, Integer userId, String userName, List<BaseUserMemberExport> baseUserMemberExports, Map<Integer, BaseUserMemberLevel> levelAndbaseUserMemberMap, Map<String, Integer> phoneAndUserIdMap, Set<Map.Entry<String, Integer>> leaveNameAndLeaveEntry, Integer memberLevel, Integer discount, AtomicInteger counter,Map<Integer,UserMemberDTO> numAndUserMemberMap) {
for (String[] data : userMemberData) {
counter.incrementAndGet();
String phone = data[0];
String memberLevelName = data[1];
String memberName = data[2];
......@@ -158,15 +169,15 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
userMemberDTO.setIsBind(1);
userMemberDTO.setMemberName(memberName);
userMemberDTO.setBuyCount(0);
try {
numAndUserMemberMap.put(counter.incrementAndGet(),userMemberDTO);
/* try {
baseUserMemberBiz.updUserMemberByUserId(userMemberDTO);
} catch (Exception e) {
log.error("当前行数:【{}】",counter.get());
log.error("会员更新错误:【{}】", e.getMessage());
throw new BaseException(e);
}
}*/
}
BaseUserMemberExport memberExport = BaseUserMemberExport
.builder()
.username(phone.trim())
......
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