update 生成交易流水号

This commit is contained in:
2023-03-13 15:01:36 +08:00
parent 75799eabfd
commit c1ef51af6e
6 changed files with 19 additions and 15 deletions

View File

@@ -330,7 +330,7 @@ public class OrderService {
* @return
*/
private String saveOrder2Database(GenerateOrderDTO dto) {
String orderCode = IdUtils.generateOrderCode(dto.getPileSn(), dto.getConnectorCode());
String orderCode = IdUtils.generateTransactionCode(dto.getPileSn(), dto.getConnectorCode());
// 订单基本信息
OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder()
.orderCode(orderCode)

View File

@@ -50,21 +50,20 @@ public class IdUtils {
/**
* 生成交易流水号
*
* @param pileSn 桩编号 例如32010600019236
* @param connectorCode 枪口号 例如01
*/
public static String generateOrderCode(String pileSn, String connectorCode) {
return generateOrderCode(pileSn + connectorCode);
public static String generateTransactionCode(String pileSn, String connectorCode) {
return generateTransactionCode(pileSn + connectorCode);
}
/**
* 生成交易流水号
* 生成规则为 格式桩号7bytes +枪号1byte +年月日时分秒6bytes +自 增序号2bytes
* @param pileConnectorCode 为已经拼好的充电桩枪口号 例如3201060001923601
* @return 交易流水号 例如32010600019236012001061803423060
* @return 交易流水号 例如32010600019236012001061803423060 11291834338312
*/
public static String generateOrderCode(String pileConnectorCode) {
public static String generateTransactionCode(String pileConnectorCode) {
String timeNow = DateUtils.dateTimeNow(DateUtils.YYMMDDHHMMSS);
//随机生成一个四位整数
String randomNumber = RandomUtil.getRandomNumber(4);
@@ -73,11 +72,15 @@ public class IdUtils {
public static void main(String[] args) {
Set<String> set = Sets.newHashSet();
for (int i = 0; i < 1000; i++) {
for (int i = 0; i < 100000; i++) {
// String s = System.currentTimeMillis() + RandomUtil.getRandomNumber(6);
String id = SnowflakeIdWorker.getSnowflakeId();
set.add(id);
System.out.println(id);
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);
}
System.out.println("set size = " + set.size());
}

View File

@@ -217,7 +217,7 @@ public class SnowflakeIdWorker {
//判断生成的记录是否有重复记录
long beginTime = System.currentTimeMillis();
Map<String, String> map = new ConcurrentHashMap<>();
for (int i = 0; i < 100; i++) {
for (int i = 0; i < 10; i++) {
new Thread(() -> {
for (int s = 0; s < 20000; s++) {
String snowFlakeId = SnowflakeIdWorker.getSnowflakeId();
@@ -229,7 +229,7 @@ public class SnowflakeIdWorker {
}
}).start();
}
Thread.sleep(3000);
// Thread.sleep(3000);
log.info("map.size():{}", map.size());
log.info("耗时:" + (System.currentTimeMillis() - beginTime));
}

View File

@@ -93,7 +93,7 @@ public class ConfirmStartChargingRequestHandler extends AbstractHandler{
// 应答
// 交易流水号
String serialNum = IdUtils.generateOrderCode(pileSn, connectorCode);
String serialNum = IdUtils.generateTransactionCode(pileSn, connectorCode);
byte[] serialNumByteArr = BytesUtil.str2Bcd(serialNum);
// 逻辑卡号

View File

@@ -8,7 +8,6 @@ import com.jsowell.common.enums.sim.SimCardStatusCorrespondEnum;
import com.jsowell.common.enums.sim.SimSupplierEnum;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.RandomUtil;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.http.HttpUtils;
import com.jsowell.common.util.id.IdUtils;
@@ -436,7 +435,7 @@ public class SimCardService {
param.put("name", WuLianSimRenew);
param.put("msisdn", data.getMsisdn());
param.put("packageId", data.getPackageId()); // 套餐id
param.put("outOrderNo", IdUtils.generateOrderCode(data.getMsisdn())); // 外部业务订单号
param.put("outOrderNo", IdUtils.generateTransactionCode(data.getMsisdn())); // 外部业务订单号
param.put("period", cycleNumber); // 续费周期
String result = HttpUtils.sendPostContentType(wuLianGetWay, param.toJSONString(), "application/json");

View File

@@ -659,6 +659,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
OrderAbnormalRecord record = new OrderAbnormalRecord();
BeanUtils.copyBeanProp(record, data);
orderAbnormalRecordService.insertOrderAbnormalRecord(record);
}
/**