Explorar el Código

feat: 一些优化和问题修复

wuwenyi hace 1 semana
padre
commit
b8b7fe61e2

+ 6 - 2
src/main/java/com/qqflow/engine/config/WebConfig.java

@@ -1,5 +1,6 @@
 package com.qqflow.engine.config;
 
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
 import org.springframework.context.annotation.Bean;
@@ -12,10 +13,13 @@ import java.time.format.DateTimeFormatter;
 @Configuration
 public class WebConfig implements WebMvcConfigurer {
 
+    private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
     @Bean
     public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
-        return builder -> builder.serializers(
-                new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        return builder -> builder
+                .serializers(new LocalDateTimeSerializer(DATE_TIME_FORMATTER))
+                .deserializers(new LocalDateTimeDeserializer(DATE_TIME_FORMATTER));
     }
 
     @Override

+ 1 - 3
src/main/java/com/qqflow/engine/domain/flow/service/impl/ProcessInstanceServiceImpl.java

@@ -251,11 +251,9 @@ public class ProcessInstanceServiceImpl implements ProcessInstanceService {
             }
 
             // 判断当前用户是否需要处理该节点
-            String currentUserType = getCurrentUserType();
             boolean isMyTurn = nodeTasks.stream()
                     .anyMatch(t -> TaskStatus.PENDING.getCode().equals(t.getTaskStatus())
-                            && currentUserId.equals(t.getAssigneeId())
-                            && (USER_TYPE_ROLE.equals(currentUserType) ? ASSIGNEE_TYPE_ROLE.equals(t.getAssigneeType()) : !ASSIGNEE_TYPE_ROLE.equals(t.getAssigneeType())));
+                            && this.canOperateTask(t, currentUserId, getCurrentUserType()));
             dto.setIsMyTurn(isMyTurn);
 
             nodeProgressList.add(dto);