zhongjiajie commented on code in PR #14164:
URL: 
https://github.com/apache/dolphinscheduler/pull/14164#discussion_r1199885852


##########
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java:
##########
@@ -3054,4 +3055,31 @@ public void deleteOtherRelation(Project project, 
Map<String, Object> result, Pro
 
     }
 
+    /**
+     * batch release process definitions based on codes and releaseState.
+     *
+     * @param loginUser    login user
+     * @param projectCode  project code
+     * @param codes        process definition code list
+     * @param releaseState releaseState
+     * @return Result of the batch release process definitions.
+     */
+    @Override
+    @Transactional
+    public Map<String, Object> batchReleaseProcessDefinitionsByCodes(User 
loginUser, long projectCode, String codes,
+                                                                     
ReleaseState releaseState) {
+        Map<String, Object> result = new HashMap<>();
+        if (StringUtils.isEmpty(codes)) {
+            log.error("Parameter processDefinitionCodes is empty, projectCode 
is {}.", projectCode);

Review Comment:
   how about use info or warn as log level?



##########
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java:
##########
@@ -3054,4 +3055,31 @@ public void deleteOtherRelation(Project project, 
Map<String, Object> result, Pro
 
     }
 
+    /**
+     * batch release process definitions based on codes and releaseState.
+     *
+     * @param loginUser    login user
+     * @param projectCode  project code
+     * @param codes        process definition code list
+     * @param releaseState releaseState
+     * @return Result of the batch release process definitions.
+     */
+    @Override
+    @Transactional
+    public Map<String, Object> batchReleaseProcessDefinitionsByCodes(User 
loginUser, long projectCode, String codes,
+                                                                     
ReleaseState releaseState) {
+        Map<String, Object> result = new HashMap<>();
+        if (StringUtils.isEmpty(codes)) {
+            log.error("Parameter processDefinitionCodes is empty, projectCode 
is {}.", projectCode);
+            putMsg(result, Status.PROCESS_DEFINITION_CODES_IS_EMPTY);
+            return result;
+        }
+
+        Set<Long> definitionCodes = 
Lists.newArrayList(codes.split(Constants.COMMA)).stream().map(Long::parseLong)
+                .collect(Collectors.toSet());
+        for (Long definitionCode : definitionCodes) {
+            result = releaseProcessDefinition(loginUser, projectCode, 
definitionCode, releaseState);

Review Comment:
   It will only get the latest result in method `releaseProcessDefinition`, but 
I think we want to get all result info from batch release, are we?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to