Commit b17819f8 authored by dingzhiwei's avatar dingzhiwei
Browse files

修改订单号生成支持使用mybatis-plus

parent 81848927
...@@ -17,6 +17,10 @@ package com.jeequan.jeepay.core.utils; ...@@ -17,6 +17,10 @@ package com.jeequan.jeepay.core.utils;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import java.util.Date; import java.util.Date;
import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicLong;
...@@ -43,8 +47,14 @@ public class SeqKit { ...@@ -43,8 +47,14 @@ public class SeqKit {
private static final String TRANSFER_ID_SEQ_PREFIX = "T"; private static final String TRANSFER_ID_SEQ_PREFIX = "T";
private static final String DIVISION_BATCH_ID_SEQ_PREFIX = "D"; private static final String DIVISION_BATCH_ID_SEQ_PREFIX = "D";
/** 是否使用MybatisPlus生成分布式ID **/
private static final boolean IS_USE_MP_ID = true;
/** 生成支付订单号 **/ /** 生成支付订单号 **/
public static String genPayOrderId() { public static String genPayOrderId() {
if(IS_USE_MP_ID) {
return PAY_ORDER_SEQ_PREFIX + IdWorker.getIdStr();
}
return String.format("%s%s%04d",PAY_ORDER_SEQ_PREFIX, return String.format("%s%s%04d",PAY_ORDER_SEQ_PREFIX,
DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN), DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN),
(int) PAY_ORDER_SEQ.getAndIncrement() % 10000); (int) PAY_ORDER_SEQ.getAndIncrement() % 10000);
...@@ -52,6 +62,9 @@ public class SeqKit { ...@@ -52,6 +62,9 @@ public class SeqKit {
/** 生成退款订单号 **/ /** 生成退款订单号 **/
public static String genRefundOrderId() { public static String genRefundOrderId() {
if(IS_USE_MP_ID) {
return REFUND_ORDER_SEQ_PREFIX + IdWorker.getIdStr();
}
return String.format("%s%s%04d",REFUND_ORDER_SEQ_PREFIX, return String.format("%s%s%04d",REFUND_ORDER_SEQ_PREFIX,
DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN), DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN),
(int) REFUND_ORDER_SEQ.getAndIncrement() % 10000); (int) REFUND_ORDER_SEQ.getAndIncrement() % 10000);
...@@ -60,6 +73,9 @@ public class SeqKit { ...@@ -60,6 +73,9 @@ public class SeqKit {
/** 模拟生成商户订单号 **/ /** 模拟生成商户订单号 **/
public static String genMhoOrderId() { public static String genMhoOrderId() {
if(IS_USE_MP_ID) {
return MHO_ORDER_SEQ_PREFIX + IdWorker.getIdStr();
}
return String.format("%s%s%04d", MHO_ORDER_SEQ_PREFIX, return String.format("%s%s%04d", MHO_ORDER_SEQ_PREFIX,
DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN), DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN),
(int) MHO_ORDER_SEQ.getAndIncrement() % 10000); (int) MHO_ORDER_SEQ.getAndIncrement() % 10000);
...@@ -67,6 +83,9 @@ public class SeqKit { ...@@ -67,6 +83,9 @@ public class SeqKit {
/** 模拟生成商户订单号 **/ /** 模拟生成商户订单号 **/
public static String genTransferId() { public static String genTransferId() {
if(IS_USE_MP_ID) {
return TRANSFER_ID_SEQ_PREFIX + IdWorker.getIdStr();
}
return String.format("%s%s%04d", TRANSFER_ID_SEQ_PREFIX, return String.format("%s%s%04d", TRANSFER_ID_SEQ_PREFIX,
DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN), DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN),
(int) TRANSFER_ID_SEQ.getAndIncrement() % 10000); (int) TRANSFER_ID_SEQ.getAndIncrement() % 10000);
...@@ -74,9 +93,23 @@ public class SeqKit { ...@@ -74,9 +93,23 @@ public class SeqKit {
/** 模拟生成分账批次号 **/ /** 模拟生成分账批次号 **/
public static String genDivisionBatchId() { public static String genDivisionBatchId() {
if(IS_USE_MP_ID) {
return DIVISION_BATCH_ID_SEQ_PREFIX + IdWorker.getIdStr();
}
return String.format("%s%s%04d", DIVISION_BATCH_ID_SEQ_PREFIX, return String.format("%s%s%04d", DIVISION_BATCH_ID_SEQ_PREFIX,
DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN), DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN),
(int) DIVISION_BATCH_ID_SEQ.getAndIncrement() % 10000); (int) DIVISION_BATCH_ID_SEQ.getAndIncrement() % 10000);
} }
public static void main(String[] args) throws Exception {
System.out.println(genTransferId());
System.out.println(genRefundOrderId());
Thread.sleep(1000);
System.out.println(genMhoOrderId());
System.out.println(genTransferId());
Thread.sleep(1000);
System.out.println(genDivisionBatchId());
}
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment