Просмотр исходного кода

[会员列表][导入][成功与失败提醒]

release_toaliyun_real
gongbiao 7 лет назад
Родитель
Сommit
320f3895c7
3 измененных файлов: 50 добавлений и 23 удалений
  1. +30
    -8
      mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java
  2. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java
  3. +18
    -14
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java

+ 30
- 8
mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java Просмотреть файл

@@ -247,8 +247,10 @@ public class WxCUserBasicInfoController extends BaseController {
if (allCount) {
return new ResultData(Result.SUCCESS, "模板正在导入");
}
stringRedisTemplate.opsForHash().putIfAbsent(userId, "allCount",1+"");
stringRedisTemplate.opsForHash().putIfAbsent(userId, "successCount",0+"");
stringRedisTemplate.opsForHash().putIfAbsent(userId, "allCount", 0 + "");
stringRedisTemplate.opsForHash().putIfAbsent(userId, "allSuccessCount", 0 + "");
stringRedisTemplate.opsForHash().putIfAbsent(userId, "successCount", "");
stringRedisTemplate.opsForHash().putIfAbsent(userId, "failCount", "");
wxCUserBasicInfoService.importTemplate(file, getTenantId(), userId);
stringRedisTemplate.expire(userId,30,TimeUnit.MINUTES);
return new ResultData(Result.SUCCESS, "模板正在导入");
@@ -256,14 +258,34 @@ public class WxCUserBasicInfoController extends BaseController {

@GetMapping("/queryTemplateCount")
public ResultData queryTemplateCount() {

String userId = getUser().getId().toString();
Long size = stringRedisTemplate.opsForHash().size(userId);
if(size>0){
Map entries = stringRedisTemplate.opsForHash().entries(userId);
return new ResultData(Result.SUCCESS,"查询成功",entries);
Map entries = stringRedisTemplate.opsForHash().entries(userId);
if (entries.size() < 4) {
return new ResultData(Result.SUCCESS, "ok", entries);
}
String allCount = entries.get("allCount").toString();
String allSuccessCount = entries.get("allSuccessCount").toString();
String successCount = entries.get("successCount").toString();
String failCount = entries.get("failCount").toString();

if (allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS);
//完全失败
stringRedisTemplate.opsForHash().delete(userId, "allCount");
stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(userId, "successCount");
stringRedisTemplate.opsForHash().delete(userId, "failCount");
return new ResultData(ErrorCode.MEM_IMPORT_ERR);
}
//导入完成
if (allSuccessCount.equals(successCount)) {
ResultData ok = new ResultData(Result.SUCCESS, "ok", entries);
stringRedisTemplate.opsForHash().delete(userId, "allCount");
stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(userId, "successCount");
stringRedisTemplate.opsForHash().delete(userId, "failCount");
return ok;
}
return new ResultData(Result.SUCCESS,"查询成功","ok");
return new ResultData(Result.SUCCESS, "查询成功", entries);
}

}

+ 2
- 1
mallinkAdmin/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java Просмотреть файл

@@ -17,7 +17,8 @@ public class HttpServletRequestWrapperFilter implements Filter {
ServletRequest requestWrapper = null;
if (request instanceof HttpServletRequest) {
String url = ((HttpServletRequest) request).getRequestURI();
if(!url.contains("awsFileUpload") && !url.contains("ueditor/exec")) {
if (!url.contains("awsFileUpload") && !url.contains("ueditor/exec")
&& !url.contains("/wxCUserBasicInfo/importTemplate")) {
requestWrapper = new BodyReaderHttpServletRequestWrapper((HttpServletRequest) request);
} else {
requestWrapper = null;


+ 18
- 14
mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java Просмотреть файл

@@ -432,17 +432,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {

}

private class UserExcelHandler extends ExcelDataHandlerDefaultImpl<CUserBaseInfoT> {
@Override
public Object importHandler(CUserBaseInfoT obj, String name, Object value) {
if (value == null) {
value = "";
}
System.out.println(name + " + " + value.toString());
return super.importHandler(obj, name, value);
}

}

/*
private class UserVerifyHandler implements IExcelVerifyHandler<CUserBaseInfoT> {
@@ -505,7 +495,17 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
return userBase;
}

private class UserExcelHandler extends ExcelDataHandlerDefaultImpl<CUserBaseInfoT> {
@Override
public Object importHandler(CUserBaseInfoT obj, String name, Object value) {
if (value == null) {
value = "";
}
System.out.println(name + " + " + value.toString());
return super.importHandler(obj, name, value);
}

}

@Async
@Override
@@ -529,7 +529,11 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
logger.info("验证通过的数量:" + successList.size());
logger.info("验证未通过的数量:" + failList.size());
//如果不存在就添加
stringRedisTemplate.opsForHash().put(userId,"allCount",successList.size()+"");
stringRedisTemplate.opsForHash().put(userId, "allCount", successList.size() + failList.size() + "");
stringRedisTemplate.opsForHash().put(userId, "allSuccessCount", successList.size() + "");
stringRedisTemplate.opsForHash().put(userId, "successCount", "0");
stringRedisTemplate.opsForHash().put(userId, "failCount", failList.size() + "");

successList.parallelStream().forEach(uBase->{

if (StringUtils.isBlank(uBase.getPhone())) {
@@ -643,11 +647,11 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
e.printStackTrace();
logger.error("导入模板失败:"+e.getMessage());
stringRedisTemplate.opsForHash().delete(userId,"allCount");
stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(userId,"successCount");
stringRedisTemplate.opsForHash().delete(userId, "failCount");
}
//结束也清空
stringRedisTemplate.opsForHash().delete(userId,"allCount");
stringRedisTemplate.opsForHash().delete(userId,"successCount");

return new ResultData();
}



Загрузка…
Отмена
Сохранить