소스 검색

[BUG][1000714]:redis初始数据问题

release_toaliyun_real
Stormeye Wu 7 년 전
부모
커밋
fcacc2366d
2개의 변경된 파일26개의 추가작업 그리고 28개의 파일을 삭제
  1. +12
    -12
      mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java
  2. +14
    -16
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java

+ 12
- 12
mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java 파일 보기

@@ -262,8 +262,8 @@ public class WxCUserBasicInfoController extends BaseController {


@GetMapping("/queryTemplateCount") @GetMapping("/queryTemplateCount")
public ResultData queryTemplateCount() { public ResultData queryTemplateCount() {
String userId = getUser().getId().toString();
Map entries = stringRedisTemplate.opsForHash().entries(userId);
String importKey = "import-" + getUser().getId();
Map entries = stringRedisTemplate.opsForHash().entries(importKey);
logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>1"); logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>1");
if (entries.size() < 4) { if (entries.size() < 4) {
entries.clear(); entries.clear();
@@ -274,22 +274,22 @@ public class WxCUserBasicInfoController extends BaseController {
String successCount = entries.get("successCount").toString(); String successCount = entries.get("successCount").toString();
String failCount = entries.get("failCount").toString(); String failCount = entries.get("failCount").toString();


if (allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS);
if (StringUtils.isNotBlank(failCount) && allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS);
logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>2"); logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>2");
//完全失败 //完全失败
stringRedisTemplate.opsForHash().delete(userId, "allCount");
stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(userId, "successCount");
stringRedisTemplate.opsForHash().delete(userId, "failCount");
stringRedisTemplate.opsForHash().delete(importKey, "allCount");
stringRedisTemplate.opsForHash().delete(importKey, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(importKey, "successCount");
stringRedisTemplate.opsForHash().delete(importKey, "failCount");
return new ResultData(ErrorCode.MEM_IMPORT_ERR); return new ResultData(ErrorCode.MEM_IMPORT_ERR);
} }
//导入完成 //导入完成
if (allSuccessCount.equals(successCount)) {
if (StringUtils.isNotBlank(allSuccessCount) && allSuccessCount.equals(successCount)) {
ResultData ok = new ResultData(Result.SUCCESS, "ok", entries); 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");
stringRedisTemplate.opsForHash().delete(importKey, "allCount");
stringRedisTemplate.opsForHash().delete(importKey, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(importKey, "successCount");
stringRedisTemplate.opsForHash().delete(importKey, "failCount");
return ok; return ok;
} }
return new ResultData(Result.SUCCESS, "查询成功", entries); return new ResultData(Result.SUCCESS, "查询成功", entries);


+ 14
- 16
mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java 파일 보기

@@ -518,27 +518,25 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {


final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();


String importKey = "import-" + userId;

//默认添加到redis里
stringRedisTemplate.opsForHash().put(importKey, "allCount", "");
stringRedisTemplate.opsForHash().put(importKey, "allSuccessCount", "0");
stringRedisTemplate.opsForHash().put(importKey, "successCount", "0");
stringRedisTemplate.opsForHash().put(importKey, "failCount", "0");

ImportParams params = new ImportParams(); ImportParams params = new ImportParams();
//IExcelDataHandler<CUserBaseInfoT> handler = new UserExcelHandler();
//handler.setNeedHandlerFields(new String[]{"姓名", "性别", "手机号", "微信昵称", "学历", "生日", "地址", "上次活跃时间", "注册时间", "标签", "成长值"});// 注意这里对应的是excel的列名。也就是对象上指定的列名。
//params.setDataHandler(handler);
//params.setVerifyHandler();
// 需要验证 // 需要验证
params.setImportFields(new String[]{"姓名", "性别", "手机号", "微信昵称", "学历", "生日", "地址", "上次活跃时间", "注册时间", "标签", "成长值"}); params.setImportFields(new String[]{"姓名", "性别", "手机号", "微信昵称", "学历", "生日", "地址", "上次活跃时间", "注册时间", "标签", "成长值"});
params.setNeedVerify(true); params.setNeedVerify(true);


try { try {

ExcelImportResult<CUserBaseInfoT> datalist = ExcelImportUtil.importExcelMore(file.getInputStream(), CUserBaseInfoT.class, params); ExcelImportResult<CUserBaseInfoT> datalist = ExcelImportUtil.importExcelMore(file.getInputStream(), CUserBaseInfoT.class, params);
List<CUserBaseInfoT> successList = datalist.getList(); List<CUserBaseInfoT> successList = datalist.getList();
List<CUserBaseInfoT> failList = datalist.getFailList(); List<CUserBaseInfoT> failList = datalist.getFailList();
logger.info("验证通过的数量:" + successList.size());
logger.info("验证未通过的数量:" + failList.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() + "");
logger.info("验证通过的数量: " + successList.size());
logger.info("验证未通过的数量: " + failList.size());


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


@@ -650,12 +648,12 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
stringRedisTemplate.opsForHash().increment(userId,"successCount",1); stringRedisTemplate.opsForHash().increment(userId,"successCount",1);
}); });
} catch (Exception e) { } catch (Exception e) {
stringRedisTemplate.opsForHash().put(importKey, "allCount", "1");
stringRedisTemplate.opsForHash().put(importKey, "allSuccessCount", "0");
stringRedisTemplate.opsForHash().put(importKey, "successCount", "0");
stringRedisTemplate.opsForHash().put(importKey, "failCount", "1");
e.printStackTrace(); e.printStackTrace();
logger.error("导入模板失败:"+e.getMessage()); logger.error("导入模板失败:"+e.getMessage());
stringRedisTemplate.opsForHash().put(userId, "allCount", "1");
stringRedisTemplate.opsForHash().put(userId, "allSuccessCount", "0");
stringRedisTemplate.opsForHash().put(userId, "successCount", "0");
stringRedisTemplate.opsForHash().put(userId, "failCount", "1");
} }


return new ResultData(); return new ResultData();


불러오는 중...
취소
저장