diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 28b31c2c1..c39894668 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -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) diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java index 2f432e749..508f6b23c 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java @@ -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 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()); } diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/id/SnowflakeIdWorker.java b/jsowell-common/src/main/java/com/jsowell/common/util/id/SnowflakeIdWorker.java index 1ef5140c7..e5d6b5f4f 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/id/SnowflakeIdWorker.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/id/SnowflakeIdWorker.java @@ -217,7 +217,7 @@ public class SnowflakeIdWorker { //判断生成的记录是否有重复记录 long beginTime = System.currentTimeMillis(); Map 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)); } diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/ConfirmStartChargingRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/ConfirmStartChargingRequestHandler.java index bc33fe23e..c10fa0e0d 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/ConfirmStartChargingRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/ConfirmStartChargingRequestHandler.java @@ -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); // 逻辑卡号 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/SimCardService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/SimCardService.java index 1ae56dd9f..be4436ba1 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/SimCardService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/SimCardService.java @@ -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"); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 1967dd1b2..551878c38 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -659,6 +659,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { OrderAbnormalRecord record = new OrderAbnormalRecord(); BeanUtils.copyBeanProp(record, data); orderAbnormalRecordService.insertOrderAbnormalRecord(record); + + } /**