Class BasicUtil

java.lang.Object
net.mingsoft.basic.util.BasicUtil

public class BasicUtil extends Object
Author:
铭软开发团队
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final org.slf4j.Logger
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Map<String,Object>
    将请求的request的参数重新组装。
    static String
    将请求的request的参数重新组装。
    static String
    将请求的request的参数重新组装。
    static com.github.pagehelper.PageInfo
    endPage(List list)
     
    static com.github.pagehelper.PageInfo
    endPage(List list, String name)
     
    static Map
    enumToMap(net.mingsoft.base.constant.e.BaseEnum[] baseEnum)
    枚举类型转map类型
    static Map
    enumToMap(net.mingsoft.base.constant.e.BaseEnum[] baseEnum, boolean idKey)
    枚举类型转map类型
    static <T> T
    filter(T obj, String... filters)
    过滤字段 此方法不推荐使用,推荐使用@@JsonIgnore 实体字段注解方式, 注意:hutool的工具会将时间变成时间戳,所以次方法默认将日期格式全部转换为 yyyy-MM-dd hh:mm:ss
    static Field[]
    获取对象所有字段 包括父类
    static AppEntity
    获取当前模块对应的app 必返回一条 注意:没有站群插件appUrl会设置当前域名
    static AppEntity
    根据Url返回对应的App
    static Boolean
    获取布尔值 HttpServletRequest对象
    static Boolean
    getBoolean(String param, Boolean def)
    获取布尔值 HttpServletRequest对象
    static String
    getClassPath(String filePath)
    获取spingboot 对应下的资源文件
    static String
    获取上下文路径
    static String
    获取Cookie的值
    static String
    getCookie(net.mingsoft.base.constant.e.BaseCookieEnum key)
    获取Cookie的值
    static String
    获取请求域名,域名不包括http请求协议头
    static int[]
     
    static Integer
    getInt(String param)
     
    static Integer
    getInt(String param, int def)
    获取整型值 HttpServletRequest对象
    static int[]
    getInts(String param)
    获取整型值数组
    static int[]
    getInts(String param, String split)
    获取整型值数组
    static String
    获取请求客户端ip
    获取对应ip地址的mac地址
    获取当前登陆管理员信息(替代session方式获取)
    static String
    getMimeType(InputStream fileInput, String fileName)
    获取文件真实类型
    static int
    当前页码
    static int
    每页显示数量
    static String
    getRealPath(String filePath)
    获取filePath的物理路径 文件分隔符应该使用 File.separator 或 / 避免在linux下无法识别路径
    static String
    获取filePath的物理路径
    static String
    getRequestUrl(jakarta.servlet.http.HttpServletRequest request)
    获取当前请求地址,包括参数会才有?
    static Object
    获取session的值 HttpServletRequest对象
    static Object
    getSession(net.mingsoft.base.constant.e.BaseSessionEnum key)
    获取session的值 HttpServletRequest对象
    static String
    获取字符串值 HttpServletRequest对象
    static String
    getString(String param, String def)
    获取字符串值 HttpServletRequest对象
    static String
    获取项目路径
    static String
    getUrl(String server)
    获取项目路径
    static AppEntity
    获取当前模块对应的app 使用了站群插件才会有值
    static boolean
    isAjaxRequest(jakarta.servlet.http.HttpServletRequest request)
    判断是否为ajax XMLHttpRequest
    static boolean
    获取当前站点是否为主站点,其中会判断是否为站群模式下,如果不是,会直接返回false 判断逻辑取数据库中第一条站点为主站点
    static boolean
    获取当前站点是否为主站点,其中会判断是否为站群模式下,如果不是,会直接返回false 判断逻辑取数据库中第一条站点为主站点
    static boolean
    根据当前请求的特征,判断该请求是否来自手机终端,主要检测特殊的头信息,以及user-Agent这个header
    static boolean
    判断是否是微信内置浏览器
    如果用来判断是否为手机端的微信内置浏览器需和isMobileDevice()方法一起使用
    static void
    orderBy(String orderBy, String order)
    列表排序
    static void
    outString(jakarta.servlet.http.HttpServletResponse response, String dataStr)
    输出json数据,已弃用 请使用springmvc的@ResponseBody返回ResultData包装对象
    static <T> T
    putter(T obj, String... fields)
    获取想要的字段, 只返回指定的字段 注意:hutool的工具会将时间变成时间戳,所以次方法默认将日期格式全部转换为 yyyy-MM-dd hh:mm:ss
    static void
    移除session的值 HttpServletRequest对象
    static void
    removeSession(net.mingsoft.base.constant.e.BaseSessionEnum key)
    移除session的值 HttpServletRequest对象
    static void
    移除url参数
    static Map
    resToMap(String resPath)
    资源文件转map类型
    static Map
    资源文件转map类型
    static void
    setCookie(jakarta.servlet.http.HttpServletResponse response, String key, String value, int expiry)
    设置Cookie值
    static void
    setCookie(jakarta.servlet.http.HttpServletResponse response, String domain, String key, String value, int expiry)
    设置Cookie值
    static void
    setCookie(jakarta.servlet.http.HttpServletResponse response, String domain, String path, String key, String value, int expiry)
    设置cooke
    static void
    setCookie(jakarta.servlet.http.HttpServletResponse response, net.mingsoft.base.constant.e.BaseCookieEnum key, Object value)
    设置Cookie值,浏览器关闭cookie会被删除
    static void
    setCookie(jakarta.servlet.http.HttpServletResponse response, net.mingsoft.base.constant.e.BaseCookieEnum key, Object value, int expiry)
    设置Cookie值
    static void
    setSession(String key, Object value)
    设置session的值 HttpServletRequest对象
    static void
    setSession(net.mingsoft.base.constant.e.BaseSessionEnum key, Object value)
    设置session的值 HttpServletRequest对象
    static void
    setValue(Object target, String fieldName, Object value)
    通过反射给对象的指定字段赋值
    static void
    分页开始方法,必须配合BasicUtil.endPage()一起使用
    此方法必须紧跟需要分页的查询语句,不能穿插其他sql否则会消耗掉分页次数导致异常。
    static void
    startPage(boolean count)
    分页开始方法,必须配合BasicUtil.endPage()一起使用
    static void
    startPage(int pageNo, int pageSize, boolean count)
    分页开始方法,必须配合BasicUtil.endPage()一起使用

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOG

      protected static final org.slf4j.Logger LOG
  • Constructor Details

    • BasicUtil

      public BasicUtil()
  • Method Details

    • getApp

      public static AppEntity getApp()
      获取当前模块对应的app 必返回一条 注意:没有站群插件appUrl会设置当前域名
    • getApp

      public static AppEntity getApp(String url)
      根据Url返回对应的App
      Parameters:
      url - 站点url
      Returns:
      站点实体,如果没有找到,则返回null
    • getWebsiteApp

      public static AppEntity getWebsiteApp()
      获取当前模块对应的app 使用了站群插件才会有值
    • isMasterApp

      public static boolean isMasterApp()
      获取当前站点是否为主站点,其中会判断是否为站群模式下,如果不是,会直接返回false 判断逻辑取数据库中第一条站点为主站点
      Returns:
      是否为主站点 true:当前站点为主站点,否则不是
    • isMasterApp

      public static boolean isMasterApp(String appId)
      获取当前站点是否为主站点,其中会判断是否为站群模式下,如果不是,会直接返回false 判断逻辑取数据库中第一条站点为主站点
      Parameters:
      appId - 站点id
      Returns:
      是否为主站点 true:当前传入的为主站点,否则不是
    • getContextPath

      public static String getContextPath()
      获取上下文路径
      Returns:
    • getUrl

      public static String getUrl(String server)
      获取项目路径
      Parameters:
      server - 指定servier主机
      Returns:
      返回项目路径,例如:http://www.ip.com/projectName/
    • getUrl

      public static String getUrl()
      获取项目路径
      Returns:
      返回项目路径,例如:http://www.ip.com/projectName/
    • getMACAddress

      public String getMACAddress(String ip)
      获取对应ip地址的mac地址
      Parameters:
      ip -
      Returns:
      mac地址
    • getIp

      public static String getIp()
      获取请求客户端ip
      Returns:
      ip地址
    • getDomain

      public static String 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 - 是否统计总数 如果不需要分页使用false
      pageNo - 当前页码
      pageSize - 一页显示数量
    • orderBy

      public static void orderBy(String orderBy, String order)
      列表排序
      Parameters:
      orderBy - 排序字段,多个之间用,隔开
      order - 默认DESC
    • endPage

      public static com.github.pagehelper.PageInfo endPage(List list, String name)
    • endPage

      public static com.github.pagehelper.PageInfo endPage(List list)
    • getBoolean

      public static Boolean getBoolean(String param)
      获取布尔值 HttpServletRequest对象
      Parameters:
      param - 参数名称
      Returns:
      返回布尔值,没找到返回null
    • getBoolean

      public static Boolean getBoolean(String param, Boolean def)
      获取布尔值 HttpServletRequest对象
      Parameters:
      param - 参数名称
      def - 默认值,如果参数不存在或不符合规则就用默认值替代
      Returns:
      返回布尔值,没找到返回默认值
    • getInt

      public static Integer getInt(String param, int def)
      获取整型值 HttpServletRequest对象
      Parameters:
      param - 参数名称
      def - 默认值,如果参数不存在或不符合规则就用默认值替代
      Returns:
      返回整型值
    • getInt

      public static Integer getInt(String param)
    • getString

      public static String getString(String param, String def)
      获取字符串值 HttpServletRequest对象
      Parameters:
      param - 参数名称
      def - 默认值,如果参数不存在或不符合规则就用默认值替代
      Returns:
      返回整型值
    • getString

      public static String getString(String param)
      获取字符串值 HttpServletRequest对象
      Parameters:
      param - 参数名称
      Returns:
      返回整型值
    • getInts

      public static int[] getInts(String param)
      获取整型值数组
      Parameters:
      param - 参数名称
      Returns:
      不存在返回null
    • getInts

      public static int[] getInts(String param, String split)
      获取整型值数组
      Parameters:
      param - 参数名称,如果param参数的值本身就是数组,将会忽略split参数
      split - 分割符号
      Returns:
      不存在返回null
    • getIds

      public static int[] getIds()
    • assemblyRequestMap

      public static Map<String,Object> assemblyRequestMap()
      将请求的request的参数重新组装。主要是将空值的替换成null,因为requestMap空值是"",这样处理有利于外部判断, 同时将获取到的值映射到页面上 HttpServletRequest对象
      Returns:
      返回处理过后的数据
    • assemblyRequestUrlParams

      public static String assemblyRequestUrlParams()
      将请求的request的参数重新组装。主要是将空值的替换成null,因为requestMap空值是"",这样处理有利于外部判断, 同时将获取到的值映射到页面上 HttpServletRequest对象
      Returns:
      返回处理过后的数据
    • assemblyRequestUrlParams

      public static String assemblyRequestUrlParams(String[] filter)
      将请求的request的参数重新组装。主要是将空值的替换成null,因为requestMap空值是"",这样处理有利于外部判断, 同时将获取到的值映射到页面上
      Parameters:
      filter - 需要过滤的字段
      Returns:
      返回处理过后的数据
    • removeUrlParams

      public static void removeUrlParams(String[] fitlers)
      移除url参数
      Parameters:
      fitlers - 需要移除的字段名称
    • getSession

      public static Object getSession(net.mingsoft.base.constant.e.BaseSessionEnum key)
      获取session的值 HttpServletRequest对象
      Parameters:
      key - 枚举类中的值
      Returns:
      session中获取的对象
    • getSession

      public static Object getSession(String key)
      获取session的值 HttpServletRequest对象
      Parameters:
      key - 枚举类中的值
      Returns:
      session中获取的对象
    • setSession

      public static void setSession(net.mingsoft.base.constant.e.BaseSessionEnum key, Object value)
      设置session的值 HttpServletRequest对象
      Parameters:
      key - 枚举类中的值
    • setSession

      public static void setSession(String key, Object value)
      设置session的值 HttpServletRequest对象
      Parameters:
      key - 枚举类中的值
    • removeSession

      public static void removeSession(net.mingsoft.base.constant.e.BaseSessionEnum key)
      移除session的值 HttpServletRequest对象
      Parameters:
      key - 枚举类中的值
    • removeSession

      public static void removeSession(String key)
      移除session的值 HttpServletRequest对象
      Parameters:
      key - 枚举类中的值
    • getRealPath

      public static String getRealPath(String filePath)
      获取filePath的物理路径 文件分隔符应该使用 File.separator 或 / 避免在linux下无法识别路径
      Parameters:
      filePath - 文件
      Returns:
      物理路径
    • getRealTemplatePath

      public static String getRealTemplatePath(String filePath)
      获取filePath的物理路径
      Parameters:
      filePath - 文件
      Returns:
      物理路径
    • getClassPath

      public static String getClassPath(String filePath)
      获取spingboot 对应下的资源文件
      Parameters:
      filePath -
      Returns:
    • getAllFields

      public static Field[] getAllFields(Object object)
      获取对象所有字段 包括父类
      Parameters:
      object -
      Returns:
    • setValue

      public static void setValue(Object target, String fieldName, Object value)
      通过反射给对象的指定字段赋值
      Parameters:
      target - 目标对象
      fieldName - 字段的名称
      value - 值
    • enumToMap

      public static Map enumToMap(net.mingsoft.base.constant.e.BaseEnum[] baseEnum)
      枚举类型转map类型
      Parameters:
      baseEnum - 枚举类class.getEnumConstants()
      Returns:
      map集合,根据id,value
    • enumToMap

      public static Map enumToMap(net.mingsoft.base.constant.e.BaseEnum[] baseEnum, boolean idKey)
      枚举类型转map类型
      Parameters:
      baseEnum - 枚举类class.getEnumConstants()
      idKey - true的id为主键,false的name为主键
      Returns:
      map集合
    • resToMap

      public static Map resToMap(String resPath)
      资源文件转map类型
      Parameters:
      resPath - 资源文件包路径
      Returns:
      map集合
    • resToMap

      public static Map resToMap(ResourceBundle rb)
      资源文件转map类型
      Parameters:
      rb - 资源文件
      Returns:
      map集合
    • getCookie

      public static String getCookie(net.mingsoft.base.constant.e.BaseCookieEnum key)
      获取Cookie的值
      Parameters:
      key - 枚举类中的值
      Returns:
      Cookie中获取的对象
    • getCookie

      public static String getCookie(String key)
      获取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

      public static ManagerEntity 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

      public static <T> T filter(T obj, String... filters)
      过滤字段 此方法不推荐使用,推荐使用@@JsonIgnore 实体字段注解方式, 注意:hutool的工具会将时间变成时间戳,所以次方法默认将日期格式全部转换为 yyyy-MM-dd hh:mm:ss
      Parameters:
      obj - 过滤对象
      filters - 过滤参数
      Returns:
      过滤后的对象
    • putter

      public static <T> T putter(T obj, String... fields)
      获取想要的字段, 只返回指定的字段 注意:hutool的工具会将时间变成时间戳,所以次方法默认将日期格式全部转换为 yyyy-MM-dd hh:mm:ss
      Parameters:
      obj - 过滤对象
      fields - 想要取出的字段
      Returns:
    • outString

      public static void outString(jakarta.servlet.http.HttpServletResponse response, String dataStr)
      输出json数据,已弃用 请使用springmvc的@ResponseBody返回ResultData包装对象
      Parameters:
      response - HttpServletResponse对象
      dataStr - 字符串
    • getMimeType

      public static String getMimeType(InputStream fileInput, String fileName)
      获取文件真实类型
      Parameters:
      fileInput - 文件流
      fileName - 文件名
      Returns:
    • getRequestUrl

      public static String getRequestUrl(jakarta.servlet.http.HttpServletRequest request)
      获取当前请求地址,包括参数会才有?a=1&b=1方式组装成一条新的完整地址
      Parameters:
      request - 对象
      Returns:
      一条完整的get请求地址