mirror of
https://gitee.com/orangeform/orange-admin.git
synced 2026-01-17 18:46:36 +08:00
commit:添加多对多关联中间表更新支持,功能位于 班级管理 -> 课程 -> 编辑课程顺序
This commit is contained in:
@@ -12,7 +12,7 @@ import java.util.Date;
|
||||
* Controller的环绕拦截类。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@ControllerAdvice
|
||||
public class MyControllerAdvice {
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.concurrent.TimeoutException;
|
||||
* 用不同的函数,处理不同类型的异常。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
@RestControllerAdvice("com.orange.demo")
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 主要用于标记逻辑删除字段。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 主要用于标记更新字段。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 主要用于标记Service所依赖的数据源类型。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.lang.annotation.Target;
|
||||
* 标记Controller中的方法参数,参数解析器会根据该注解将请求中的JSON数据,映射到参数中的绑定字段。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target(ElementType.PARAMETER)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 主要用于标记无需Token验证的接口
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.METHOD, ElementType.TYPE})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 标识Model和常量字典之间的关联关系。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 标识Model之间的字典关联关系。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 标注多对多的Model关系。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 主要用于多对多的Model关系。标注通过从表关联字段或者关联表关联字段计算主表聚合计算字段的规则。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 主要用于一对多的Model关系。标注通过从表关联字段计算主表聚合计算字段的规则。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.lang.annotation.*;
|
||||
* 标识Model之间的一对一关联关系。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -25,7 +25,7 @@ import java.util.List;
|
||||
* 记录接口的链路traceId、请求参数、应答数据、错误信息和调用时长。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Aspect
|
||||
@Component
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.Map;
|
||||
*
|
||||
* @param <M> 主Model实体对象。
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@RegisterMapper
|
||||
public interface BaseDaoMapper<M> extends Mapper<M>, InsertListMapper<M> {
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.stream.Collectors;
|
||||
* @param <D> Domain域对象类型。
|
||||
* @param <M> Model实体对象类型。
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public interface BaseModelMapper<D, M> {
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.util.List;
|
||||
*
|
||||
* @param <M> 数据类型。
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class DummyModelMapper<M> implements BaseModelMapper<M, M> {
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.List;
|
||||
* @param <M> Model实体对象的类型。
|
||||
* @param <K> Model对象主键的类型。
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
public abstract class BaseDictService<M, K> extends BaseService<M, K> {
|
||||
|
||||
@@ -34,7 +34,7 @@ import static java.util.stream.Collectors.*;
|
||||
* @param <M> Model对象的类型。
|
||||
* @param <K> Model对象主键的类型。
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
public abstract class BaseService<M, K> {
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.concurrent.TimeUnit;
|
||||
* 使用Caffeine作为本地缓存库
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Configuration
|
||||
@EnableCaching
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Set;
|
||||
* @param <K> 字典表主键类型。
|
||||
* @param <V> 字典表对象类型。
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public interface DictionaryCache<K, V> {
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.function.Function;
|
||||
* @param <K> 字典表主键类型。
|
||||
* @param <V> 字典表对象类型。
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class MapDictionaryCache<K, V> implements DictionaryCache<K, V> {
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.function.Function;
|
||||
* @param <K> 字典表主键类型。
|
||||
* @param <V> 字典表对象类型。
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class MapTreeDictionaryCache<K, V> extends MapDictionaryCache<K, V> {
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.Set;
|
||||
* Session数据缓存辅助类。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@Component
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.util.List;
|
||||
* 所有的项目拦截器、参数解析器、消息对象转换器都在这里集中配置。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Configuration
|
||||
public class CommonWebMvcConfig implements WebMvcConfigurer {
|
||||
|
||||
@@ -8,7 +8,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
* 目前用于用户密码加密,UAA接入应用客户端的client_secret加密。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Configuration
|
||||
public class EncryptConfig {
|
||||
|
||||
@@ -24,7 +24,7 @@ import java.util.List;
|
||||
* RestTemplate连接池配置对象。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Configuration
|
||||
public class RestTemplateConfig {
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
|
||||
* tomcat配置对象。当前配置禁用了PUT和DELETE方法,防止渗透攻击。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Configuration
|
||||
public class TomcatConfig {
|
||||
|
||||
@@ -7,7 +7,7 @@ import java.util.Map;
|
||||
* 聚合计算的常量类型对象。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public final class AggregationType {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.constant;
|
||||
* 应用程序的常量声明对象。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public final class ApplicationConstant {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.constant;
|
||||
* 返回应答中的错误代码和错误信息。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public enum ErrorCodeEnum {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.constant;
|
||||
* 数据记录逻辑删除标记常量。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public final class GlobalDeletedFlag {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.exception;
|
||||
* 数据验证失败的自定义异常。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class DataValidationException extends RuntimeException {
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||
* 无效的类对象字段的自定义异常。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||
* 无效的实体对象字段的自定义异常。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||
* 无效的实体对象的自定义异常。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
||||
@@ -5,7 +5,7 @@ package com.orange.demo.common.core.exception;
|
||||
* NOTE:主要是为了避免SonarQube进行代码质量扫描时,给出警告。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class MyRuntimeException extends RuntimeException {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.exception;
|
||||
* 没有数据被修改的自定义异常。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class NoDataAffectException extends RuntimeException {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.exception;
|
||||
* 没有数据访问权限的自定义异常。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class NoDataPermException extends RuntimeException {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.exception;
|
||||
* Redis缓存访问失败。比如:获取分布式数据锁超时、等待线程中断等。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class RedisCacheAccessException extends RuntimeException {
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ import java.util.*;
|
||||
* 2、多个对象需要封装到一个对象里才可以用@RequestBody接收。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver {
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.Map;
|
||||
* 应用程序启动后的事件监听对象。主要负责加载Model之间的字典关联和一对一关联所对应的Service结构关系。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Component
|
||||
public class LoadCachedDataListener implements ApplicationListener<ApplicationReadyEvent> {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.Map;
|
||||
* 应用程序启动后的事件监听对象。主要负责加载Model之间的字典关联和一对一关联所对应的Service结构关系。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Component
|
||||
public class LoadServiceRelationListener implements ApplicationListener<ApplicationReadyEvent> {
|
||||
|
||||
@@ -8,7 +8,7 @@ import lombok.Data;
|
||||
* 同时为了提升效率,减少查询次数,可以根据具体的需求,将部分验证关联对象存入data字段,以供Controller使用。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Data
|
||||
public class CallResult {
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.Data;
|
||||
* Mybatis Mapper.xml中所需的分组条件对象。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.List;
|
||||
* 查询分组参数请求对象。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Slf4j
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.util.*;
|
||||
* Controller参数中的排序请求对象。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Slf4j
|
||||
|
||||
@@ -6,7 +6,7 @@ import lombok.Getter;
|
||||
* Controller参数中的分页请求对象
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Getter
|
||||
public class MyPageParam {
|
||||
|
||||
@@ -8,7 +8,7 @@ import lombok.Data;
|
||||
* BaseService中的实体对象数据组装函数,会根据该参数对象进行数据组装。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.List;
|
||||
* Where中的条件语句。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
@Data
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.Data;
|
||||
* 接口返回对象
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Data
|
||||
public class ResponseResult<T> {
|
||||
|
||||
@@ -10,7 +10,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
* 基于Jwt,用于前后端传递的令牌对象。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Data
|
||||
@ToString
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.object;
|
||||
* 二元组对象。主要用于可以一次返回多个结果的场景,同时还能避免强制转换。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class Tuple2<T1, T2> {
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.lang.reflect.Field;
|
||||
* 获取JDK动态代理/CGLIB代理对象代理的目标对象的工具类。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
public class AopTargetUtil {
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.springframework.stereotype.Component;
|
||||
* Spring 系统启动应用感知对象,主要用于获取Spring Bean的上下文对象,后续的代码中可以直接查找系统中加载的Bean对象。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Component
|
||||
public class ApplicationContextHolder implements ApplicationContextAware {
|
||||
|
||||
@@ -10,7 +10,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
* 获取Servlet HttpRequest和HttpResponse的工具类。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class ContextUtil {
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.util.*;
|
||||
* 导出工具类,目前支持xlsx和csv两种类型。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
public class ExportUtil {
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.stream.Collectors;
|
||||
* 导入工具类,目前支持xlsx和csv两种类型。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
public class ImportUtil {
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.List;
|
||||
* Ip工具类。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
public class IpUtil {
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.Map;
|
||||
* 基于JWT的Token生成工具类
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
public class JwtUtil {
|
||||
|
||||
@@ -6,7 +6,7 @@ package com.orange.demo.common.core.util;
|
||||
* 提高代码的规范度和可维护性。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class LogMessageUtil {
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.UUID;
|
||||
* 脚手架中常用的基本工具方法集合,一般而言工程内部使用的方法。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class MyCommonUtil {
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import static org.joda.time.PeriodType.days;
|
||||
* 日期工具类,主要封装了部分joda-time中的方法,让很多代码一行完成,同时统一了日期到字符串的pattern格式。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class MyDateUtil {
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ import java.util.stream.Collectors;
|
||||
* 负责Model数据操作、类型转换和关系关联等行为的工具类。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
public class MyModelUtil {
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.List;
|
||||
* 生成带有分页信息的数据列表
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class MyPageUtil {
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.Map;
|
||||
* Java RSA 加密工具类。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class RsaUtil {
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.function.Function;
|
||||
* @param <K> 节点之间关联键的类型。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Data
|
||||
public class TreeNode<T, K> {
|
||||
|
||||
@@ -24,7 +24,7 @@ import java.util.Objects;
|
||||
* 上传或下载附件文件的工具类。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Slf4j
|
||||
public class UpDownloadUtil {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.validator;
|
||||
* 数据增加的验证分组。通常用于数据新增场景。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public interface AddGroup {
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.lang.annotation.Target;
|
||||
* 定义在Model对象中,标注字段值引用自指定的常量字典,和ConstDictRefValidator对象配合完成数据验证。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.lang.reflect.Method;
|
||||
* 数据字段自定义验证,用于验证Model中字符串字段的最大长度和最小长度。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class ConstDictValidator implements ConstraintValidator<ConstDictRef, Object> {
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.lang.annotation.Target;
|
||||
* 定义在Model或Dto对象中,UTF-8编码的字符串字段长度的上限和下限,和TextLengthValidator对象配合完成数据验证。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
@Target({ElementType.FIELD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -9,7 +9,7 @@ import javax.validation.ConstraintValidatorContext;
|
||||
* 数据字段自定义验证,用于验证Model中UTF-8编码的字符串字段的最大长度和最小长度。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public class TextLengthValidator implements ConstraintValidator<TextLength, String> {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.orange.demo.common.core.validator;
|
||||
* 数据修改的验证分组。通常用于数据更新的场景。
|
||||
*
|
||||
* @author Jerry
|
||||
* @date 2020-09-25
|
||||
* @date 2020-09-27
|
||||
*/
|
||||
public interface UpdateGroup {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user