public HmilyTransaction() { this.transId = IdWorkerUtils.getInstance().createUUID(); this.createTime = new Date(); this.lastTime = new Date(); hmilyParticipants = Lists.newCopyOnWriteArrayList(); }
/** * Create uuid string. * * @return the string */ public String createUUID() { return String.valueOf(ID_WORKER_UTILS.nextId()); }
private synchronized long nextId() { long timestamp = timeGen(); if (timestamp < lastTimestamp) { throw new RuntimeException(String.format("Clock moved backwards. Refusing to generate id for %d milliseconds", lastTimestamp - timestamp)); } if (lastTimestamp == timestamp) { sequence = (sequence + 1) & SEQUENCE_MASK; if (sequence == 0) { timestamp = tilNextMillis(lastTimestamp); } } else { sequence = 0L; } lastTimestamp = timestamp; return ((timestamp - idepoch) << TIMESTAMP_LEFT_SHIFT) | (datacenterId << DATACENTER_ID_SHIFT) | (workerId << WORKER_ID_SHIFT) | sequence; }
private Order buildOrder(Integer count, BigDecimal amount) { LOGGER.debug("构建订单对象"); Order order = new Order(); order.setCreateTime(new Date()); order.setNumber(IdWorkerUtils.getInstance().buildPartNumber()); //demo中的表里只有商品id为 1的数据 order.setProductId("1"); order.setStatus(OrderStatusEnum.NOT_PAY.getCode()); order.setTotalAmount(amount); order.setCount(count); //demo中 表里面存的用户id为10000 order.setUserId("10000"); return order; } }
private Order buildOrder(Integer count, BigDecimal amount) { Order order = new Order(); order.setCreateTime(new Date()); order.setNumber(IdWorkerUtils.getInstance().buildPartNumber()); //demo中的表里只有商品id为1的数据 order.setProductId("1"); order.setStatus(OrderStatusEnum.NOT_PAY.getCode()); order.setTotalAmount(amount); order.setCount(count); //demo中 表里面存的用户id为10000 order.setUserId("10000"); return order; }
private Order buildTestOrder(Integer count, BigDecimal amount) { Order order = new Order(); order.setCreateTime(new Date()); order.setNumber(IdWorkerUtils.getInstance().buildPartNumber()); //demo中的表里只有商品id为1的数据 order.setProductId("1"); order.setStatus(OrderStatusEnum.PAY_SUCCESS.getCode()); order.setTotalAmount(amount); order.setCount(count); //demo中 表里面存的用户id为10000 order.setUserId("10000"); return order; } }
/** * Build part number string. * * @return the string */ public String buildPartNumber() { return String.valueOf(ID_WORKER_UTILS.nextId()); }