package com.matrix.component.tools;
|
|
import com.matrix.core.constance.SystemErrorCode;
|
import com.matrix.core.exception.GlobleException;
|
import com.matrix.core.tools.LogUtil;
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.Random;
|
|
public class WxUtils {
|
|
/**
|
* 获取随机数
|
*
|
* @author HEMING
|
* @email 910000889@qq.com
|
* @date 2018年6月7日
|
* @param length
|
* @return
|
*/
|
|
public static String getRandomNum(int length) {
|
String str = "0123456789";
|
Random random = new Random();
|
StringBuilder sb = new StringBuilder();
|
for (int i = 0; i < length; ++i) {
|
int number = random.nextInt(str.length());
|
sb.append(str.charAt(number));
|
}
|
|
return sb.toString();
|
}
|
/**
|
* 生成订单号
|
* 年月日时分秒+4位随机数字
|
* @author HEMING
|
* @email 910000889@qq.com
|
* @date 2018年6月7日
|
* @param length
|
* @return
|
*/
|
|
public static String getOrderNum() {
|
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
|
String dd=df.format(new Date());
|
return dd+getRandomNum(5);
|
}
|
|
/**
|
* 获取拼团方案价格
|
*
|
* @author HEMING
|
* @email 910000889@qq.com
|
* @date 2018年6月7日
|
* @param length
|
* @return
|
*/
|
|
public static String getCollagePrice(String colProgramme,String num) {
|
JSONArray items = JSONArray.fromObject(colProgramme);
|
for(int k=0;k<items.size();k++){
|
JSONObject obj = items.getJSONObject(k);
|
if(obj.get("num")!=null && obj.get("num").equals(num)){
|
return obj.get("price").toString();
|
}
|
}
|
return null;
|
}
|
|
/**
|
* 生成验证码
|
* 年月日时分秒+2位随机数字
|
* @author HEMING
|
* @email 910000889@qq.com
|
* @date 2018年6月7日
|
* @param length
|
* @return
|
*/
|
|
public static String getNumCode() {
|
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmm");
|
String dd=df.format(new Date());
|
return dd+getRandomNum(4);
|
}
|
|
public static void main(String[] args) {
|
/*String colProgramme="[{\"num\":\"3\",\"price\":\"40\",\"name\":\"3人团\"},{\"num\":\"5\",\"price\":\"30\",\"name\":\"5人团\"}]";
|
System.out.println(getNumCode());*/
|
String add = getLocation("112.904496", "28.216681");
|
}
|
|
/**
|
*
|
* @Desoription 根据经纬度获取定位信息
|
* @author 何明
|
* @param 参数
|
* @return 返回值类型
|
* @date 2018年04月13日
|
*/
|
public static String getLocation(String log, String lat ){
|
//lat<纬度>,lng<经度>
|
String urlString ="http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location="+lat+","+log+"&output=json&pois=1&ak=xFaAvGxMbX9ToptGnBbOGdjOWPZPG5h7";
|
String res = null;
|
HttpRequest reqObj = new HttpRequest();
|
HttpResponse result;
|
try {
|
result = reqObj.sendHttpGet(urlString, null);
|
JSONObject json = JSONObject.fromObject(result.getDataString().replace("renderReverse&&renderReverse(", "").replace("}})", "}}"));
|
json=JSONObject.fromObject(json.getString("result"));
|
res=json.toString();
|
System.out.println(json.toString());
|
LogUtil.info("定位数据:{}", json.toString());
|
} catch (Exception e) {
|
LogUtil.error("获取定位城市错误:{}", e,"");
|
throw new GlobleException(SystemErrorCode.SYSTEM_UNKNOW_ERROR);
|
}
|
return res;
|
}
|
|
|
|
}
|