feat: 数据字典相关接口提交
This commit is contained in:
@ -17,6 +17,10 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
</dependency>
|
||||
<!-- jjwt -->
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
package day.gitlab.dolphin.common.core.entity;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageRequest {
|
||||
|
||||
/** 当前分页,默认1 */
|
||||
@Min(1)
|
||||
@NotNull
|
||||
private Long pageNumber = 1L;
|
||||
|
||||
/** 分页条数,默认10 */
|
||||
@Min(1)
|
||||
@NotNull
|
||||
private Long pageSize = 10L;
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package day.gitlab.dolphin.common.core.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageResponse<T> {
|
||||
|
||||
/** 总记录数 */
|
||||
private Long total = 0L;
|
||||
|
||||
/** 当前分页,默认1 */
|
||||
private Long pageNumber = 1L;
|
||||
|
||||
/** 分页条数,默认10 */
|
||||
private Long pageSize = 10L;
|
||||
|
||||
/** 记录 */
|
||||
private List<T> records;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package day.gitlab.dolphin.common.core.entity;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class QueryPageRequest<T> extends PageRequest {
|
||||
|
||||
/**
|
||||
* 查询参数
|
||||
*/
|
||||
private T query;
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package day.gitlab.dolphin.common.mybatis;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import day.gitlab.dolphin.common.core.entity.PageResponse;
|
||||
import day.gitlab.dolphin.common.core.entity.QueryPageRequest;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class Pages {
|
||||
|
||||
public static <T, E> Page<E> paginate(BaseMapper<E> mapper, QueryPageRequest<T> pageRequest, BiFunction<T, QueryWrapper, QueryWrapper> biFunction) {
|
||||
Page<E> page = new Page<>(pageRequest.getPageNumber(), pageRequest.getPageSize());
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper = biFunction.apply(pageRequest.getQuery(), wrapper);
|
||||
|
||||
return mapper.paginate(page, wrapper);
|
||||
}
|
||||
|
||||
public static <T, E> PageResponse<E> toPageResponse(Page<T> page, Function<T, E> mapFunction) {
|
||||
PageResponse<E> pageResponse = new PageResponse<>();
|
||||
pageResponse.setPageNumber(page.getPageNumber());
|
||||
pageResponse.setPageSize(page.getPageSize());
|
||||
pageResponse.setTotal(page.getTotalRow());
|
||||
|
||||
if (page.getRecords() != null) {
|
||||
pageResponse.setRecords(page.getRecords().stream().map(mapFunction).filter(Objects::nonNull).toList());
|
||||
}
|
||||
|
||||
return pageResponse;
|
||||
}
|
||||
}
|
||||
@ -9,6 +9,6 @@ public class UUIDv7KeyGenerator implements IKeyGenerator {
|
||||
|
||||
@Override
|
||||
public Object generate(Object entity, String keyColumn) {
|
||||
return UUIDv7.randomUUID().timestamp();
|
||||
return UUIDv7.randomUUID().toString();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user