/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.sxkj.gd.workorder.service.impl; import org.sxkj.gd.utils.GeomUtils; import org.sxkj.gd.workorder.entity.GdManageDeviceEntity; import org.sxkj.gd.workorder.vo.GdManageDeviceVO; import org.sxkj.gd.workorder.excel.GdManageDeviceExcel; import org.sxkj.gd.workorder.mapper.GdManageDeviceMapper; import org.sxkj.gd.workorder.service.IGdManageDeviceService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; import java.util.List; /** * 设备信息 服务实现类 * * @author lw * @since 2026-01-14 */ @Service public class GdManageDeviceServiceImpl extends BaseServiceImpl implements IGdManageDeviceService { @Override public IPage selectGdManageDevicePage(IPage page, GdManageDeviceVO gdManageDevice) { return page.setRecords(baseMapper.selectGdManageDevicePage(page, gdManageDevice)); } @Override public List selectGdManageDevice(GdManageDeviceVO gdManageDevice) { return baseMapper.selectGdManageDevice(gdManageDevice); } @Override public List exportGdManageDevice(Wrapper queryWrapper) { List gdManageDeviceList = baseMapper.exportGdManageDevice(queryWrapper); // gdManageDeviceList.forEach(gdManageDevice -> { // gdManageDevice.setTypeName(DictCache.getValue(DictEnum.YES_NO, GdManageDevice.getType())); //}); return gdManageDeviceList; } /** * 保存或更新设备信息 * * @param gdManageDeviceEntity * @return * @throws Exception */ @Override public boolean saveOrUpdateDevice(GdManageDeviceEntity gdManageDeviceEntity) throws Exception { // 获取设备位置 生成缓冲区 if (gdManageDeviceEntity.getLongitude() != null && gdManageDeviceEntity.getLatitude() != null) { String bufferAroundPointAsString = GeomUtils.getBufferAroundPointAsString(gdManageDeviceEntity.getLongitude(), gdManageDeviceEntity.getLatitude(), 5 * 1000); gdManageDeviceEntity.setGeom(bufferAroundPointAsString); } return saveOrUpdate(gdManageDeviceEntity); } }