为了人工可以快速分辨订单号是下单还是退款、来自哪家支付机构等
/**
* 微信订单号生成
* @param userId
* @return
*/
public static String wxOrderNo(Long userId){
String userIdFilledZero = String.format("%05d", userId);
String fiveDigitsUserId = userIdFilledZero.substring(userIdFilledZero.length() - 5);
// 在前面加上wxo(weixin order)等前缀是为了人工可以快速分辨订单号是下单还是退款、来自哪家支付机构等
// 将时间戳+3位随机数+五位id组成商户订单号
String outTradeNo = "wxo_" + System.currentTimeMillis() + RandomUtil.randomNumbers(3) + fiveDigitsUserId;
return outTradeNo;
}