Compare commits

..

No commits in common. "8d31f6fdd1952fb4e82af74add4b41a87df20f4c" and "9862c48de3cf72c7c90497cd1cd1009c7e7f677a" have entirely different histories.

View File

@ -3,57 +3,34 @@ package com.hivekion.thread;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hivekion.Global; import com.hivekion.Global;
import com.hivekion.baseData.entity.Scenario;
import com.hivekion.common.entity.ResponseCmdInfo; import com.hivekion.common.entity.ResponseCmdInfo;
import com.hivekion.common.redis.RedisUtil;
import com.hivekion.scenario.entity.ScenarioResource;
import com.hivekion.scenario.service.ScenarioResourceService;
import com.hivekion.statistic.bean.ScenarioInfo; import com.hivekion.statistic.bean.ScenarioInfo;
import com.hivekion.statistic.service.ScenarioService; import com.hivekion.statistic.service.ScenarioService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Component @Component
@Slf4j @Slf4j
public class WebsocketMsgWrapper { public class WebsocketMsgWrapper {
private RedisUtil redisUtil;
@Resource
private ScenarioResourceService scenarioResourceService;
public void msgHandle(Integer scenarioId,String roomId,String resourceId,String msg){ public void msgHandle(Integer scenarioId,String roomId,String resourceId,String msg){
ResponseCmdInfo responseCmdInfo = new ResponseCmdInfo(); ResponseCmdInfo responseCmdInfo = new ResponseCmdInfo();
responseCmdInfo.setScenarioId(scenarioId); responseCmdInfo.setScenarioId(scenarioId);
responseCmdInfo.setRoom(roomId); responseCmdInfo.setRoom(roomId);
try { try {
JSONObject msgObj = (JSONObject) JSON.parse(msg); JSONObject msgObj = (JSONObject) JSON.parse(msg);
if(msgObj.getString("cmdType").equals("scenarioInfo")){ if(msgObj.getString("cmdType").equals("scenarioInfo")){
if( redisUtil == null) { ScenarioService scenarioService = SpringUtil.getBean(ScenarioService.class);
redisUtil = SpringUtil.getBean(RedisUtil.class); if(scenarioService != null){
} ScenarioInfo scenarioInfo= scenarioService.listScenarioInfo(scenarioId,roomId,resourceId);
JSONArray allScenario = new JSONArray(); String scenarioInfoStr = com.alibaba.fastjson2.JSON.toJSONString(scenarioInfo);
List<ScenarioResource> scenarioResourceList = this.scenarioResourceService.list(new QueryWrapper<ScenarioResource>().eq("scenario_id",scenarioId)); responseCmdInfo.setData(scenarioInfoStr);
for(ScenarioResource scenarioResource : scenarioResourceList) { }else {
if(redisUtil.hasKey(scenarioResource.getScenarioId() + "-" + roomId + "-" + scenarioResource.getId(), "scenarioInfo")) { log.warn("=============scenarioService is null================================");
String jsonStr = (String) redisUtil.hget(scenarioResource.getScenarioId() + "-" + roomId + "-" + scenarioResource.getId(), "scenarioInfo");
allScenario.add(jsonStr);
} }
} }
responseCmdInfo.setData(JSONArray.toJSONString(allScenario));
}
responseCmdInfo.setCmdType("scenarioInfo");
Global.sendCmdInfoQueue.add(responseCmdInfo); Global.sendCmdInfoQueue.add(responseCmdInfo);
}catch (Exception ex){ }catch (Exception ex){
ex.printStackTrace(); ex.printStackTrace();