import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Dict; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import com.xzx.gc.common.Result; import com.xzx.gc.common.utils.DateUtils; import com.xzx.gc.common.utils.LocationUtils; import com.xzx.gc.common.utils.gdmap.GdMapUtil; import com.xzx.gc.model.order.OrderInfoReq; import com.xzx.gc.model.order.OrderInfoVo; import com.xzx.gc.model.user.AccountVo; import com.xzx.gc.order.dto.TrackDetailResultDto; import org.junit.Test; import org.springframework.util.CollectionUtils; import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; public class JavaTest { @Test public void generate(){ String lon="112.939038"; String lat="28.165681"; String key="f28decf4aed2d20104c16d3532682810"; Result inFence = GdMapUtil.isInFence(lon + "," + lat + "," + DateUtil.currentSeconds(), GdMapUtil.getDiu(key),key); String gid="a87f1016-6368-4acf-b273-6fd90d67a9e9"; Result fence = GdMapUtil.findFence(key, gid, ""); } public List split(int min, int max, int num,int size,List list){ Random r = new Random(); int i1 = max - min; int i2 = max + min; int n = num/i1 +1; int numm = 0; for(int i=1;ii2){ split(min,max,num-numm,size,list); }else{ list.add(num-numm); } if(list.size()==size-1){ int temp=0; for (Integer integer : list) { temp=temp+integer; } list.add(num-temp); } return list; } public int[] splitInteger(int n, int sum,boolean flag) { //随机抽取n-1个小于sum的数 List list = new ArrayList(); //将0和sum加入到里list中 list.add(0); //判断生成的正整数集合中是否允许为0,true元素可以为0 false元素不可以为0 if (!flag) { sum = sum - n; } list.add(sum); int temp = 0; for (int i = 0; i < n - 1 ; i++) { temp = (int) (Math.random() * sum); list.add(temp); } Collections.sort(list); int[] nums = new int[n]; for (int i = 0; i < n; i++) { nums[i] = list.get(i + 1) - list.get(i); if (!flag) { nums[i] += 1; } } return nums; } /** * 随机指定范围内N个不重复的数 * 最简单最基本的方法 * @param min 指定范围最小值 * @param max 指定范围最大值 * @param n 随机数个数 */ public int[] randomCommon(int min, int max, int n){ if (n > (max - min + 1) || max < min) { return null; } int[] result = new int[n]; int count = 0; while(count < n) { int num = (int) (Math.random() * (max - min)) + min; boolean flag = true; for (int j = 0; j < n; j++) { if(num == result[j]){ flag = false; break; } } if(flag){ result[count] = num; count++; } } return result; } @Test public void aa2(){ randomCommon(1,35,10); } @Test public void 生产id(){ List list=new ArrayList(); TrackDetailResultDto trackDetailResultDto = new TrackDetailResultDto(); trackDetailResultDto.setLocatetime(Convert.toStr(System.currentTimeMillis())); trackDetailResultDto.setAddress("123"); list.add(trackDetailResultDto); trackDetailResultDto = new TrackDetailResultDto(); trackDetailResultDto.setLocatetime(Convert.toStr(System.currentTimeMillis()+1)); trackDetailResultDto.setAddress("123"); list.add(trackDetailResultDto); trackDetailResultDto = new TrackDetailResultDto(); trackDetailResultDto.setLocatetime(Convert.toStr(System.currentTimeMillis()+2)); trackDetailResultDto.setAddress("123"); list.add(trackDetailResultDto); trackDetailResultDto = new TrackDetailResultDto(); trackDetailResultDto.setLocatetime(Convert.toStr(System.currentTimeMillis()+3)); trackDetailResultDto.setAddress("456"); list.add(trackDetailResultDto); trackDetailResultDto = new TrackDetailResultDto(); trackDetailResultDto.setLocatetime(Convert.toStr(System.currentTimeMillis()+4)); trackDetailResultDto.setAddress("789"); list.add(trackDetailResultDto); trackDetailResultDto = new TrackDetailResultDto(); trackDetailResultDto.setLocatetime(Convert.toStr(System.currentTimeMillis()+10)); trackDetailResultDto.setAddress("789"); list.add(trackDetailResultDto); List collect = list.stream().sorted(Comparator.comparing(TrackDetailResultDto::getLocatetime)).collect(Collectors.toList()); List list2 = new ArrayList<>(); list2.add(collect.get(0)); for(int i=1;i list=new ArrayList<>(); // boolean basicType = ObjectUtil.isBasicType(list); // System.out.println(basicType); // try{ // throw new RestException(-1, "aaa"); // } catch (RestException e) { // ExceptionUtils.err(e.getMsg(),e); // }catch ( BusinessException e){ // ExceptionUtils.err(e.getMsg(),e); // }catch (Exception e){ // ExceptionUtils.err("提现审核失败",e); // } } @Test public void 根据经纬度查询地址测试(){ // if(Convert.toInt(3)==null){ // System.out.println(22); // }else{ // System.out.println(1); // } // GdReverseGEODto gdReverseGEODto = new GdReverseGEODto(); // gdReverseGEODto.setLocation("112.985245,28.1491"); // Result areaInfo = GdMapUtil.getAreaInfo(gdReverseGEODto, 3); // System.out.println(JSONUtil.toJsonStr(areaInfo)); String date="2019-09-22 09:00:00"; Date dateDate=DateUtil.parseDateTime(date); DateTime dateTime = DateUtil.offsetDay(dateDate, 1); System.out.println(dateTime.toString()); } @Test public void say(){ Dict dict = Dict.create(); dict.set("a","11"); System.out.println(dict); dict.clear(); System.out.println(dict); String s1="22"; String s2="YH1184372951408312320"; String fill = StrUtil.fill(s1, Convert.toChar("0"), 15, false); System.out.println(fill); String s3 = StrUtil.subWithLength(s2, 0, 15); System.out.println(s3); String s = RandomUtil.randomString(64); System.out.println(s); String s4 = Convert.toStr(Boolean.TRUE); System.out.println(s4); } @Test public void test3(){ String a="b"; System.out.println(a); BigDecimal bigDecimal=new BigDecimal("11.2"); BigDecimal bigDecimal2=new BigDecimal("11.3"); BigDecimal add = NumberUtil.add(bigDecimal, bigDecimal2); System.out.println(add.toString()); // BigDecimal storageMoneyDecimal=NumberUtil.toBigDecimal("44"); // System.out.println(storageMoneyDecimal.toString()); BigDecimal storageMoneyDecimal=NumberUtil.toBigDecimal("1"); BigDecimal receiverLimitDecimal=NumberUtil.toBigDecimal("2"); BigDecimal limitDecimal=NumberUtil.toBigDecimal("2.9"); if (NumberUtil.isGreater(NumberUtil.add(storageMoneyDecimal,receiverLimitDecimal),limitDecimal)) { System.out.println("aa"+1); } } @Test public void test2() throws Exception { // Dict dict=Dict.create(); // try { // dict.set("a","123"); // int a=5/0; // // // } catch (Exception e) { // System.out.println(1); // throw new Exception("33"); // } finally { // System.out.println(dict.get("a")); // } // String money="0"; // String moneyStr=NumberUtil.roundStr(money,2,RoundingMode.DOWN); // System.out.println(moneyStr); // String money2="0.2"; // moneyStr=NumberUtil.roundStr(money2,2,RoundingMode.DOWN); // System.out.println(moneyStr); List storageAccount =new ArrayList<>(); String storageAccountId = storageAccount.get(0).getAccountId(); System.out.println(storageAccountId); } @Test public void test4(){ List orderList=new ArrayList<>(); OrderInfoVo orderInfoVo=new OrderInfoVo(); // orderInfoVo.setLatitude("28.194296"); orderInfoVo.setLongitude("113.015671"); orderInfoVo.setAddress("湖南省长沙市芙蓉区东二环"); //28.123467,112.923660 OrderInfoVo orderInfoVo2=new OrderInfoVo(); // orderInfoVo2.setLatitude("28.123467"); orderInfoVo2.setLongitude("112.923660"); orderInfoVo2.setAddress("洋湖"); orderList.add(orderInfoVo2); orderList.add(orderInfoVo); //28.216685, OrderInfoReq orderInfoReq=new OrderInfoReq(); orderInfoReq.setLatitude("28.216685"); orderInfoReq.setLongitude("113.004684"); //按距离排序 if(!CollectionUtils.isEmpty(orderList)){ Collections.sort(orderList, new Comparator() { @Override public int compare(OrderInfoVo o1, OrderInfoVo o2) { double distance = LocationUtils.getDistance(Convert.toDouble(orderInfoReq.getLatitude()), Convert.toDouble(orderInfoReq.getLongitude()), Convert.toDouble(o1.getLatitude()), Convert.toDouble(o1.getLongitude())); System.out.println(distance); double distance2=LocationUtils.getDistance(Convert.toDouble(orderInfoReq.getLatitude()),Convert.toDouble(orderInfoReq.getLongitude()),Convert.toDouble(o2.getLatitude()),Convert.toDouble(o2.getLongitude())); System.out.println(distance2); if(distance>distance2){ return 1; }else if(distance