123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- package com.szwl.handle.response;
- import com.alibaba.fastjson.JSON;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.szwl.constant.OperationType;
- import com.szwl.model.entity.MessageLog;
- import com.szwl.model.entity.TAlarmRecord;
- import com.szwl.model.entity.TEquipment;
- import com.szwl.model.entity.TEquipmentDesc;
- import com.szwl.model.jsonParm.HeartParam;
- import com.szwl.service.TAlarmRecordService;
- import com.szwl.service.TEquipmentDescService;
- import com.szwl.service.TEquipmentService;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.stereotype.Component;
- import javax.annotation.Resource;
- import java.util.Date;
- @Component
- public class HeartProcessor implements ResponseProcessor {
- @Resource
- private TEquipmentService equipmentService;
- @Resource
- private TEquipmentDescService equipmentDescService;
- @Resource
- private TAlarmRecordService alarmRecordService;
- @Override
- public void process(MessageLog messageLog) {
- Integer statusCode = messageLog.getStatusCode();
- if (statusCode == 200) {
- Integer direction = messageLog.getDirection();
- String clientId = messageLog.getClientId();
- String responseContent = messageLog.getResponseContent();
- // 转换为对象
- HeartParam heartParam = JSON.parseObject(responseContent, HeartParam.class);
- // 查询设备
- LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
- query.eq(TEquipment::getClientId, clientId);
- TEquipment equipment = equipmentService.getOne(query);
- // 更新数据
- if (equipment != null) {
- equipment.setModifyDate(new Date());
- if (StringUtils.isNotEmpty(heartParam.getCabinetTm())) {
- equipment.setCabinetTm(heartParam.getCabinetTm());
- }
- if (StringUtils.isNotEmpty(heartParam.getCabinetHd())) {
- equipment.setCabinetHd(heartParam.getCabinetHd());
- }
- if (StringUtils.isNotEmpty(heartParam.getFurnaceSp())) {
- equipment.setFurnaceSp(heartParam.getFurnaceSp());
- }
- if (StringUtils.isNotEmpty(heartParam.getFurnaceTm())) {
- equipment.setFurnaceTm(heartParam.getFurnaceTm());
- }
- equipment.setLastUpdateTime(heartParam.getLastUpdateTime());
- if (heartParam.getEqeStatus() != null) {
- equipment.setEqeStatus(heartParam.getEqeStatus());
- }
- equipment.setIsSleep(heartParam.isSleep());
- if (StringUtils.isNotEmpty(heartParam.getFurnaceTm())) {
- int fur = Integer.parseInt(heartParam.getFurnaceTm());
- if (equipment.getEqeStatus() == 0 && fur > 150) {
- equipment.setEqeStatus(1);
- }
- if (equipment.getEqeStatus() == null) {
- equipment.setEqeStatus(1);
- }
- }
- if (StringUtils.isNotEmpty(heartParam.getVolume())) {
- equipment.setVolume(heartParam.getVolume());
- }
- // 是否报警
- if (heartParam.getIsAlarm() != null) {
- if (heartParam.getIsAlarm() == 1) {
- equipment.setIsAlarm(true);
- } else if (heartParam.getIsAlarm() == 0) {
- // 更改报警状态,并消除以往的报警记录
- LambdaUpdateWrapper<TAlarmRecord> wrapper = Wrappers.lambdaUpdate();
- wrapper.eq(TAlarmRecord::getClientId, clientId);
- wrapper.eq(TAlarmRecord::getIsEliminate, 0);
- wrapper.le(TAlarmRecord::getCreateDate, new Date());
- wrapper.set(TAlarmRecord::getIsEliminate, 1);
- alarmRecordService.update(wrapper);
- equipment.setIsAlarm(false);
- }
- }
- equipment.setGtClientId(heartParam.getGtClientId());
- equipment.setLatitude(heartParam.getLatitude());
- equipment.setLongitude(heartParam.getLongitude());
- equipment.setManagerId(heartParam.getManagerId());
- equipment.setNetWorkingMode(heartParam.getNetWorkingMode());
- equipment.setVolume(heartParam.getVolume());
- equipmentService.updateById(equipment);
- // 更新数据
- TEquipmentDesc equipmentDesc = equipmentDescService.getById(equipment.getId());
- if (equipmentDesc != null) {
- if (StringUtils.isNotEmpty(heartParam.getBlueSugar())) {
- equipmentDesc.setBlueSugar(heartParam.getBlueSugar());
- }
- if (StringUtils.isNotEmpty(heartParam.getRedSugar())) {
- equipmentDesc.setRedSugar(heartParam.getRedSugar());
- }
- if (StringUtils.isNotEmpty(heartParam.getYellowSugar())) {
- equipmentDesc.setYellowSugar(heartParam.getYellowSugar());
- }
- if (StringUtils.isNotEmpty(heartParam.getWhiteSugar())) {
- equipmentDesc.setWhiteSugar(heartParam.getWhiteSugar());
- }
- if (StringUtils.isNotEmpty(heartParam.getWater())) {
- equipmentDesc.setWater(heartParam.getWater());
- }
- if (StringUtils.isNotEmpty(heartParam.getWasteWater())) {
- equipmentDesc.setWasteWater(heartParam.getWasteWater());
- }
- if (StringUtils.isNotEmpty(heartParam.getStick())) {
- equipmentDesc.setStick(heartParam.getStick());
- }
- // 如果是爆米花机
- String machineType = equipment.getMachineType();
- if (StringUtils.isNotEmpty(machineType) && "1".equals(machineType)) {
- // 爆米花机搅拌温度
- if (StringUtils.isNotEmpty(heartParam.getCabinetTm())) {
- equipmentDesc.setStirTm(heartParam.getCabinetTm());
- }
- // 爆米花机玉米发生器温度
- if (StringUtils.isNotEmpty(heartParam.getCabinetHd())) {
- equipmentDesc.setCornGeneratorTm(heartParam.getCabinetHd());
- }
- // 爆米花机杯子剩余量
- if (StringUtils.isNotEmpty(heartParam.getFurnaceTm())) {
- equipmentDesc.setCupQuantity(Long.parseLong(heartParam.getFurnaceTm()));
- }
- }
- // 如果是雪糕机
- if (StringUtils.isNotEmpty(machineType) && "2".equals(machineType)) {
- if (heartParam.getWorkingMode() != null) {
- equipmentDesc.setWorkingMode(heartParam.getWorkingMode());
- }
- }
- if (StringUtils.isNotEmpty(heartParam.getNumberOne())) {
- equipmentDesc.setNumberOne(heartParam.getNumberOne());
- }
- if (StringUtils.isNotEmpty(heartParam.getCandyGeneratorTm())) {
- equipmentDesc.setCandyGeneratorTm(heartParam.getCandyGeneratorTm());
- }
- if (StringUtils.isNotEmpty(heartParam.getOutsideHd())) {
- equipmentDesc.setOutsideHd(heartParam.getOutsideHd());
- }
- if (StringUtils.isNotEmpty(heartParam.getOutsideTm())) {
- equipmentDesc.setOutsideTm(heartParam.getOutsideTm());
- }
- equipmentDescService.updateById(equipmentDesc);
- }
- }
- }
- }
- @Override
- public String getSupportedOperationType() {
- return OperationType.HEART.getCode();
- }
- }
|