/**
   * 高级查询打分权重表
   *
   * @param request 高级查询打分权重表请求
   * @param passport 用户护照
   * @return 高级查询应答
   */
  @Override
  @Transactional(readOnly = true)
  public GradeWeightFindResponse find(GradeWeightFindRequest request, Passport passport) {
    GradeWeightFindResponse response = new GradeWeightFindResponse();
    List<GradeWeight> modelList = new ArrayList<>();
    Long count = gradeWeightMapper.findCount(request, passport);
    if (count > 0) {
      // 处理分页参数
      if (request.getPageSize() > 0) {
        // 如果输入的页码大于实际的分页数,将页码设置为最后一页的页码
        int lastPageNumber = (int) ((count - 1) / request.getPageSize() + 1);
        if (request.getPageNumber() > lastPageNumber) {
          request.setPageNumber(lastPageNumber);
        }
      }

      List<GradeWeightPO> entityList = gradeWeightMapper.find(request, passport);
      for (GradeWeightPO entity : entityList) {
        GradeWeight gradeWeight = this.getMapper().map(entity, GradeWeight.class);
        modelList.add(gradeWeight);
      }
    }

    response.setTotalCount(count);
    response.setResult(modelList);
    return response;
  }