package com.qxueyou.scc.base.util; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; import com.qxueyou.scc.base.model.Param; public class ParamsUtils { /** * »ñÈ¡²éѯÌõ¼þµÄ¹«Ó÷½·¨ * * @param request HttpServletRequest * @param strSupportQueryArray ¶¨Òå×Ô¼º¹¦ÄÜÄ£¿éÖ§³Ö²éѯµÄÌõ¼þÊý×鼯ºÏ * @param lstQueryCondition ²éѯÌõ¼þ */ public static void getAllQueryCondition(HttpServletRequest request, String[] strSupportQueryArray, List lstParams) { Map mapParams = request.getParameterMap(); Set> entryseSet = mapParams.entrySet(); String strKey = ""; String strValue = ""; List lstSupportQuery = Arrays.asList(strSupportQueryArray); /** * Ìõ¼þ·ÖΪÒÔϼ¸ÖÖÇé¿ö: 1¡¢¹Ø¼ü×Ö²éѯ 2¡¢µ¥Ñ¡°´Å¥µÄÊý¾Ý×ÖµäÖµ 3¡¢¸´Ñ¡Êý×飬±ÈÈçÀàÐÍ * 4¡¢Ê±¼ä·¶Î§£¬±ÈÈ翪ʼʱ¼äºÍ½áÊøÊ±¼ä 5¡¢Êý×Ö·¶Î§£¬ 6¡¢ÆäËüÀàÐÍ */ for (Map.Entry entry : entryseSet) { /** »ñÈ¡²ÎÊýÖеļüÖµ¶Ô */ strKey = entry.getKey().toString(); strValue = entry.getValue()[0]; /** ²»Ö§³ÖµÄÌõ¼þ½«»á±»¹ýÂË */ if (lstSupportQuery.contains(strKey) && StringUtils.isNotBlank(strValue)) { // È¥¿Õ¸ñ strValue = strValue.trim(); if (strValue.matches("^[0-9]*[0-9][0-9]*$")) {// µ¥Ñ¡ Êý×Ö lstParams.add(new Param(strKey, " = ", strValue)); } else if (strValue.contains(",")) {// ¸´Ñ¡ Êý×Ö if (strValue.replace(",", "").matches("^-?[0-9]*$")){ lstParams.add(new Param(strKey, " in ", strValue )); } } else if (strValue.contains("~")) {// ʱ¼ä·¶Î§ }else if (strValue.contains("-")) {// Êý×Ö·¶Î§ } else {// ÆäËü lstParams.add(new Param(strKey, " LIKE ", "%"+strValue+"%")); } } } } }