| @@ -247,8 +247,10 @@ public class WxCUserBasicInfoController extends BaseController { | |||||
| if (allCount) { | if (allCount) { | ||||
| return new ResultData(Result.SUCCESS, "模板正在导入"); | 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); | wxCUserBasicInfoService.importTemplate(file, getTenantId(), userId); | ||||
| stringRedisTemplate.expire(userId,30,TimeUnit.MINUTES); | stringRedisTemplate.expire(userId,30,TimeUnit.MINUTES); | ||||
| return new ResultData(Result.SUCCESS, "模板正在导入"); | return new ResultData(Result.SUCCESS, "模板正在导入"); | ||||
| @@ -256,14 +258,34 @@ public class WxCUserBasicInfoController extends BaseController { | |||||
| @GetMapping("/queryTemplateCount") | @GetMapping("/queryTemplateCount") | ||||
| public ResultData queryTemplateCount() { | public ResultData queryTemplateCount() { | ||||
| String userId = getUser().getId().toString(); | 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; | ServletRequest requestWrapper = null; | ||||
| if (request instanceof HttpServletRequest) { | if (request instanceof HttpServletRequest) { | ||||
| String url = ((HttpServletRequest) request).getRequestURI(); | 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); | requestWrapper = new BodyReaderHttpServletRequestWrapper((HttpServletRequest) request); | ||||
| } else { | } else { | ||||
| requestWrapper = null; | 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> { | private class UserVerifyHandler implements IExcelVerifyHandler<CUserBaseInfoT> { | ||||
| @@ -505,7 +495,17 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { | |||||
| return userBase; | 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 | @Async | ||||
| @Override | @Override | ||||
| @@ -529,7 +529,11 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { | |||||
| logger.info("验证通过的数量:" + successList.size()); | logger.info("验证通过的数量:" + successList.size()); | ||||
| logger.info("验证未通过的数量:" + failList.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->{ | successList.parallelStream().forEach(uBase->{ | ||||
| if (StringUtils.isBlank(uBase.getPhone())) { | if (StringUtils.isBlank(uBase.getPhone())) { | ||||
| @@ -643,11 +647,11 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { | |||||
| e.printStackTrace(); | e.printStackTrace(); | ||||
| logger.error("导入模板失败:"+e.getMessage()); | logger.error("导入模板失败:"+e.getMessage()); | ||||
| stringRedisTemplate.opsForHash().delete(userId,"allCount"); | stringRedisTemplate.opsForHash().delete(userId,"allCount"); | ||||
| stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount"); | |||||
| stringRedisTemplate.opsForHash().delete(userId,"successCount"); | stringRedisTemplate.opsForHash().delete(userId,"successCount"); | ||||
| stringRedisTemplate.opsForHash().delete(userId, "failCount"); | |||||
| } | } | ||||
| //结束也清空 | |||||
| stringRedisTemplate.opsForHash().delete(userId,"allCount"); | |||||
| stringRedisTemplate.opsForHash().delete(userId,"successCount"); | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||