Package net.mingsoft.basic.util
Class BasicUtil
java.lang.Object
net.mingsoft.basic.util.BasicUtil
- Author:
- 铭软开发团队
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription将请求的request的参数重新组装。static String将请求的request的参数重新组装。static StringassemblyRequestUrlParams(String[] filter) 将请求的request的参数重新组装。static com.github.pagehelper.PageInfostatic com.github.pagehelper.PageInfostatic MapenumToMap(net.mingsoft.base.constant.e.BaseEnum[] baseEnum) 枚举类型转map类型static MapenumToMap(net.mingsoft.base.constant.e.BaseEnum[] baseEnum, boolean idKey) 枚举类型转map类型static <T> T过滤字段 此方法不推荐使用,推荐使用@@JsonIgnore 实体字段注解方式, 注意:hutool的工具会将时间变成时间戳,所以次方法默认将日期格式全部转换为 yyyy-MM-dd hh:mm:ssstatic Field[]getAllFields(Object object) 获取对象所有字段 包括父类static AppEntitygetApp()获取当前模块对应的app 必返回一条 注意:没有站群插件appUrl会设置当前域名static AppEntity根据Url返回对应的Appstatic BooleangetBoolean(String param) 获取布尔值 HttpServletRequest对象static BooleangetBoolean(String param, Boolean def) 获取布尔值 HttpServletRequest对象static StringgetClassPath(String filePath) 获取spingboot 对应下的资源文件static String获取上下文路径static String获取Cookie的值static StringgetCookie(net.mingsoft.base.constant.e.BaseCookieEnum key) 获取Cookie的值static String获取请求域名,域名不包括http请求协议头static int[]getIds()static Integerstatic Integer获取整型值 HttpServletRequest对象static int[]获取整型值数组static int[]获取整型值数组static StringgetIp()获取请求客户端ipgetMACAddress(String ip) 获取对应ip地址的mac地址static ManagerEntity获取当前登陆管理员信息(替代session方式获取)static StringgetMimeType(InputStream fileInput, String fileName) 获取文件真实类型static int当前页码static int每页显示数量static StringgetRealPath(String filePath) 获取filePath的物理路径 文件分隔符应该使用 File.separator 或 / 避免在linux下无法识别路径static StringgetRealTemplatePath(String filePath) 获取filePath的物理路径static StringgetRequestUrl(jakarta.servlet.http.HttpServletRequest request) 获取当前请求地址,包括参数会才有?static ObjectgetSession(String key) 获取session的值 HttpServletRequest对象static ObjectgetSession(net.mingsoft.base.constant.e.BaseSessionEnum key) 获取session的值 HttpServletRequest对象static String获取字符串值 HttpServletRequest对象static String获取字符串值 HttpServletRequest对象static StringgetUrl()获取项目路径static String获取项目路径static AppEntity获取当前模块对应的app 使用了站群插件才会有值static booleanisAjaxRequest(jakarta.servlet.http.HttpServletRequest request) 判断是否为ajax XMLHttpRequeststatic boolean获取当前站点是否为主站点,其中会判断是否为站群模式下,如果不是,会直接返回false 判断逻辑取数据库中第一条站点为主站点static booleanisMasterApp(String appId) 获取当前站点是否为主站点,其中会判断是否为站群模式下,如果不是,会直接返回false 判断逻辑取数据库中第一条站点为主站点static boolean根据当前请求的特征,判断该请求是否来自手机终端,主要检测特殊的头信息,以及user-Agent这个headerstatic boolean判断是否是微信内置浏览器
如果用来判断是否为手机端的微信内置浏览器需和isMobileDevice()方法一起使用static void列表排序static void输出json数据,已弃用 请使用springmvc的@ResponseBody返回ResultData包装对象static <T> T获取想要的字段, 只返回指定的字段 注意:hutool的工具会将时间变成时间戳,所以次方法默认将日期格式全部转换为 yyyy-MM-dd hh:mm:ssstatic voidremoveSession(String key) 移除session的值 HttpServletRequest对象static voidremoveSession(net.mingsoft.base.constant.e.BaseSessionEnum key) 移除session的值 HttpServletRequest对象static voidremoveUrlParams(String[] fitlers) 移除url参数static Map资源文件转map类型static Map资源文件转map类型static void设置Cookie值static voidsetCookie(jakarta.servlet.http.HttpServletResponse response, String domain, String key, String value, int expiry) 设置Cookie值static voidsetCookie(jakarta.servlet.http.HttpServletResponse response, String domain, String path, String key, String value, int expiry) 设置cookestatic voidsetCookie(jakarta.servlet.http.HttpServletResponse response, net.mingsoft.base.constant.e.BaseCookieEnum key, Object value) 设置Cookie值,浏览器关闭cookie会被删除static voidsetCookie(jakarta.servlet.http.HttpServletResponse response, net.mingsoft.base.constant.e.BaseCookieEnum key, Object value, int expiry) 设置Cookie值static voidsetSession(String key, Object value) 设置session的值 HttpServletRequest对象static voidsetSession(net.mingsoft.base.constant.e.BaseSessionEnum key, Object value) 设置session的值 HttpServletRequest对象static void通过反射给对象的指定字段赋值static void分页开始方法,必须配合BasicUtil.endPage()一起使用
此方法必须紧跟需要分页的查询语句,不能穿插其他sql否则会消耗掉分页次数导致异常。static voidstartPage(boolean count) 分页开始方法,必须配合BasicUtil.endPage()一起使用static voidstartPage(int pageNo, int pageSize, boolean count) 分页开始方法,必须配合BasicUtil.endPage()一起使用
-
Field Details
-
LOG
protected static final org.slf4j.Logger LOG
-
-
Constructor Details
-
BasicUtil
public BasicUtil()
-
-
Method Details
-
getApp
获取当前模块对应的app 必返回一条 注意:没有站群插件appUrl会设置当前域名 -
getApp
根据Url返回对应的App- Parameters:
url- 站点url- Returns:
- 站点实体,如果没有找到,则返回null
-
getWebsiteApp
获取当前模块对应的app 使用了站群插件才会有值 -
isMasterApp
public static boolean isMasterApp()获取当前站点是否为主站点,其中会判断是否为站群模式下,如果不是,会直接返回false 判断逻辑取数据库中第一条站点为主站点- Returns:
- 是否为主站点 true:当前站点为主站点,否则不是
-
isMasterApp
获取当前站点是否为主站点,其中会判断是否为站群模式下,如果不是,会直接返回false 判断逻辑取数据库中第一条站点为主站点- Parameters:
appId- 站点id- Returns:
- 是否为主站点 true:当前传入的为主站点,否则不是
-
getContextPath
获取上下文路径- Returns:
-
getUrl
获取项目路径- Parameters:
server- 指定servier主机- Returns:
- 返回项目路径,例如:http://www.ip.com/projectName/
-
getUrl
获取项目路径- Returns:
- 返回项目路径,例如:http://www.ip.com/projectName/
-
getMACAddress
获取对应ip地址的mac地址- Parameters:
ip-- Returns:
- mac地址
-
getIp
获取请求客户端ip- Returns:
- ip地址
-
getDomain
获取请求域名,域名不包括http请求协议头- Returns:
- 返回域名地址
-
startPage
public static void startPage()分页开始方法,必须配合BasicUtil.endPage()一起使用
此方法必须紧跟需要分页的查询语句,不能穿插其他sql否则会消耗掉分页次数导致异常。 -
getPageSize
public static int getPageSize()每页显示数量- Returns:
- 默认每页10条
-
getPageNo
public static int getPageNo()当前页码- Returns:
- 默认1
-
startPage
public static void startPage(boolean count) 分页开始方法,必须配合BasicUtil.endPage()一起使用- Parameters:
count- 是否统计总数 如果不需要分页使用false
-
startPage
public static void startPage(int pageNo, int pageSize, boolean count) 分页开始方法,必须配合BasicUtil.endPage()一起使用- Parameters:
count- 是否统计总数 如果不需要分页使用falsepageNo- 当前页码pageSize- 一页显示数量
-
orderBy
列表排序- Parameters:
orderBy- 排序字段,多个之间用,隔开order- 默认DESC
-
endPage
-
endPage
-
getBoolean
获取布尔值 HttpServletRequest对象- Parameters:
param- 参数名称- Returns:
- 返回布尔值,没找到返回null
-
getBoolean
获取布尔值 HttpServletRequest对象- Parameters:
param- 参数名称def- 默认值,如果参数不存在或不符合规则就用默认值替代- Returns:
- 返回布尔值,没找到返回默认值
-
getInt
获取整型值 HttpServletRequest对象- Parameters:
param- 参数名称def- 默认值,如果参数不存在或不符合规则就用默认值替代- Returns:
- 返回整型值
-
getInt
-
getString
获取字符串值 HttpServletRequest对象- Parameters:
param- 参数名称def- 默认值,如果参数不存在或不符合规则就用默认值替代- Returns:
- 返回整型值
-
getString
获取字符串值 HttpServletRequest对象- Parameters:
param- 参数名称- Returns:
- 返回整型值
-
getInts
获取整型值数组- Parameters:
param- 参数名称- Returns:
- 不存在返回null
-
getInts
获取整型值数组- Parameters:
param- 参数名称,如果param参数的值本身就是数组,将会忽略split参数split- 分割符号- Returns:
- 不存在返回null
-
getIds
public static int[] getIds() -
assemblyRequestMap
将请求的request的参数重新组装。主要是将空值的替换成null,因为requestMap空值是"",这样处理有利于外部判断, 同时将获取到的值映射到页面上 HttpServletRequest对象- Returns:
- 返回处理过后的数据
-
assemblyRequestUrlParams
将请求的request的参数重新组装。主要是将空值的替换成null,因为requestMap空值是"",这样处理有利于外部判断, 同时将获取到的值映射到页面上 HttpServletRequest对象- Returns:
- 返回处理过后的数据
-
assemblyRequestUrlParams
将请求的request的参数重新组装。主要是将空值的替换成null,因为requestMap空值是"",这样处理有利于外部判断, 同时将获取到的值映射到页面上- Parameters:
filter- 需要过滤的字段- Returns:
- 返回处理过后的数据
-
removeUrlParams
移除url参数- Parameters:
fitlers- 需要移除的字段名称
-
getSession
获取session的值 HttpServletRequest对象- Parameters:
key- 枚举类中的值- Returns:
- session中获取的对象
-
getSession
获取session的值 HttpServletRequest对象- Parameters:
key- 枚举类中的值- Returns:
- session中获取的对象
-
setSession
设置session的值 HttpServletRequest对象- Parameters:
key- 枚举类中的值
-
setSession
设置session的值 HttpServletRequest对象- Parameters:
key- 枚举类中的值
-
removeSession
public static void removeSession(net.mingsoft.base.constant.e.BaseSessionEnum key) 移除session的值 HttpServletRequest对象- Parameters:
key- 枚举类中的值
-
removeSession
移除session的值 HttpServletRequest对象- Parameters:
key- 枚举类中的值
-
getRealPath
获取filePath的物理路径 文件分隔符应该使用 File.separator 或 / 避免在linux下无法识别路径- Parameters:
filePath- 文件- Returns:
- 物理路径
-
getRealTemplatePath
获取filePath的物理路径- Parameters:
filePath- 文件- Returns:
- 物理路径
-
getClassPath
获取spingboot 对应下的资源文件- Parameters:
filePath-- Returns:
-
getAllFields
获取对象所有字段 包括父类- Parameters:
object-- Returns:
-
setValue
通过反射给对象的指定字段赋值- Parameters:
target- 目标对象fieldName- 字段的名称value- 值
-
enumToMap
枚举类型转map类型- Parameters:
baseEnum- 枚举类class.getEnumConstants()- Returns:
- map集合,根据id,value
-
enumToMap
枚举类型转map类型- Parameters:
baseEnum- 枚举类class.getEnumConstants()idKey- true的id为主键,false的name为主键- Returns:
- map集合
-
resToMap
资源文件转map类型- Parameters:
resPath- 资源文件包路径- Returns:
- map集合
-
resToMap
资源文件转map类型- Parameters:
rb- 资源文件- Returns:
- map集合
-
getCookie
获取Cookie的值- Parameters:
key- 枚举类中的值- Returns:
- Cookie中获取的对象
-
getCookie
获取Cookie的值- Parameters:
key- 字符串- Returns:
- Cookie中获取的对象
-
setCookie
public static void setCookie(jakarta.servlet.http.HttpServletResponse response, net.mingsoft.base.constant.e.BaseCookieEnum key, Object value) 设置Cookie值,浏览器关闭cookie会被删除- Parameters:
response- HttpServletResponse对象key- 枚举类中的值value- 存储对象
-
getManager
获取当前登陆管理员信息(替代session方式获取)- Returns:
- 没有登陆返回 null
-
setCookie
public static void setCookie(jakarta.servlet.http.HttpServletResponse response, net.mingsoft.base.constant.e.BaseCookieEnum key, Object value, int expiry) 设置Cookie值- Parameters:
response- HttpServletResponse对象key- 枚举类中的值value- 存储对象expiry- 过期时间,单位秒
-
setCookie
public static void setCookie(jakarta.servlet.http.HttpServletResponse response, String key, String value, int expiry) 设置Cookie值- Parameters:
response- HttpServletResponse对象key- 枚举类中的值value- 存储对象expiry- 过期时间,单位秒
-
setCookie
public static void setCookie(jakarta.servlet.http.HttpServletResponse response, String domain, String key, String value, int expiry) 设置Cookie值- Parameters:
response- HttpServletResponse对象domain- 域key- 枚举类中的值value- 存储对象expiry- 过期时间,单位秒
-
setCookie
public static void setCookie(jakarta.servlet.http.HttpServletResponse response, String domain, String path, String key, String value, int expiry) 设置cooke- Parameters:
response-domain- 域 如:baidu.com 没有www,没有端口path- 路径key- 名称value- 值expiry- 过期时间,单位秒 默认0,关闭窗口后该Cookie即失效 0删除cookie
-
isMobileDevice
public static boolean isMobileDevice()根据当前请求的特征,判断该请求是否来自手机终端,主要检测特殊的头信息,以及user-Agent这个header- Returns:
- 如果命中手机特征规则,则返回对应的特征字符串
-
isWechatBrowser
public static boolean isWechatBrowser()判断是否是微信内置浏览器
如果用来判断是否为手机端的微信内置浏览器需和isMobileDevice()方法一起使用- Returns:
- true:为微信内置浏览器 false: 不是微信内置浏览器
-
isAjaxRequest
public static boolean isAjaxRequest(jakarta.servlet.http.HttpServletRequest request) 判断是否为ajax XMLHttpRequest- Parameters:
request-- Returns:
-
filter
过滤字段 此方法不推荐使用,推荐使用@@JsonIgnore 实体字段注解方式, 注意:hutool的工具会将时间变成时间戳,所以次方法默认将日期格式全部转换为 yyyy-MM-dd hh:mm:ss- Parameters:
obj- 过滤对象filters- 过滤参数- Returns:
- 过滤后的对象
-
putter
获取想要的字段, 只返回指定的字段 注意:hutool的工具会将时间变成时间戳,所以次方法默认将日期格式全部转换为 yyyy-MM-dd hh:mm:ss- Parameters:
obj- 过滤对象fields- 想要取出的字段- Returns:
-
outString
输出json数据,已弃用 请使用springmvc的@ResponseBody返回ResultData包装对象- Parameters:
response- HttpServletResponse对象dataStr- 字符串
-
getMimeType
获取文件真实类型- Parameters:
fileInput- 文件流fileName- 文件名- Returns:
-
getRequestUrl
获取当前请求地址,包括参数会才有?a=1&b=1方式组装成一条新的完整地址- Parameters:
request- 对象- Returns:
- 一条完整的get请求地址
-