yangys
2024-09-28 d4212be4f036c5972e192a93e9a7f3a2e3bb2535
collect/src/main/java/com/qianwen/mdc/collect/service/CollectDataService.java
@@ -21,6 +21,7 @@
import com.alibaba.fastjson.JSONObject;
import com.qianwen.mdc.collect.config.IotDBSessionConfig;
import com.qianwen.mdc.collect.constants.IOTDBConstant;
import com.qianwen.mdc.collect.domain.TelemetryData;
import com.qianwen.mdc.collect.domain.TelemetryDataItem;
import com.qianwen.mdc.collect.utils.redis.RedisUtil;
@@ -32,14 +33,12 @@
public class CollectDataService {
   private static final Logger log = LoggerFactory.getLogger(CollectDataService.class);
   
   private String DB_PREFIX = "root.f2.";
   //private String DB_PREFIX = "root.f2.";
   private static final Map<Integer, String> PROCESS_PARAM_MAP = new HashMap<>();
   @Autowired
   private IotDBSessionConfig iotdbConfig;
   @Autowired
   private IotDBCommonService iotDBCommonService;
   @Autowired
   private  RedisUtil redisUtil;
   
   private static String TEMPLATE_NAME = "process_param";
@@ -99,7 +98,12 @@
            tablet.addTimestamp(rowIndex, tdata.getTime());
            tablet.addValue("workstation_id",rowIndex,dt.getWorkstationId());
            tablet.addValue("n",rowIndex,tdata.getName());
              tablet.addValue("v",rowIndex,tdata.getValue());
            if(!tdata.getName().equals("Alarm")) {
               tablet.addValue("v",rowIndex,tdata.getValue());
            }else {
               //告警信息根据原版需要处理一下,格式未json对象:{"timestamp":1718839644476,"code":1000,"msg":"EMERGENCY STOP","alarmtype":15,"level":""}
               tablet.addValue("v",rowIndex,formatAlarmMsg(tdata.getTime(),tdata.getValue()));
            }
         }
         
         try {
@@ -113,6 +117,21 @@
      }
      
   }
   /**
    * 将报警信息格式化未json对象(原版是jsonobj或者json数组),格式为  {"timestamp":1718839644476,"code":1000,"msg":"EMERGENCY STOP","alarmtype":15,"level":""}
    * @param collectAlarmValue
    * @return
    */
   String formatAlarmMsg(long time,String collectAlarmValue){
      JSONObject alarmObj = new JSONObject();
      alarmObj.put("timestamp", time);
      alarmObj.put("code", "00");
      alarmObj.put("msg", collectAlarmValue);
      alarmObj.put("alarmtype", 0);
      alarmObj.put("level", "");
      return alarmObj.toJSONString();
   }
   
   /**
@@ -226,7 +245,7 @@
   }
   
   String generateDeviceId(long workstationId,String propertyName) {
      return DB_PREFIX+TEMPLATE_NAME + "_" + workstationId+"_"+propertyName;
      return IOTDBConstant.DB_PREFIX+TEMPLATE_NAME + "_" + workstationId+"_"+propertyName;
   }
}