/** * 获取供应商的详细信息(保证金等信息) * * @param requirementId 需求编号 * @param solution 需求方案信息 * @param categoryIds 需求类目信息 * @return SupplierSolutionDto 供应商详细信息 */ private SupplierSolutionDto querySupplierDto( Long requirementId, RequirementSolution solution, List<Long> categoryIds) { SupplierSolutionDto supplierSolutionDto = new SupplierSolutionDto(); supplierSolutionDto.setSupplierId(solution.getSupplierId()); supplierSolutionDto.setSupplierName(solution.getSupplierName()); supplierSolutionDto.setUserId(solution.getUserId()); // 是否已提交方案 supplierSolutionDto.setDealTime( solution.getSolutionFile() == null ? null : solution.getUpdatedAt()); // 写入供应商信用等级信息 Response<SupplierCreditQualify> creditRes = supplierCreditQualifyService.findCreditQualifyByUserId(solution.getUserId()); supplierSolutionDto.setCreditStatus( creditRes.isSuccess() ? creditRes.getResult().getStatus() : null); // 写入供应商资质验证信息 Response<Integer> qualifyRes = supplierResourceMaterialService.getInfoInBcIds(solution.getSupplierId(), categoryIds); supplierSolutionDto.setQualifyStatus(qualifyRes.isSuccess() ? qualifyRes.getResult() : null); // 写入供应商针对需求是否提交保证金 Response<Integer> depositRes = depositService.checkPaid(requirementId, solution.getSupplierId()); supplierSolutionDto.setPaidStatus( depositRes.isSuccess() ? depositRes.getResult() : Deposit.Status.INIT.value()); // 标注供应商是否可以进入配额流程 supplierSolutionDto.setSolutionStatus( Objects.equal( RequirementSolution.Status.from(solution.getStatus()), RequirementSolution.Status.SEND_END)); Response<User> userRes = accountService.findUserById(solution.getUserId()); supplierSolutionDto.setSupplierTags( userRes.isSuccess() ? userRes.getResult().buildTags() : null); // 当阶段到达,已上传文件阶段则默认为全部承诺 Integer interStatus = solution.getStatus() == 0 ? 1 : (solution.getStatus() >= 4 ? 2 : solution.getStatus()); supplierSolutionDto.setInteractiveStatus(interStatus); return supplierSolutionDto; }