mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update 生成交易流水号,生成订单编号
This commit is contained in:
@@ -330,10 +330,12 @@ public class OrderService {
|
||||
* @return
|
||||
*/
|
||||
private String saveOrder2Database(GenerateOrderDTO dto) {
|
||||
String orderCode = IdUtils.generateTransactionCode(dto.getPileSn(), dto.getConnectorCode());
|
||||
String orderCode = IdUtils.getOrderCode();
|
||||
String transactionCode = IdUtils.generateTransactionCode(dto.getPileSn(), dto.getConnectorCode());
|
||||
// 订单基本信息
|
||||
OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder()
|
||||
.orderCode(orderCode)
|
||||
.transactionCode(transactionCode)
|
||||
.orderStatus(OrderStatusEnum.NOT_START.getValue())
|
||||
.memberId(dto.getMemberId())
|
||||
.stationId(dto.getPileConnector().getStationId())
|
||||
|
||||
@@ -61,7 +61,7 @@ public class IdUtils {
|
||||
* 生成交易流水号
|
||||
* 生成规则为 格式桩号(7bytes) +枪号(1byte) +年月日时分秒(6bytes) +自 增序号(2bytes);
|
||||
* @param pileConnectorCode 为已经拼好的充电桩枪口号 例如:3201060001923601
|
||||
* @return 交易流水号 例如:32010600019236012001061803423060 11291834338312
|
||||
* @return 交易流水号 例如:32010600019236012001061803423060 88000000000001012211301501294274
|
||||
*/
|
||||
public static String generateTransactionCode(String pileConnectorCode) {
|
||||
String timeNow = DateUtils.dateTimeNow(DateUtils.YYMMDDHHMMSS);
|
||||
@@ -72,19 +72,29 @@ public class IdUtils {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Set<String> set = Sets.newHashSet();
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
// String s = System.currentTimeMillis() + RandomUtil.getRandomNumber(6);
|
||||
String timeNow = DateUtils.dateTimeNow(DateUtils.YYMMDDHHMMSS);
|
||||
//随机生成一个四位整数
|
||||
// String randomNumber = RandomUtil.getRandomNumber(4);
|
||||
// String id = timeNow + randomNumber;
|
||||
String snowflakeId = SnowflakeIdWorker.getSnowflakeId();
|
||||
set.add(snowflakeId);
|
||||
System.out.println(snowflakeId);
|
||||
for (int i = 0; i < 1000000; i++) {
|
||||
String id = getOrderCode();
|
||||
set.add(id);
|
||||
System.out.println(id);
|
||||
}
|
||||
System.out.println("set size = " + set.size());
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成12位orderCode
|
||||
*/
|
||||
public static String getOrderCode() {
|
||||
long id = Long.parseLong(SnowflakeIdWorker.getSnowflakeId());
|
||||
StringBuilder sb = new StringBuilder(id + "");
|
||||
StringBuilder reverse = sb.reverse();//将id翻转:我们发现id很长,且高位很长部分是一样的数
|
||||
id = new Long(reverse.toString()) / 1000;//切去部分长度
|
||||
while (id > 100000000000L) {
|
||||
id /= 10;
|
||||
}
|
||||
// Integer num = Integer.parseInt(id + "");
|
||||
return "C" + id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成八位会员id
|
||||
*/
|
||||
|
||||
@@ -38,6 +38,11 @@ public class OrderBasicInfo extends BaseEntity {
|
||||
@Excel(name = "订单编号")
|
||||
private String orderCode;
|
||||
|
||||
/**
|
||||
* 交易流水号
|
||||
*/
|
||||
private String transactionCode;
|
||||
|
||||
/**
|
||||
* 订单状态(0-待支付;1-充电中;2-待结算;3-待补缴;4-异常;5-可疑;6-订单完成)
|
||||
*/
|
||||
|
||||
@@ -265,6 +265,9 @@
|
||||
<if test="orderCode != null">
|
||||
order_code,
|
||||
</if>
|
||||
<if test="transactionCode != null">
|
||||
transaction_code,
|
||||
</if>
|
||||
<if test="orderStatus != null">
|
||||
order_status,
|
||||
</if>
|
||||
@@ -342,6 +345,9 @@
|
||||
<if test="orderCode != null">
|
||||
#{orderCode},
|
||||
</if>
|
||||
<if test="transactionCode != null">
|
||||
#{transactionCode},
|
||||
</if>
|
||||
<if test="orderStatus != null">
|
||||
#{orderStatus},
|
||||
</if>
|
||||
|
||||
Reference in New Issue
Block a user