Commit 70763988 by lili

Merge branch 'master' of http://begitlab.chubanyun.me/rays/pcloud-common-parent into mergeuat

parents 4c8c37fc e2c40352
...@@ -100,13 +100,15 @@ public interface BaseDao<T> { ...@@ -100,13 +100,15 @@ public interface BaseDao<T> {
PageBean listPage(PageParam pageParam, Map<String, Object> paramMap, String sqlId, String countSqlId); PageBean listPage(PageParam pageParam, Map<String, Object> paramMap, String sqlId, String countSqlId);
/** <C> PageBeanNew<C> listPageNew(PageParam pageParam, Map<String, Object> paramMap, String sqlId, String countSqlId);
* 根据条件查询 listBy: <br/>
* /**
* @param paramMap * 根据条件查询 listBy: <br/>
* @return 返回集合 *
*/ * @param paramMap
List<T> listBy(Map<String, Object> paramMap); * @return 返回集合
*/
List<T> listBy(Map<String, Object> paramMap);
List<Object> listBy(Map<String, Object> paramMap, String sqlId); List<Object> listBy(Map<String, Object> paramMap, String sqlId);
......
...@@ -214,7 +214,24 @@ public abstract class BaseDaoImpl<T extends BaseEntity> implements BaseDao<T> { ...@@ -214,7 +214,24 @@ public abstract class BaseDaoImpl<T extends BaseEntity> implements BaseDao<T> {
return new PageBean(pageParam.getPageNum(), pageParam.getNumPerPage(), count.intValue(), list); return new PageBean(pageParam.getPageNum(), pageParam.getNumPerPage(), count.intValue(), list);
} }
public PageBean listSimplePage(PageParam pageParam, Map<String, Object> paramMap, String sqlId) { public <C> PageBeanNew<C> listPageNew(PageParam pageParam, Map<String, Object> paramMap, String sqlId,
String countSqlId) {
if (paramMap == null)
paramMap = new HashMap<String, Object>();
// 获取分页数据集 , 注切勿换成 sessionTemplate 对象
List<C> list = getSqlSession().selectList(getStatement(sqlId), paramMap,
new RowBounds(pageParam.getPageNum() * pageParam.getNumPerPage(), pageParam.getNumPerPage()));
// 统计总记录数
Object countObject = getSqlSession().selectOne(getStatement(countSqlId), paramMap);
Long count = Long.valueOf(countObject.toString());
return new PageBeanNew<C>(pageParam.getPageNum(), pageParam.getNumPerPage(), count.intValue(), list);
}
public PageBean listSimplePage(PageParam pageParam, Map<String, Object> paramMap, String sqlId) {
if (paramMap == null) if (paramMap == null)
paramMap = new HashMap<String, Object>(); paramMap = new HashMap<String, Object>();
......
...@@ -3,6 +3,11 @@ ...@@ -3,6 +3,11 @@
*/ */
package com.pcloud.common.utils.nginx; package com.pcloud.common.utils.nginx;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.UnknownHostException;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -10,19 +15,19 @@ import org.apache.commons.lang.StringUtils; ...@@ -10,19 +15,19 @@ import org.apache.commons.lang.StringUtils;
/** /**
* @描述:Nginx工具类 * @描述:Nginx工具类
* @作者:songx * @作者:songx
* @创建时间:2016年12月3日,下午6:06:07 * @创建时间:2016年12月3日,下午6:06:07 @版本:1.0
* @版本:1.0
*/ */
public class NginxUtils { public class NginxUtils {
/** /**
* 在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地 * 在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地
* 址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等 * 址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等
* 反向代理软件就不能获取到客户端的真实IP地址了。 * 反向代理软件就不能获取到客户端的真实IP地址了。
* 但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。 * 但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。
* @param request *
* @return * @param request
*/ * @return
*/
public static String getClientIp(HttpServletRequest request) { public static String getClientIp(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For"); String ip = request.getHeader("X-Forwarded-For");
if (StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)) { if (StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)) {
...@@ -40,15 +45,60 @@ public class NginxUtils { ...@@ -40,15 +45,60 @@ public class NginxUtils {
} }
return request.getRemoteAddr(); return request.getRemoteAddr();
} }
/** /**
* 获得浏览器请求头中的User-Agent * 获得浏览器请求头中的User-Agent
* @param request *
* @return * @param request
*/ * @return
*/
public static String getClientUA(HttpServletRequest request) { public static String getClientUA(HttpServletRequest request) {
String userAgent = request.getHeader("user-agent"); String userAgent = request.getHeader("user-agent");
return userAgent; return userAgent;
} }
/**
* 获取本机IP
*
* @return
* @throws UnknownHostException
*/
public static String getLocalAddress() {
try {
InetAddress candidateAddress = null;
// 遍历所有的网络接口
for (Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces(); ifaces
.hasMoreElements();) {
NetworkInterface iface = (NetworkInterface) ifaces.nextElement();
// 在所有的接口下再遍历IP
for (Enumeration<InetAddress> inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements();) {
InetAddress inetAddr = (InetAddress) inetAddrs.nextElement();
if (!inetAddr.isLoopbackAddress()) {// 排除loopback类型地址
if (inetAddr.isSiteLocalAddress()) {
// 如果是site-local地址,就是它了
return inetAddr.getHostAddress();
} else if (candidateAddress == null) {
// site-local类型的地址未被发现,先记录候选地址
candidateAddress = inetAddr;
}
}
}
}
if (candidateAddress != null) {
return candidateAddress.getHostAddress();
}
// 如果没有发现 non-loopback地址.只能用最次选的方案
InetAddress jdkSuppliedAddress = InetAddress.getLocalHost();
if (jdkSuppliedAddress == null) {
throw new UnknownHostException("The JDK InetAddress.getLocalHost() method unexpectedly returned null.");
}
return jdkSuppliedAddress.getHostAddress();
} catch (Exception e) {
UnknownHostException unknownHostException = new UnknownHostException(
"Failed to determine LAN address: " + e);
unknownHostException.initCause(e);
return null;
}
}
} }
...@@ -69,6 +69,9 @@ public class StringComparator implements Comparator<String> { ...@@ -69,6 +69,9 @@ public class StringComparator implements Comparator<String> {
return hexStr1.compareTo(hexStr2); return hexStr1.compareTo(hexStr2);
} }
} }
if(str1.length() < str2.length()){
return -1;
}
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment