| | |
| | | keywordService.updateById(keyword); |
| | | |
| | | //更新提问词状态为取消 |
| | | questionService.update(new LambdaUpdateWrapper<Question>().eq(Question::getKeyword_id, keywordId).isNull(Question::getResponse).set(Question::getStatus, "cancelled")); |
| | | questionService.update(new LambdaUpdateWrapper<Question>().eq(Question::getKeyword_id, keywordId).isNull(Question::getResponse).set(Question::getStatus, "cancelled").set(Question::getError, "任务已取消")); |
| | | // 将所有提问词设置eroor为已取消 |
| | | // questionService.update(new LambdaUpdateWrapper<Question>().eq(Question::getKeyword_id, keywordId).set(Question::getStatus, "failed").set(Question::getError, "任务已取消")); |
| | | |
| | | // 更新订单状态 |
| | | String orderId = keyword.getOrder_id(); |
| | |
| | | log.info("无有效引用数据,跳过批量保存"); |
| | | return; |
| | | } |
| | | // // 在合并到 compositeKeyMap 之前 |
| | | // validReferences = validReferences.stream() |
| | | // .collect(Collectors.toMap( |
| | | // ref -> ref.getQuestion_id() |
| | | // + "|" + ref.getPlatform_id() |
| | | // + "|" + ref.getType_id() |
| | | // + "|" + ref.getUrl() |
| | | // + "|" + ref.getDomain() |
| | | // + "|" + ref.getKeyword_id() |
| | | // + "|" + ref.getNum(), |
| | | // ref -> ref, |
| | | // (r1, r2) -> r1 // 碰到同 key 就保第一个 |
| | | // )) |
| | | // .values() |
| | | // .stream() |
| | | // .collect(Collectors.toList()); |
| | | |
| | | // 2. 查询数据库中已存在的引用并过滤 null |
| | | LambdaQueryWrapper<Reference> dbRefWrapper = new LambdaQueryWrapper<>(); |
| | |
| | | .findFirst(); |
| | | |
| | | Reference finalRef = existingRef.orElse(validRefGroup.get(0)); |
| | | // 重复次数 = 老的 + (这一组里一共抓到多少-1) |
| | | int repetitionNum = (finalRef.getRepetition_num() == null ? 1 : finalRef.getRepetition_num()) |
| | | + (validRefGroup.size() - 1); |
| | | finalRef.setRepetition_num(repetitionNum); |
| | |
| | | log.warn("引用核心字段为空,跳过映射:{}", ref); |
| | | return; |
| | | } |
| | | String key = ref.getTitle() + "|" + ref.getUrl() + "|" + ref.getDomain(); |
| | | String key = ref.getQuestion_id() + "|" |
| | | + ref.getPlatform_id() + "|" |
| | | + ref.getType_id() + "|" |
| | | + ref.getTitle() + "|" |
| | | + ref.getUrl() + "|" |
| | | + ref.getDomain() + "|" |
| | | + ref.getNum(); |
| | | map.computeIfAbsent(key, k -> new ArrayList<>()).add(ref); |
| | | } |
| | | |
| | |
| | | } else if (userResult.getError().contains("信息错误")) { |
| | | userWrapper.set(User::getStatus, "信息错误"); |
| | | userService.update(userWrapper); |
| | | // 批量更新问题状态为失败 |
| | | questionService.update(new LambdaUpdateWrapper<Question>() |
| | | .eq(Question::getKeyword_id, keyword.getKeyword_id()) |
| | | .set(Question::getStatus, "failed") |
| | | .set(Question::getError, "账户信息错误")); |
| | | } |
| | | } |
| | | } |