| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- package com.zd.model.page;
- import org.apache.commons.lang3.StringUtils;
- import java.util.Optional;
- /**
- * 分页数据
- *
- * @author zd
- */
- public class PageDomain {
- /**
- * 当前记录起始索引
- */
- private Integer pageNum;
- /**
- * 每页显示记录数
- */
- private Integer pageSize;
- /**
- * 排序列
- */
- private String orderByColumn;
- /**
- * 排序的方向desc或者asc
- */
- private String isAsc = "asc";
- public String getOrderBy() {
- if (orderByColumn == null || "".equals(orderByColumn)) {
- return "";
- }
- return toUnderScoreCase(orderByColumn) + " " + isAsc;
- }
- public Integer getPageNum() {
- return Optional.ofNullable(pageNum).orElse(1);
- }
- public void setPageNum(Integer pageNum) {
- this.pageNum = pageNum;
- }
- public Integer getPageSize() {
- return Optional.ofNullable(pageSize).orElse(10);
- }
- public void setPageSize(Integer pageSize) {
- this.pageSize = pageSize;
- }
- public String getOrderByColumn() {
- return orderByColumn;
- }
- public void setOrderByColumn(String orderByColumn) {
- this.orderByColumn = orderByColumn;
- }
- public String getIsAsc() {
- return isAsc;
- }
- public void setIsAsc(String isAsc) {
- if (StringUtils.isNotEmpty(isAsc)) {
- // 兼容前端排序类型
- if ("ascending".equals(isAsc)) {
- isAsc = "asc";
- } else if ("descending".equals(isAsc)) {
- isAsc = "desc";
- }
- this.isAsc = isAsc;
- }
- }
- private static String toUnderScoreCase(String str) {
- if (str == null) {
- return null;
- }
- StringBuilder sb = new StringBuilder();
- // 前置字符是否大写
- boolean preCharIsUpperCase = true;
- // 当前字符是否大写
- boolean curreCharIsUpperCase = true;
- // 下一字符是否大写
- boolean nexteCharIsUpperCase = true;
- for (int i = 0; i < str.length(); i++) {
- char c = str.charAt(i);
- if (i > 0) {
- preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1));
- } else {
- preCharIsUpperCase = false;
- }
- curreCharIsUpperCase = Character.isUpperCase(c);
- if (i < (str.length() - 1)) {
- nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1));
- }
- if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase) {
- sb.append('_');
- } else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase) {
- sb.append('_');
- }
- sb.append(Character.toLowerCase(c));
- }
- return sb.toString();
- }
- }
|