Skip to content

Commit dbbbf4f

Browse files
committed
add DomainCreateEvent
1 parent 3ad166d commit dbbbf4f

File tree

7 files changed

+66
-9
lines changed

7 files changed

+66
-9
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.codingapi.springboot.framework.domain.event;
2+
3+
import com.codingapi.springboot.framework.event.IEvent;
4+
import lombok.Getter;
5+
import lombok.ToString;
6+
7+
/**
8+
* 实体创建事件
9+
*/
10+
@Getter
11+
@ToString
12+
public class DomainCreateEvent implements IEvent {
13+
14+
/**
15+
* 实体对象
16+
*/
17+
private final Object entity;
18+
19+
/**
20+
* 实体类名称
21+
*/
22+
private final String simpleName;
23+
24+
/**
25+
* 时间戳
26+
*/
27+
private final long timestamp;
28+
29+
public DomainCreateEvent(Object entity) {
30+
this.entity = entity;
31+
this.simpleName = entity.getClass().getSimpleName();
32+
this.timestamp = System.currentTimeMillis();
33+
}
34+
35+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.codingapi.springboot.framework.domain.field;
1+
package com.codingapi.springboot.framework.domain.event;
22

33
import com.codingapi.springboot.framework.event.IEvent;
44
import lombok.Getter;
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
package com.codingapi.springboot.framework.domain.field;
1+
package com.codingapi.springboot.framework.domain.proxy;
2+
3+
import com.codingapi.springboot.framework.domain.event.DomainCreateEvent;
4+
import com.codingapi.springboot.framework.event.EventPusher;
25

36
import java.lang.reflect.InvocationTargetException;
47

58
/**
69
* 实体代理工厂
710
*/
8-
public class FieldProxyFactory {
11+
public class DomainProxyFactory {
912

1013
public static <T> T create(Class<T> entityClass, Object... args) {
1114
FieldValueInterceptor interceptor = null;
@@ -14,6 +17,8 @@ public static <T> T create(Class<T> entityClass, Object... args) {
1417
} catch (NoSuchMethodException | InvocationTargetException | InstantiationException | IllegalAccessException e) {
1518
throw new RuntimeException(e);
1619
}
17-
return (T) interceptor.createProxy();
20+
T result = (T) interceptor.createProxy();
21+
EventPusher.push(new DomainCreateEvent(result));
22+
return result;
1823
}
1924
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package com.codingapi.springboot.framework.domain.field;
1+
package com.codingapi.springboot.framework.domain.proxy;
22

3+
import com.codingapi.springboot.framework.domain.event.FieldChangeEvent;
34
import com.codingapi.springboot.framework.event.EventPusher;
45
import lombok.extern.slf4j.Slf4j;
56
import org.springframework.beans.BeanUtils;
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
package com.codingapi.springboot.framework.domain;
22

3-
import com.codingapi.springboot.framework.domain.field.FieldProxyFactory;
3+
import com.codingapi.springboot.framework.domain.proxy.DomainProxyFactory;
44
import org.junit.jupiter.api.Test;
55
import org.springframework.boot.test.context.SpringBootTest;
66

77
@SpringBootTest
8-
class FieldProxyFactoryTest {
8+
class DomainProxyFactoryTest {
99

1010
@Test
1111
void createEntity() {
12-
Demo demo = FieldProxyFactory.create(Demo.class, "test");
12+
Demo demo = DomainProxyFactory.create(Demo.class, "test");
1313
demo.changeAinimalName("123");
1414
demo.changeAinimalName("234");
1515
demo.changeName("test");
1616
demo.changeName("test123");
17+
System.out.println(demo);
1718
}
1819
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.codingapi.springboot.framework.handler;
2+
3+
import com.codingapi.springboot.framework.domain.event.DomainCreateEvent;
4+
import lombok.extern.slf4j.Slf4j;
5+
6+
@Slf4j
7+
@Handler
8+
public class DemoCreateHandler implements IHandler<DomainCreateEvent> {
9+
10+
@Override
11+
public void handler(DomainCreateEvent event) {
12+
log.info("create domain -> {}", event.getEntity());
13+
}
14+
15+
}

springboot-starter/src/test/java/com/codingapi/springboot/framework/handler/EntityFiledChangeHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.codingapi.springboot.framework.handler;
22

3-
import com.codingapi.springboot.framework.domain.field.FieldChangeEvent;
3+
import com.codingapi.springboot.framework.domain.event.FieldChangeEvent;
44
import lombok.extern.slf4j.Slf4j;
55

66
@Slf4j

0 commit comments

Comments
 (0)