zhouhao 2 anni fa
parent
commit
df14547816

+ 8 - 9
hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/events/CreatorEventListener.java

@@ -69,13 +69,11 @@ public class CreatorEventListener implements EventListener, Ordered {
             } else {
                 applyCreator(auth, context, instance, type != MappingEventTypes.update_before);
             }
-        } else {
-            context.get(MappingContextKeys.updateColumnInstance)
-                   .ifPresent(map -> {
-                       applyCreator(auth, context, map, type != MappingEventTypes.update_before);
-                   });
         }
 
+        context
+                .get(MappingContextKeys.updateColumnInstance)
+                .ifPresent(map -> applyCreator(auth, context, map, type != MappingEventTypes.update_before));
 
     }
 
@@ -83,6 +81,7 @@ public class CreatorEventListener implements EventListener, Ordered {
                              EventContext context,
                              Object entity,
                              boolean updateCreator) {
+        long now = System.currentTimeMillis();
         if (updateCreator) {
             if (entity instanceof RecordCreationEntity) {
                 RecordCreationEntity e = (RecordCreationEntity) entity;
@@ -91,13 +90,13 @@ public class CreatorEventListener implements EventListener, Ordered {
                     e.setCreatorName(auth.getUser().getName());
                 }
                 if (e.getCreateTime() == null) {
-                    e.setCreateTimeNow();
+                    e.setCreateTime(now);
                 }
             } else if (entity instanceof Map) {
                 Map<Object, Object> map = ((Map) entity);
                 map.putIfAbsent("creatorId", auth.getUser().getId());
                 map.putIfAbsent("creatorName", auth.getUser().getName());
-                map.putIfAbsent("createTime", auth.getUser().getId());
+                map.putIfAbsent("createTime", now);
             }
 
 
@@ -109,13 +108,13 @@ public class CreatorEventListener implements EventListener, Ordered {
                 e.setModifierName(auth.getUser().getName());
             }
             if (e.getModifyTime() == null) {
-                e.setModifyTimeNow();
+                e.setModifyTime(now);
             }
         } else if (entity instanceof Map) {
             Map<Object, Object> map = ((Map) entity);
             map.putIfAbsent("modifierId", auth.getUser().getId());
             map.putIfAbsent("modifierName", auth.getUser().getName());
-            map.putIfAbsent("modifyTime", auth.getUser().getId());
+            map.putIfAbsent("modifyTime", now);
 
         }
     }

+ 8 - 12
hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/events/EntityEventListener.java

@@ -22,6 +22,7 @@ import org.hswebframework.web.bean.FastBeanCopier;
 import org.hswebframework.web.event.AsyncEvent;
 import org.hswebframework.web.event.GenericsPayloadApplicationEvent;
 import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.core.Ordered;
 import reactor.core.publisher.Mono;
 import reactor.function.Function3;
 import reactor.util.function.Tuple2;
@@ -36,7 +37,7 @@ import static org.hswebframework.web.crud.events.EntityEventHelper.*;
 
 @SuppressWarnings("all")
 @AllArgsConstructor
-public class EntityEventListener implements EventListener {
+public class EntityEventListener implements EventListener, Ordered {
 
     private final ApplicationEventPublisher eventPublisher;
 
@@ -142,17 +143,6 @@ public class EntityEventListener implements EventListener {
                 .get(MappingContextKeys.updateColumnInstance)
                 .orElse(Collections.emptyMap());
 
-        List<Object> newerInstance = context
-                .get(MappingContextKeys.instance)
-                .map(instance -> {
-                    if (instance instanceof List) {
-                        return ((List) instance);
-                    }
-                    return Collections.singletonList(instance);
-                })
-                .orElse(null);
-
-
         for (Object old : olds) {
             Object data = FastBeanCopier.copy(old, mapping.newInstance());
             for (Map.Entry<String, Object> entry : columns.entrySet()) {
@@ -239,6 +229,7 @@ public class EntityEventListener implements EventListener {
                            holder.invoke(this.doAsyncEvent(() -> {
                                Tuple2<List<Object>, List<Object>> _tmp = updated.get();
                                if (_tmp != null) {
+
                                    return sendUpdateEvent(_tmp.getT1(),
                                                           _tmp.getT2(),
                                                           entityType,
@@ -477,4 +468,9 @@ public class EntityEventListener implements EventListener {
                     return eventSupplier.get();
                 });
     }
+
+    @Override
+    public int getOrder() {
+        return Ordered.LOWEST_PRECEDENCE;
+    }
 }

+ 7 - 1
hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/events/ValidateEventListener.java

@@ -10,11 +10,12 @@ import org.hswebframework.web.api.crud.entity.Entity;
 import org.hswebframework.web.i18n.LocaleUtils;
 import org.hswebframework.web.validator.CreateGroup;
 import org.hswebframework.web.validator.UpdateGroup;
+import org.springframework.core.Ordered;
 
 import java.util.List;
 import java.util.Optional;
 
-public class ValidateEventListener implements EventListener {
+public class ValidateEventListener implements EventListener, Ordered {
 
     @Override
     public String getId() {
@@ -73,4 +74,9 @@ public class ValidateEventListener implements EventListener {
                    .ifPresent(entity -> entity.tryValidate(UpdateGroup.class));
         }
     }
+
+    @Override
+    public int getOrder() {
+        return Ordered.LOWEST_PRECEDENCE - 100;
+    }
 }