|
@@ -1342,10 +1342,13 @@ public class ApiController {
|
|
|
|
|
|
WmTaskContent wmTaskContent = JSONUtil.toBean(paramStr, WmTaskContent.class);
|
|
|
|
|
|
- boolean checkDuplicate = wmTaskContentService.checkDuplicate(wmTaskContent.getTemp30(),
|
|
|
- wmTaskContent.getTemp32(), username, wmTaskContent);
|
|
|
- if (checkDuplicate) {
|
|
|
- throw new BizException("存在相似数据的提交记录,请重新填写");
|
|
|
+ Map<String, Object> checkDuplicateMap = wmTaskContentService.checkDuplicate(wmTaskContent.getTemp30(),
|
|
|
+ wmTaskContent.getTemp32(), username, wmTaskContent);
|
|
|
+ if (CollUtil.isNotEmpty(checkDuplicateMap)) {
|
|
|
+ boolean checkDuplicate = (boolean) checkDuplicateMap.get("duplicate");
|
|
|
+ if (checkDuplicate) {
|
|
|
+ throw new BizException("存在相似数据的提交记录,请重新填写");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1392,14 +1395,24 @@ public class ApiController {
|
|
|
redisTemplate.delete(key);
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ // 清除重复校验的key
|
|
|
+ this.removeCheckDuplicateKey(checkDuplicateMap);
|
|
|
+
|
|
|
return R.failed(ducImgUrl, "提交重复的图片");
|
|
|
}
|
|
|
|
|
|
if (CharSequenceUtil.isBlank(wmTaskContent.getTemp30())) {
|
|
|
+ // 清除重复校验的key
|
|
|
+ this.removeCheckDuplicateKey(checkDuplicateMap);
|
|
|
+
|
|
|
return R.failed("任务类型不能为空");
|
|
|
}
|
|
|
|
|
|
if (CharSequenceUtil.isBlank(wmTaskContent.getTemp32())) {
|
|
|
+ // 清除重复校验的key
|
|
|
+ this.removeCheckDuplicateKey(checkDuplicateMap);
|
|
|
+
|
|
|
return R.failed("关联积分包不能为空");
|
|
|
}
|
|
|
|
|
@@ -1409,6 +1422,10 @@ public class ApiController {
|
|
|
r = wmTaskContentService.saveTaskContent(wmTaskContent, ipAddr, region);
|
|
|
} catch (Exception e) {
|
|
|
log.error("", e);
|
|
|
+
|
|
|
+ // 清除重复校验的key
|
|
|
+ this.removeCheckDuplicateKey(checkDuplicateMap);
|
|
|
+
|
|
|
return R.failed(e.getMessage());
|
|
|
} finally {
|
|
|
|
|
@@ -1453,6 +1470,22 @@ public class ApiController {
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 清除重复校验的key
|
|
|
+ *
|
|
|
+ * @param checkDuplicateMap 检查重复map
|
|
|
+ */
|
|
|
+ private void removeCheckDuplicateKey(Map<String, Object> checkDuplicateMap) {
|
|
|
+ // 如果本次为非重复提交,任务提交失败则清除重复校验的key
|
|
|
+ if (CollUtil.isNotEmpty(checkDuplicateMap)) {
|
|
|
+ boolean checkDuplicate = (boolean) checkDuplicateMap.get("duplicate");
|
|
|
+ if (!checkDuplicate) {
|
|
|
+ String checkDuplicateKey = (String) checkDuplicateMap.get("key");
|
|
|
+ redisTemplate.delete(checkDuplicateKey);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private List<String> duplicateImage(String contentValue, Integer userId, Set<String> errorHash, List<String> duplicateImageUrl, List<String> all) {
|
|
|
|
|
|
|