|
@@ -1,132 +0,0 @@
|
|
|
-package com.fdkankan.fusion.mq.consumer;
|
|
|
-
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
-import com.fdkankan.fusion.entity.*;
|
|
|
-import com.fdkankan.fusion.mq.vo.LaserSceneGpsVo;
|
|
|
-import com.fdkankan.fusion.request.CaseParam;
|
|
|
-import com.fdkankan.fusion.request.SceneNumParam;
|
|
|
-import com.fdkankan.fusion.service.*;
|
|
|
-import com.rabbitmq.client.Channel;
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.amqp.core.Message;
|
|
|
-import org.springframework.amqp.rabbit.annotation.Queue;
|
|
|
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|
|
-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;
|
|
|
-
|
|
|
-/**
|
|
|
- */
|
|
|
-@Slf4j
|
|
|
-@Component
|
|
|
-public class CaseAddSceneConsumer {
|
|
|
-
|
|
|
- @Autowired
|
|
|
- IScenePlusService scenePlusService;
|
|
|
- @Autowired
|
|
|
- ICaseService caseService;
|
|
|
- @Autowired
|
|
|
- IUserService userService;
|
|
|
- @Autowired
|
|
|
- IJyUserService jyUserService;
|
|
|
- @Autowired
|
|
|
- ICaseNumService caseNumService;
|
|
|
-
|
|
|
- @RabbitListener(
|
|
|
- queuesToDeclare = @Queue("${queue.fusion.case-add:queue-aj-add-scene}")
|
|
|
- )
|
|
|
- public void consumerQueue(Channel channel, Message message) {
|
|
|
- try {
|
|
|
- String messageId = message.getMessageProperties().getMessageId();
|
|
|
- String msg = new String(message.getBody(), StandardCharsets.UTF_8);
|
|
|
- log.info("queue-aj-add-scene-mq--messageId:{},msg:{}",messageId,msg);
|
|
|
-
|
|
|
- channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
|
|
|
- JSONObject jsonObject = JSON.parseObject(msg);
|
|
|
- String num = jsonObject.getString("num");
|
|
|
- String kNumber = jsonObject.getString("kNo");
|
|
|
-
|
|
|
- ScenePlus scenePlus = scenePlusService.getByNum(num);
|
|
|
- if(scenePlus == null){
|
|
|
- log.info("queue-aj-add-scene------场景为空:{},{}",num,kNumber);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- CaseEntity caseEntity = caseService.getKnumber(kNumber);
|
|
|
- if(caseEntity == null){
|
|
|
- User user = userService.getById(scenePlus.getUserId());
|
|
|
- if(user == null){
|
|
|
- log.info("queue-aj-add-scene------user为空:{},{}",num,kNumber);
|
|
|
- return;
|
|
|
- }
|
|
|
- JyUser jyUser = jyUserService.getByUserId(user.getId());
|
|
|
- if(jyUser == null){
|
|
|
- log.info("queue-aj-add-scene------jyUser为空:{},{}",num,kNumber);
|
|
|
- return;
|
|
|
- }
|
|
|
- caseEntity = new CaseEntity();
|
|
|
- caseEntity.setCaseTitle(kNumber);
|
|
|
- caseEntity.setUserName(user.getUserName());
|
|
|
- caseEntity.setSysUserId(jyUser.getSysUserId());
|
|
|
- caseEntity.setKNumber(kNumber);
|
|
|
- caseService.save(caseEntity);
|
|
|
- }
|
|
|
-
|
|
|
- CaseParam caseParam = new CaseParam();
|
|
|
- caseParam.setCaseId(caseEntity.getCaseId());
|
|
|
-
|
|
|
- caseParam.setSceneNumParam(getSceneParam(caseEntity.getCaseId(),scenePlus));
|
|
|
-
|
|
|
- caseService.addScene(caseParam);
|
|
|
-
|
|
|
-
|
|
|
- }catch (Exception e){
|
|
|
- log.info("queue-aj-add-scene------消费失败",e);
|
|
|
- }finally {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public List<SceneNumParam> getSceneParam (Integer caseId,ScenePlus scenePlus){
|
|
|
- List<SceneNumParam> params = new ArrayList<>();
|
|
|
-
|
|
|
- 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;
|
|
|
- }
|
|
|
-
|
|
|
- private List<Integer> getTypeBySceneSource(Integer sceneSource) {
|
|
|
- switch (sceneSource){
|
|
|
- case 3 : return Arrays.asList(1);
|
|
|
- case 4 : return Arrays.asList(2,4);
|
|
|
- case 5 : return Arrays.asList(5,6);
|
|
|
- default: return Arrays.asList(0);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-}
|