|
@@ -18,10 +18,12 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import scala.Int;
|
|
|
|
|
|
+import javax.lang.model.element.TypeElement;
|
|
|
import javax.swing.*;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -38,6 +40,8 @@ public class CaseAddSceneConsumer {
|
|
|
IUserService userService;
|
|
|
@Autowired
|
|
|
IJyUserService jyUserService;
|
|
|
+ @Autowired
|
|
|
+ ICaseNumService caseNumService;
|
|
|
|
|
|
@RabbitListener(
|
|
|
queuesToDeclare = @Queue("${queue.fusion.case-add:queue-aj-add-scene}")
|
|
@@ -82,7 +86,7 @@ public class CaseAddSceneConsumer {
|
|
|
CaseParam caseParam = new CaseParam();
|
|
|
caseParam.setCaseId(caseEntity.getCaseId());
|
|
|
|
|
|
- caseParam.setSceneNumParam(getSceneParam(kNumber));
|
|
|
+ caseParam.setSceneNumParam(getSceneParam(caseEntity.getCaseId(),scenePlus));
|
|
|
|
|
|
caseService.addScene(caseParam);
|
|
|
|
|
@@ -95,19 +99,24 @@ public class CaseAddSceneConsumer {
|
|
|
|
|
|
}
|
|
|
|
|
|
- public List<SceneNumParam> getSceneParam (String KNumber){
|
|
|
+ public List<SceneNumParam> getSceneParam (Integer caseId,ScenePlus scenePlus){
|
|
|
List<SceneNumParam> params = new ArrayList<>();
|
|
|
- List<ScenePlus> scenePlus = scenePlusService.getKNumber(KNumber);
|
|
|
- for (ScenePlus plus : scenePlus) {
|
|
|
- List<Integer> typeList = getTypeBySceneSource(plus.getSceneSource());
|
|
|
- for (Integer type : typeList) {
|
|
|
- SceneNumParam sceneNumParam = new SceneNumParam();
|
|
|
- sceneNumParam.setNumList(Arrays.asList(plus.getNum()));
|
|
|
- sceneNumParam.setType(type);
|
|
|
- params.add(sceneNumParam);
|
|
|
- }
|
|
|
+
|
|
|
+ HashMap<Integer, List<String>> map = caseNumService.getTypeMap(caseId);
|
|
|
+
|
|
|
+ List<Integer> typeList = getTypeBySceneSource(scenePlus.getSceneSource());
|
|
|
+ for (Integer type : typeList) {
|
|
|
+ map.computeIfAbsent(type, k -> new ArrayList<>());
|
|
|
+ List<String> list = map.get(type);
|
|
|
+ list.add(scenePlus.getNum());
|
|
|
}
|
|
|
|
|
|
+ for (Integer type : map.keySet()) {
|
|
|
+ SceneNumParam sceneNumParam = new SceneNumParam();
|
|
|
+ sceneNumParam.setNumList(map.get(type));
|
|
|
+ sceneNumParam.setType(type);
|
|
|
+ params.add(sceneNumParam);
|
|
|
+ }
|
|
|
return params;
|
|
|
}
|
|
|
|