diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/event/PerSecondEvent.java b/ruoyi-common/src/main/java/com/ruoyi/common/event/PerSecondEvent.java new file mode 100644 index 0000000..5bbc282 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/event/PerSecondEvent.java @@ -0,0 +1,53 @@ +package com.ruoyi.common.event; + +import java.util.concurrent.atomic.AtomicInteger; + +import org.springframework.context.ApplicationEvent; + +/** + *
+ * - 每秒都会触发的事件 + * Author : J.L.Zhou + * E-Mail : 2233875735@qq.com + * Tel : 151 1104 7708 + * Date : 2022年12月27日 下午3:10:39 + * Version : 1.0 + * Copyright 2022 jlzhou.top Inc. All rights reserved. + * Warning: this content is only for internal circulation of the company. + * It is forbidden to divulge it or use it for other commercial purposes. + *+ */ +public class PerSecondEvent extends ApplicationEvent { + + /** + * + */ + private static final long serialVersionUID = 1752655123185832181L; + private static AtomicInteger globalCount = new AtomicInteger(0); + private static final int MAX = 24*365*60*60; + + private int count; + + public PerSecondEvent() { + super(0); + if(globalCount.incrementAndGet()>MAX) { + globalCount.set(0); + } + count=globalCount.get(); + super.source= count; + } + + + public int getCount() { + return count; + } + + + @Override + public String toString() { + return " 每秒都会触发的事件: " + count; + } + + + +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/runner/PerSecondRunner.java b/ruoyi-common/src/main/java/com/ruoyi/common/runner/PerSecondRunner.java new file mode 100644 index 0000000..26888cf --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/runner/PerSecondRunner.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.runner; + +import com.ruoyi.common.event.PerSecondEvent; +import com.ruoyi.common.utils.spring.SpringUtils; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.Scheduled; + +@Configuration +public class PerSecondRunner { + + @Scheduled(fixedRate = 1000) + public void PerSecondRunner() { + SpringUtils.publishEvent(new PerSecondEvent()); + } + +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DynConfigUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DynConfigUtils.java new file mode 100644 index 0000000..95f8e8f --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DynConfigUtils.java @@ -0,0 +1,26 @@ +package com.ruoyi.common.utils; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; + +public class DynConfigUtils { + + /** + * 将动态配置类转换为普通bean + * @param config 动态配置bean + * @return 普通bean + * @param