@Override public Response<List<RequirementSolution>> findAllSolution(Long requirementId, Integer status) { Response<List<RequirementSolution>> result = new Response<List<RequirementSolution>>(); if (requirementId == null) { log.error("find requirement solution need requirementId"); result.setError("solution.requirementId.null"); return result; } if (RequirementStatus.from(status) == null) { log.error("can't find the status type."); result.setError("requirement.status.null"); return result; } // 当查询阶段为空时默认方案交互阶段 Objects.firstNonNull(status, 3); try { List<RequirementSolution> solutionList; if (Objects.equal(RequirementStatus.SOL_END, RequirementStatus.from(status))) { // 当处于方案终投阶段(只能查询到最终确认最终方案的供应商的方案) solutionList = requirementSolutionDao.findSolutionEnds( requirementId, null, 5, RequirementSolution.Status.SEND_END.value()); } else { solutionList = requirementSolutionDao.findAllSolution(requirementId); } result.setResult(solutionList); } catch (Exception e) { log.error( "find requirement solution failed, requirementId={}, error code={}", requirementId, Throwables.getStackTraceAsString(e)); result.setError("requirement.find.failed"); } return result; }