org.shoulder.web.template.crud.BaseController Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of shoulder-web Show documentation
Show all versions of shoulder-web Show documentation
shoulder WEB 模块,基于Spring Boot Web提供了 Controller AOP 日志、AOP异常处理,统一返回值,健康检查,租户、用户解析,Web
安全防护,通用CrudController,动态字典,标签管理,HTTP client AOP日志、AOP异常处理等能力,助力Web飞速开发。
The newest version!
package org.shoulder.web.template.crud;
import org.shoulder.core.context.AppContext;
import org.shoulder.core.converter.ShoulderConversionService;
import org.shoulder.core.util.ContextUtils;
import org.shoulder.data.mybatis.template.entity.BaseEntity;
import org.shoulder.data.mybatis.template.entity.BizEntity;
import org.shoulder.data.mybatis.template.service.BaseService;
import org.shoulder.log.operation.support.OperableObjectTypeRepository;
import java.io.Serializable;
/**
* 基础,几个基本方法,不提供任何接口
*
* @author lym
*/
public interface BaseController> {
/**
* 获取实体类型
*
* @return 实体的类型
*/
Class getEntityClass();
Class extends Serializable> getEntityIdType();
/**
* 判断是否为 BizEntity
*
* @return 是否为 BizEntity
* @see BizEntity
*/
default boolean extendsFromBizEntity() {
return BizEntity.class.isAssignableFrom(getEntityClass());
}
/**
* 获取 Service
*
* @return Service
*/
BaseService getService();
// ============================ 常用的方法从框架工具类中抽离出来 ===========================
/**
* 获取当前id
*
* @return userId
*/
default String getUserId() {
return AppContext.getUserId();
}
/**
* 当前请求租户
*
* @return 租户编码
*/
default String getTenant() {
return AppContext.getTenantCode();
}
/**
* 登录人账号
*
* @return 账号
*/
default String getUserName() {
return AppContext.getUserName();
}
/**
* 获取对象类型
* 用于记录操作日志
*
* @return 对象类型
*/
default String getEntityObjectType() {
return ContextUtils.getBeanOptional(OperableObjectTypeRepository.class)
.map(r -> r.getObjectType(getEntityClass()))
.orElse("objType." + getEntityClass().getSimpleName());
}
ShoulderConversionService getConversionService();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy