package com.qianwen.core.sequence; import com.qianwen.core.sequence.builder.SnowflakeSeqBuilder; import com.qianwen.core.sequence.properties.SequenceSnowflakeProperties; import com.qianwen.core.sequence.sequence.Sequence; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @ConditionalOnMissingBean({Sequence.class}) @Configuration public class SequenceAutoConfiguration { @ConditionalOnBean({SequenceSnowflakeProperties.class}) @Bean public Sequence snowflakeSequence(SequenceSnowflakeProperties properties) { return SnowflakeSeqBuilder.create().datacenterId(properties.getDatacenterId()).workerId(properties.getWorkerId()).build(); } }