1313import com .codingapi .flow .form .permission .PermissionType ;
1414import com .codingapi .flow .node .nodes .ApprovalNode ;
1515import com .codingapi .flow .node .nodes .EndNode ;
16+ import com .codingapi .flow .node .nodes .NotifyNode ;
1617import com .codingapi .flow .node .nodes .StartNode ;
1718import com .codingapi .flow .pojo .body .FlowAdviceBody ;
1819import com .codingapi .flow .pojo .request .FlowActionRequest ;
@@ -210,6 +211,15 @@ void processNodes() {
210211 )
211212 .build ();
212213
214+
215+ NotifyNode notifyNode = NotifyNode .builder ()
216+ .name ("经理审批" )
217+ .strategies (NodeStrategyBuilder .builder ()
218+ .addStrategy (new OperatorLoadStrategy ("def run(request){return [2]}" ))
219+ .build ()
220+ )
221+ .build ();
222+
213223 EndNode endNode = EndNode .builder ().build ();
214224 Workflow workflow = WorkflowBuilder .builder ()
215225 .title ("请假流程" )
@@ -218,6 +228,7 @@ void processNodes() {
218228 .form (form )
219229 .addNode (startNode )
220230 .addNode (bossNode )
231+ .addNode (notifyNode )
221232 .addNode (endNode )
222233 .build ();
223234
@@ -226,7 +237,7 @@ void processNodes() {
226237 Map <String , Object > data = Map .of ("name" , "lorne" , "days" , 1 , "reason" , "leave" );
227238
228239 List <ProcessNode > nodeList = factory .flowService .processNodes (new FlowProcessNodeRequest (workflow .getId (), user .getUserId (),data ));
229- assertEquals (3 ,nodeList .size ());
240+ assertEquals (4 ,nodeList .size ());
230241 assertEquals (0 ,nodeList .stream ().filter (ProcessNode ::isHistory ).toList ().size ());
231242
232243 List <IFlowAction > startActions = startNode .actionManager ().getActions ();
@@ -241,7 +252,7 @@ void processNodes() {
241252 assertEquals (1 , userRecordList .size ());
242253
243254 nodeList = factory .flowService .processNodes (new FlowProcessNodeRequest (userRecordList .get (0 ).getId (), user .getUserId (),data ));
244- assertEquals (3 ,nodeList .size ());
255+ assertEquals (4 ,nodeList .size ());
245256 assertEquals (0 ,nodeList .stream ().filter (ProcessNode ::isHistory ).toList ().size ());
246257
247258
@@ -256,7 +267,7 @@ void processNodes() {
256267
257268
258269 nodeList = factory .flowService .processNodes (new FlowProcessNodeRequest (bossRecordList .get (0 ).getId (), boss .getUserId (),data ));
259- assertEquals (3 ,nodeList .size ());
270+ assertEquals (4 ,nodeList .size ());
260271 assertEquals (1 ,nodeList .stream ().filter (ProcessNode ::isHistory ).toList ().size ());
261272
262273 List <IFlowAction > bossActions = bossNode .actionManager ().getActions ();
@@ -268,8 +279,12 @@ void processNodes() {
268279 factory .flowService .action (bossRequest );
269280
270281 List <FlowRecord > records = factory .flowRecordRepository .findProcessRecords (bossRecordList .get (0 ).getProcessId ());
271- assertEquals (2 , records .size ());
272- assertEquals (2 , records .stream ().filter (FlowRecord ::isFinish ).toList ().size ());
282+ assertEquals (3 , records .size ());
283+ assertEquals (3 , records .stream ().filter (FlowRecord ::isFinish ).toList ().size ());
284+
285+
286+ nodeList = factory .flowService .processNodes (new FlowProcessNodeRequest (bossRecordList .get (0 ).getId (), boss .getUserId (),data ));
287+ assertEquals (4 ,nodeList .size ());
273288
274289 }
275290}
0 commit comments