package com.szwl.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.szwl.model.entity.TEquipment;
import com.szwl.mapper.TEquipmentMapper;
import com.szwl.model.query.StatisticsParam;
import com.szwl.model.utils.PushUtils;
import com.szwl.service.TEquipmentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang.StringUtils;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author wuhs
* @since 2023-10-25
*/
@Service
public class TEquipmentServiceImpl extends ServiceImpl implements TEquipmentService {
@Autowired
private AmqpTemplate amqpTemplate;
@Autowired
TEquipmentMapper tEquipmentMapper;
@Override
public String sentMessage(String clientId, String json) {
LambdaQueryWrapper query = Wrappers.lambdaQuery();
query.eq(TEquipment::getClientId,clientId);
List equipmentList = tEquipmentMapper.selectList(query);
if(equipmentList.size()==0){
return "该设备不存在";
}
TEquipment equipment = equipmentList.get(0);
if (equipment == null) {
return "该设备不存在";
}
String channel = equipment.getChannel();
String equimentType = equipment.getEquimentType();
if(StringUtils.isEmpty(channel)||channel.equals("1")||StringUtils.isEmpty(equimentType)){
//用个推
PushUtils.push(equipment.getGtClientId(), "", "", json);
}
if(StringUtils.isNotEmpty(channel)&&channel.equals("2")&&StringUtils.isNotEmpty(equimentType)){
//用Mq
//1 创建消息
MessageProperties messageProperties = new MessageProperties();
messageProperties.setContentType("text/plain");
org.springframework.amqp.core.Message message = new org.springframework.amqp.core.Message(json.getBytes(), messageProperties);
amqpTemplate.send(equimentType, clientId, message);
}
return "success";
}
@Override
public String findMachineTotalNum(StatisticsParam param) {
return tEquipmentMapper.findMachineTotalNum(param);
}
@Override
public String findMachineUseNum(StatisticsParam param) {
return tEquipmentMapper.findMachineUseNum(param);
}
// @Override
// public Integer insertBatchSomeColumn(List entityList) {
// return tEquipmentMapper.insertBatchSomeColumn(entityList);
// }
}