# 公共基础包 **Repository Path**: lk-service/wisdom-common ## Basic Information - **Project Name**: 公共基础包 - **Description**: 框架所使用的各个基础jar包 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-14 - **Last Updated**: 2025-03-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 平台组件 ## 组件说明 **wisdom-common-mybatis** :mybatis组件 **wisdom-common-log** :暂无作用 **wisdom-common-redis** :redis组件 todo 布隆过滤器 **wisdom-common-base** :公共组件 **wisdom-common-swagger** :swagger组件 **wisdom-common-web** :web组件 **wisdom-common-feign** :feign组件 **wisdom-common-configure** :configure组件 **wisdom-common-auth** :auth认证组件 **wisdom-common-login** :login 登录组件 **wisdom-common-cache** :cache缓存组件 **wisdom-common-single-auth** : 单体项目认证组件 ## wisdom-common-mybatis 说明 - 自定义id生成器:IdGenerator,手动获取id使用:CustomerIdGenerator - 公共model:BaseModel、BaseModelPrimary,实体类可继承 - 拦截器说明:MybatisLikeSqlInterceptor(糊查询语句特殊字符转义拦截器) - mybatis-plus自动填充:MyBatisPlusMetaHandler ### wisdom-common-mybatis使用 ```java //yaml配置,打开mybatis配置,mybatis的其它配置,请参考官方文档在yaml自行配置,非必要保持默认配置即可 zhkc: mybatis: enabled: true #开启mybatis ``` ## wisdom-common-redis 说明 - RedisAgent: redisTemplate封装类,尽量避免使用原始类操作redis ### wisdom-common-mybatis使用 ```java //yaml配置 zhkc: redis: enabled: true ``` ```java @Autowired private RedisAgent redisAgent; //存入对象 redisAgent.setObject("test",loginAccount,LoginContextInfo.class); //取出对象 redisAgent.getObject("test",LoginContextInfo.class); ``` ## wisdom-common-web 说明 - DefineGlobalExceptionHandler: 全局异常处理 - vo: 公共vo对象 - logback-spring.xml引入,日志文件配置 - web模块会引入swagger模块 - 时间格式化:代码如下 ```java @Slf4j @Configuration @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) public class WebAutoConfiguration { @PostConstruct public void init() { log.info("init WebAutoConfiguration..."); } private static final String dateFormat = "yyyy-MM-dd"; private static final String dateTimeFormat = "yyyy-MM-dd HH:mm:ss"; @Bean public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() { return builder -> { builder.simpleDateFormat(dateTimeFormat); builder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(dateFormat))); builder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(dateTimeFormat))); }; } } ``` ## wisdom-common-mybatis-mate 说明 ```java //数据权限组件使用demo: //在类上使用针对整个类,在方法上使用争对该方法,如果方法和类上都有,执行优先级 方法>类 @DataPermissions @DataScope(value={@DataColumn(name = DataColumnType.JCD_ID)}) public interface SysUserMapper extends BaseMapper { } //配置: //注入MybatisPlusInterceptor,覆盖mybatis组件里面的 拦截器,增加权限管理拦截器 @Bean @Primary public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new DataPermissionInterceptor(new DataScopeHandler())); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL)); return interceptor; } ``` ## wisdom-common-mybatis-mate 说明 ```java //数据权限组件使用demo: //在类上使用针对整个类,在方法上使用争对该方法,如果方法和类上都有,执行优先级 方法>类 @DataPermissions @DataScope(value={@DataColumn(name = DataColumnType.JCD_ID)}) public interface SysUserMapper extends BaseMapper { } //配置: //注入MybatisPlusInterceptor,覆盖mybatis组件里面的 拦截器,增加权限管理拦截器 @Bean @Primary public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new DataPermissionInterceptor(new DataScopeHandler())); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL)); return interceptor; } ``` ## wisdom-common-auth 说明 spring-cloud-starter-gateway + satoken 网关统一认证 ## wisdom-common-login 说明 satoken过滤器获取用户信息,存入全局参数(SecurityContextHolder),方便后续直接获取用户信息。 ## wisdom-common-iot 说明 集成iotdb,封装工具类方便操作 ## wisdom-common-swagger 说明 集成knife4j