You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					62 lines
				
				2.0 KiB
			
		
		
			
		
	
	
					62 lines
				
				2.0 KiB
			| 
											3 years ago
										 | package com.ynxbd.wx.wxfactory.utils;
 | ||
|  | 
 | ||
|  | import com.ynxbd.common.helper.common.ErrorHelper;
 | ||
|  | import lombok.extern.slf4j.Slf4j;
 | ||
|  | 
 | ||
|  | import java.io.UnsupportedEncodingException;
 | ||
|  | import java.net.URLEncoder;
 | ||
|  | import java.util.ArrayList;
 | ||
|  | import java.util.LinkedHashMap;
 | ||
|  | import java.util.List;
 | ||
|  | import java.util.Map;
 | ||
|  | 
 | ||
|  | @Slf4j
 | ||
|  | public class MapHelper {
 | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * map 排序
 | ||
|  |      * @param map map
 | ||
|  |      * @return map
 | ||
|  |      */
 | ||
|  |     public static Map<String, Object> order(Map<String, Object> map) {
 | ||
|  |         Map<String, Object> orderMap = new LinkedHashMap<>();
 | ||
|  | 
 | ||
|  |         List<Map.Entry<String, Object>> infoIds = new ArrayList<>(map.entrySet());
 | ||
|  |         infoIds.sort((a, b) -> ((Object) a.getKey()).toString().compareTo(b.getKey()));
 | ||
|  | 
 | ||
|  |         for (Map.Entry<String, Object> item : infoIds) {
 | ||
|  |             orderMap.put(item.getKey(), item.getValue());
 | ||
|  |         }
 | ||
|  |         return orderMap;
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     // 参数拼接
 | ||
|  |     public static String mapJoin(Map<String, Object> map, boolean keyLower, boolean isUrlEncode) {
 | ||
|  |         StringBuilder sb = new StringBuilder();
 | ||
|  |         try {
 | ||
|  |             String key;
 | ||
|  |             Object value;
 | ||
|  |             for (Map.Entry<String, Object> item : map.entrySet()) {
 | ||
|  |                 key = item.getKey();
 | ||
|  |                 if ("".equals(key)) {
 | ||
|  |                     continue;
 | ||
|  |                 }
 | ||
|  |                 key = key.endsWith("_") && key.length() > 1 ? key.substring(0, key.length() - 1) : key;
 | ||
|  |                 value = item.getValue();
 | ||
|  |                 if (value == null) {
 | ||
|  |                     value = "";
 | ||
|  |                 }
 | ||
|  |                 sb.append(keyLower ? key.toLowerCase() : key).append("=").append(isUrlEncode ? URLEncoder.encode(value.toString(), "utf-8").replace("+", "%20") : value).append("&");
 | ||
|  |             }
 | ||
|  |         } catch (UnsupportedEncodingException e) {
 | ||
|  |             ErrorHelper.println(e);
 | ||
|  |         }
 | ||
|  |         String params = sb.toString();
 | ||
|  |         if (params.length() > 1) {
 | ||
|  |             return params.substring(0, params.length() - 1);
 | ||
|  |         }
 | ||
|  |         return sb.toString();
 | ||
|  |     }
 | ||
|  | 
 | ||
|  | }
 |