| | |
| | | package com.sandu.ximon.admin.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import cn.hutool.http.HttpUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.sandu.common.execption.BusinessException; |
| | | import com.sandu.common.object.BaseConditionVO; |
| | | import com.sandu.common.service.impl.BaseServiceImpl; |
| | | import com.sandu.ximon.admin.param.WaterQualityEquipmentParam; |
| | | import com.sandu.ximon.dao.domain.AirEquipment; |
| | | import com.sandu.ximon.dao.domain.Monitor; |
| | | import com.sandu.ximon.admin.dto.WaterQualityDataDto; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; |
| | | import com.sandu.ximon.admin.vo.EquipmentInfomation; |
| | | import com.sandu.ximon.dao.bo.WaterQualityEquipmentBo; |
| | | import com.sandu.ximon.dao.domain.WaterQualityEquipment; |
| | | import com.sandu.ximon.dao.mapper.AirEquipmentMapper; |
| | | import com.sandu.ximon.dao.mapper.WaterQualityEquipmentMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | @AllArgsConstructor |
| | | public class WaterQualityEquipmentService extends BaseServiceImpl<WaterQualityEquipmentMapper, WaterQualityEquipment> { |
| | | //水质参数获取网址,例如:"http://iot.ainongye.cn/json/设备编号.json" |
| | | private final String WATER_QUALITY_DATA_URL = "http://iot.ainongye.cn/json/"; |
| | | private WaterQualityEquipmentMapper waterQualityEquipmentMapper; |
| | | private final PoleBindingService poleBindingService; |
| | | |
| | | /** |
| | | * 查询全部水质设备 |
| | | */ |
| | | public List<WaterQualityEquipment> listWaterQualityEquipment() { |
| | | LambdaQueryWrapper<WaterQualityEquipment> wrapper = Wrappers.lambdaQuery(WaterQualityEquipment.class); |
| | | List<WaterQualityEquipment> list = list(wrapper); |
| | | |
| | | return list; |
| | | public List<WaterQualityEquipmentBo> listWaterQualityEquipment() { |
| | | return waterQualityEquipmentMapper.listWaterQualityEquipment(); |
| | | } |
| | | |
| | | /** |
| | | * 模糊查询 |
| | | */ |
| | | public List<WaterQualityEquipment> listWaterQualityEquipmentByKeyword(String keyword) { |
| | | if(keyword == null || keyword.trim().length() == 0){ |
| | | return listWaterQualityEquipment(); |
| | | |
| | | }else{ |
| | | return waterQualityEquipmentMapper.listWaterQualityEquipmentByKeyword(keyword); |
| | | public List<WaterQualityEquipmentBo> listWaterQualityEquipmentByKeyword(BaseConditionVO baseConditionVO, String keyword) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | if (baseConditionVO != null) { |
| | | PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); |
| | | } |
| | | |
| | | // LambdaQueryWrapper<WaterQualityEquipment> wrapper = Wrappers.lambdaQuery(WaterQualityEquipment.class); |
| | | //// if (keyword != null) { |
| | | //// wrapper.like(WaterQualityEquipment::getBelongTo, keyword); |
| | | //// } |
| | | // List<WaterQualityEquipment> airDataList = list(wrapper); |
| | | // waterQualityEquipmentMapper.listWaterQualityEquipmentByKeyword(keyword); |
| | | List<WaterQualityEquipmentBo> waterQualityEquipmentBoList; |
| | | //为空是超管 |
| | | if (SecurityUtils.getClientId() == null) { |
| | | waterQualityEquipmentBoList = waterQualityEquipmentMapper.listWaterQualityEquipmentByIds(keyword, null); |
| | | } else { |
| | | waterQualityEquipmentBoList = waterQualityEquipmentMapper.listWaterQualityEquipmentByIds(keyword, userId); |
| | | } |
| | | return waterQualityEquipmentBoList; |
| | | } |
| | | |
| | | /** |
| | |
| | | if (waterQualityEquipment == null) { |
| | | throw new BusinessException("找不到水质设备"); |
| | | } |
| | | //删除摄水质设备前需要先解绑 |
| | | poleBindingService.unBindPole(null, waterQualityEquipment.getWaterQualityEquipmentCode()); |
| | | |
| | | /** |
| | | * 删除水质设备 日志记录开始 |
| | | */ |
| | | List<String> listCode = new ArrayList<>(1); |
| | | listCode.add(waterQualityEquipment.getWaterQualityEquipmentCode()); |
| | | String content = "{ 设备id:" + waterQualityEquipment.getId() + "设备code:" + waterQualityEquipment.getWaterQualityEquipmentCode() + |
| | | "}"; |
| | | |
| | | StoreOperationRecordsUtils.storeOperationData(listCode, null, "删除水质设备", content); |
| | | /** |
| | | * 删除水质设备 日志记录结束 |
| | | */ |
| | | return removeById(Id); |
| | | } |
| | | |
| | |
| | | WaterQualityEquipment one = getOne(Wrappers.lambdaQuery(WaterQualityEquipment.class).eq(WaterQualityEquipment::getWaterQualityEquipmentCode, |
| | | waterQualityEquipment.getWaterQualityEquipmentCode())); |
| | | if (one == null) { |
| | | return save(waterQualityEquipment); |
| | | WaterQualityEquipment result = new WaterQualityEquipment(); |
| | | result.setWaterQualityEquipmentCode(waterQualityEquipment.getWaterQualityEquipmentCode()); |
| | | boolean save = save(result); |
| | | /** |
| | | * 添加水质设备 日志记录开始 |
| | | */ |
| | | List<String> listCode = new ArrayList<>(1); |
| | | listCode.add(waterQualityEquipment.getWaterQualityEquipmentCode()); |
| | | String content = "{ 设备id:" + waterQualityEquipment.getId() + "设备code:" + waterQualityEquipment.getWaterQualityEquipmentCode() + |
| | | "}"; |
| | | |
| | | StoreOperationRecordsUtils.storeOperationData(listCode, null, "添加水质设备", content); |
| | | /** |
| | | * 添加水质设备 日志记录结束 |
| | | */ |
| | | return save; |
| | | } else { |
| | | waterQualityEquipment.setId(one.getId()); |
| | | return updateById(waterQualityEquipment); |
| | | throw new BusinessException("该水质设备已存在!"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 首页灯杆绑定信息 |
| | | */ |
| | | public EquipmentInfomation getWaterQualityDataInfo(String waterQualityEquipmentCode) { |
| | | EquipmentInfomation equipmentInfo = new EquipmentInfomation(); |
| | | equipmentInfo.setEquipmentType("水质设备"); |
| | | if (waterQualityEquipmentCode == null || waterQualityEquipmentCode.trim().length() == 0) { |
| | | return equipmentInfo; |
| | | } |
| | | |
| | | WaterQualityEquipment one = getOne(Wrappers.lambdaQuery(WaterQualityEquipment.class).eq(WaterQualityEquipment::getWaterQualityEquipmentCode, |
| | | waterQualityEquipmentCode)); |
| | | if (one != null) { |
| | | equipmentInfo.setEquipmentCreateTime(one.getCreateTime()); |
| | | equipmentInfo.setEquipmentMac(one.getWaterQualityEquipmentCode()); |
| | | } |
| | | |
| | | try { |
| | | String s = HttpUtil.get(WATER_QUALITY_DATA_URL + waterQualityEquipmentCode + ".json"); |
| | | System.out.println(waterQualityEquipmentCode + "-------------------------------" + s); |
| | | if (!s.startsWith("{")) { |
| | | equipmentInfo.setEquipmentState("未知"); |
| | | return equipmentInfo; |
| | | } |
| | | WaterQualityDataDto waterQualityDataDto = JSON.parseObject(s, WaterQualityDataDto.class); |
| | | //设置水质设备状态 |
| | | if (waterQualityDataDto != null) { |
| | | equipmentInfo.setEquipmentState("在线"); |
| | | } else { |
| | | equipmentInfo.setEquipmentState("离线"); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error("水质设备号不正确"); |
| | | equipmentInfo.setEquipmentState("未知"); |
| | | } |
| | | return equipmentInfo; |
| | | } |
| | | } |