| @@ -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); | |||
| } | |||
| } | |||
| @@ -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; | |||
| @@ -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(); | |||
| } | |||