diff --git a/device_cars/src/main/java/com/xr/device_car/config/utils/Files.java b/device_cars/src/main/java/com/xr/device_car/config/utils/Files.java index 8064923..5f38ef2 100644 --- a/device_cars/src/main/java/com/xr/device_car/config/utils/Files.java +++ b/device_cars/src/main/java/com/xr/device_car/config/utils/Files.java @@ -345,6 +345,38 @@ public class Files { return fileName; } + /** + * 给图片化框 + *image 图片 + * */ + public static BufferedImage drawRectangleAndText(BufferedImage image, int x1, int y1, int x2, int y2, String text) { + // 创建一个Graphics2D对象 + Graphics2D g2d = image.createGraphics(); + + // 设置抗锯齿 + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + + // 绘制红色框 + g2d.setColor(Color.RED); + g2d.drawRect(x1, y1, x2 - x1, y2 - y1); + + // 设置字体和颜色 + g2d.setFont(new Font("Arial", Font.BOLD, 12)); + g2d.setColor(Color.RED); + + // 获取文本的宽度和高度 + FontMetrics fm = g2d.getFontMetrics(); + int textWidth = fm.stringWidth(text); + int textHeight = fm.getHeight(); + + // 绘制文本 + g2d.drawString(text, x2 - textWidth - 5, y1 + textHeight - 5); + + // 释放资源 + g2d.dispose(); + + return image; + } diff --git a/device_cars/src/main/resources/application-dev.yml b/device_cars/src/main/resources/application-dev.yml index 3aa2509..df32622 100644 --- a/device_cars/src/main/resources/application-dev.yml +++ b/device_cars/src/main/resources/application-dev.yml @@ -90,5 +90,5 @@ minio: secretKey: minioadmin udp: server: - host: 192.168.1.100 + host: 172.26.4.59 port: 9300 \ No newline at end of file diff --git a/device_cars/src/main/resources/application.yml b/device_cars/src/main/resources/application.yml index c854e41..8d7945b 100644 --- a/device_cars/src/main/resources/application.yml +++ b/device_cars/src/main/resources/application.yml @@ -2,7 +2,7 @@ spring: profiles: #active: dev #开发环境 # active: test #测试环境5 - active: prod #生产环境 + active: dev #生产环境 # active: prod #生产环境 application: name: deviceCars diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/configvalue/StaticProperties.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/configvalue/StaticProperties.java index 9618aa6..f216b27 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/configvalue/StaticProperties.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/configvalue/StaticProperties.java @@ -11,4 +11,10 @@ public class StaticProperties { @Value("${device.deviceId}") private Integer deviceId; + @Value("${upload.img.url}") + private String imgUrl; + + @Value("${upload.img.path}") + private String imgPath; + } diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/StaticPropUtil.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/StaticPropUtil.java index 330e23f..9088b8a 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/StaticPropUtil.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/StaticPropUtil.java @@ -6,9 +6,14 @@ public class StaticPropUtil { public static Integer deviceId; + public static String imgUrl; + + public static String imgPath; + public static void initDingDingProp(StaticProperties dingProperties){ deviceId=dingProperties.getDeviceId(); - + imgUrl = dingProperties.getImgUrl(); + imgPath = dingProperties.getImgPath(); } } diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/UploadUtil.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/UploadUtil.java new file mode 100644 index 0000000..15dafbd --- /dev/null +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/UploadUtil.java @@ -0,0 +1,76 @@ +package com.xr.iec61850clent.common.util; + +import org.apache.poi.ss.usermodel.Workbook; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class UploadUtil { + + public static String uploadExcel(Workbook workbook,String path,String url1,String fileName) throws Exception{ + FileOutputStream outputStream =new FileOutputStream(path+fileName); + workbook.write(outputStream); + outputStream.close(); + String url = url1+fileName; + return url; + } + + + public static String uploadImage(String clentIp,Integer configId,String fileName) throws Exception { + // 构建完整的路径 + String url = "http://"+clentIp+":8080/tao/snapshot"; + SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd-HH"); + String date = sim.format(new Date()); + String dates[] = date.split("-"); + + String year = dates[0]; + String month = dates[1]; + String day = dates[2]; + String ho = dates[3]; + String fullPath = StaticPropUtil.imgUrl+configId + File.separator + year + File.separator + month + File.separator + day + File.separator +ho+File.separator+ fileName; + + // 创建目录结构 + Path directoryPath = Paths.get(StaticPropUtil.imgUrl,configId.toString(), year, month, day,ho); + if (!java.nio.file.Files.exists(directoryPath)) { + java.nio.file.Files.createDirectories(directoryPath); + } + + downloadImage(url,fullPath); + + // 构建URL + String url1 = StaticPropUtil.imgUrl+ configId + "/" + year + "/"+ month + "/" + day + "/" +ho+"/"+ fileName; + return url1; + } + + public static void delFile(String path,String url,String fileUrl){ + String filePath = fileUrl.replace(url,path).replace("/","\\"); + File file = new File(filePath); + if(file.exists()){ + file.delete(); + } + } + + public static void downloadImage(String imageUrl, String destinationPath) throws IOException { + URL url = new URL(imageUrl); + try (InputStream in = url.openStream(); + FileOutputStream out = new FileOutputStream(destinationPath)) { + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = in.read(buffer)) != -1) { + out.write(buffer, 0, bytesRead); + } + } + } + +} diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/entity/MeterConfig.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/entity/MeterConfig.java index 739a454..e88f1c7 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/entity/MeterConfig.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/entity/MeterConfig.java @@ -68,6 +68,9 @@ public class MeterConfig implements Serializable { @TableField(exist = false) private String cameraName; + @TableField(exist = false) + private String deviceIp; + /** * 表计类型配置编号 */ diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/entity/MeterReadingRecord.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/entity/MeterReadingRecord.java index 0cc8322..0224f22 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/entity/MeterReadingRecord.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/entity/MeterReadingRecord.java @@ -59,6 +59,11 @@ public class MeterReadingRecord implements Serializable { */ private String readingValue; + /** + * 图片地址 + */ + private String readingUrl; + /** * 创建人 */ diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/iec61850run/Iec61850clent.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/iec61850run/Iec61850clent.java index 5e0ad9c..396f23f 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/iec61850run/Iec61850clent.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/iec61850run/Iec61850clent.java @@ -9,6 +9,7 @@ import com.beanit.iec61850bean.*; import com.beanit.iec61850bean.internal.cli.*; import com.xr.iec61850clent.common.util.ModeUtil; import com.xr.iec61850clent.common.util.SpringUtils; +import com.xr.iec61850clent.common.util.UploadUtil; import com.xr.iec61850clent.models.entity.*; import com.xr.iec61850clent.models.service.*; import lombok.Data; @@ -152,10 +153,10 @@ public class Iec61850clent extends Thread{ lds.setUpdateTime(new Date()); lds.setF(lds5000.getF()); lds5000Service.updateById(lds); - QueryWrapperqueryWrapper1=new QueryWrapper<>(); - queryWrapper1.eq("ids5000_id",lds.getId()); - MeterConfig config=meterConfigService.getOne(queryWrapper1); + MeterConfig config=meterConfigService.selectNoJzConfig(lds.getId()); if(config!=null){ + String fileName = config.getId()+new Date().getTime()+".jpg"; + String url= UploadUtil.uploadImage(config.getDeviceIp(),config.getId(),fileName); MeterType type=meterTypeService.getById(config.getTypeId()); MeterReadingRecord meterReadingRecord=new MeterReadingRecord(); meterReadingRecord.setMeterId(config.getId()); @@ -210,6 +211,7 @@ public class Iec61850clent extends Thread{ meterReadingRecord.setReadingTime(new Date()); meterReadingRecord.setCreateUser("SYSTEM"); meterReadingRecord.setCreateTime(new Date()); + meterReadingRecord.setReadingUrl(url); meterReadingRecord.setMeterTypeId(config.getTypeId()); meterReadingRecord.setOwningInterval(config.getOwningInterval()); if(config.getIsJz()!=1){ @@ -223,10 +225,10 @@ public class Iec61850clent extends Thread{ } } } - QueryWrapper queryWrapper=new QueryWrapper<>(); - queryWrapper.eq("is_jz",1); - List meterConfigs=meterConfigService.list(queryWrapper); + List meterConfigs=meterConfigService.selectJzConfig(); for (MeterConfig config:meterConfigs){ + String fileName = config.getId()+new Date().getTime()+".jpg"; + String url= UploadUtil.uploadImage(config.getDeviceIp(),config.getId(),fileName); MeterReadingRecord meterReadingRecord=new MeterReadingRecord(); meterReadingRecord.setMeterId(config.getId()); meterReadingRecord.setReadingType(config.getTypeId()); @@ -238,6 +240,7 @@ public class Iec61850clent extends Thread{ meterReadingRecord.setReadingTime(new Date()); meterReadingRecord.setCreateUser("SYSTEM"); meterReadingRecord.setCreateTime(new Date()); + meterReadingRecord.setReadingUrl(url); meterReadingRecord.setMeterTypeId(config.getTypeId()); meterReadingRecord.setOwningInterval(config.getOwningInterval()); meterReadingRecordService.save(meterReadingRecord); diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/mapper/MeterConfigMapper.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/mapper/MeterConfigMapper.java index 841ff3f..36e5ca7 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/mapper/MeterConfigMapper.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/mapper/MeterConfigMapper.java @@ -4,12 +4,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xr.iec61850clent.models.entity.MeterConfig; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * @Entity com.xr.iec61850clent.models.entity.MeterConfig */ @Mapper public interface MeterConfigMapper extends BaseMapper { + List selectJzConfig(); + + MeterConfig selectNoJzConfig(Integer ids5000Id); + } diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/service/MeterConfigService.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/service/MeterConfigService.java index 81ba8a0..242b684 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/service/MeterConfigService.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/service/MeterConfigService.java @@ -3,9 +3,15 @@ package com.xr.iec61850clent.models.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xr.iec61850clent.models.entity.MeterConfig; +import java.util.List; + /** * */ public interface MeterConfigService extends IService { + List selectJzConfig(); + + MeterConfig selectNoJzConfig(Integer ids5000Id); + } diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/service/impl/MeterConfigServiceImpl.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/service/impl/MeterConfigServiceImpl.java index 3ea23f3..c70637d 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/service/impl/MeterConfigServiceImpl.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/models/service/impl/MeterConfigServiceImpl.java @@ -7,6 +7,8 @@ import com.xr.iec61850clent.models.mapper.MeterConfigMapper; import com.xr.iec61850clent.models.service.MeterConfigService; import org.springframework.stereotype.Service; +import java.util.List; + /** * */ @@ -15,6 +17,15 @@ import org.springframework.stereotype.Service; public class MeterConfigServiceImpl extends ServiceImpl implements MeterConfigService{ + @Override + public List selectJzConfig() { + return ((MeterConfigMapper)this.baseMapper).selectJzConfig(); + } + + @Override + public MeterConfig selectNoJzConfig(Integer ids5000Id) { + return ((MeterConfigMapper)this.baseMapper).selectNoJzConfig(ids5000Id); + } } diff --git a/device_iec61850clent/src/main/resources/application-dev.yml b/device_iec61850clent/src/main/resources/application-dev.yml index ba5a3aa..c9d2327 100644 --- a/device_iec61850clent/src/main/resources/application-dev.yml +++ b/device_iec61850clent/src/main/resources/application-dev.yml @@ -78,4 +78,9 @@ eureka: service-url: defaultZone: http://localhost:8084/eureka device: - deviceId: 3 \ No newline at end of file + deviceId: 3 + +upload: + img: + url: http://192.168.1.83:18081/file/img/zs/ + path: D:\\service\\fileService\\img\\zs\\ \ No newline at end of file diff --git a/device_iec61850clent/src/main/resources/application-prod.yml b/device_iec61850clent/src/main/resources/application-prod.yml index 351fd73..c59bee5 100644 --- a/device_iec61850clent/src/main/resources/application-prod.yml +++ b/device_iec61850clent/src/main/resources/application-prod.yml @@ -78,4 +78,8 @@ eureka: service-url: defaultZone: http://localhost:8084/eureka device: - deviceId: 3 \ No newline at end of file + deviceId: 3 +upload: + img: + url: http://192.168.1.94:18081/file/img/zs/ + path: D:\\service\\fileService\\img\\zs\\ \ No newline at end of file diff --git a/device_iec61850clent/src/main/resources/mapper/MeterConfigMapper.xml b/device_iec61850clent/src/main/resources/mapper/MeterConfigMapper.xml new file mode 100644 index 0000000..37bbcbc --- /dev/null +++ b/device_iec61850clent/src/main/resources/mapper/MeterConfigMapper.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/device_udpclent/src/main/java/com/xr/device_udpclent/common/config/AppConfig.java b/device_udpclent/src/main/java/com/xr/device_udpclent/common/config/AppConfig.java new file mode 100644 index 0000000..bb3da67 --- /dev/null +++ b/device_udpclent/src/main/java/com/xr/device_udpclent/common/config/AppConfig.java @@ -0,0 +1,18 @@ +package com.xr.device_udpclent.common.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; + +@Configuration +public class AppConfig { + + @Bean + public TaskScheduler taskScheduler() { + ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler(); + scheduler.setPoolSize(5); + scheduler.initialize(); + return scheduler; + } +} diff --git a/device_udpclent/src/main/java/com/xr/device_udpclent/common/utils/Files.java b/device_udpclent/src/main/java/com/xr/device_udpclent/common/utils/Files.java index 135868d..0f62a17 100644 --- a/device_udpclent/src/main/java/com/xr/device_udpclent/common/utils/Files.java +++ b/device_udpclent/src/main/java/com/xr/device_udpclent/common/utils/Files.java @@ -12,7 +12,11 @@ import java.net.Authenticator; import java.net.PasswordAuthentication; import java.net.URL; import java.net.URLConnection; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.text.SimpleDateFormat; import java.util.Base64; +import java.util.Date; public class Files { @@ -65,6 +69,55 @@ public class Files { return toFile; } + public static BufferedImage bytesTobufferedImage(byte[] bytes){ + BufferedImage image = null; + + try { + // 利用ByteArrayInputStream将字节数据转换成InputStream + ByteArrayInputStream bais = new ByteArrayInputStream(bytes); + + // 使用ImageIO读取InputStream中的数据转换为BufferedImage + image = ImageIO.read(bais); + + // 关闭ByteArrayInputStream + bais.close(); + // 此时,image就是转换后的BufferedImage对象,可以进行显示或其他处理 + // 例如显示图像: + // ImageIcon icon=new ImageIcon(image); + // JOptionPane.showMessageDialog(null, icon); + + } catch (IOException e) { + e.printStackTrace(); + } + return image; + } + + public static String uploadImage(BufferedImage bufferedImage, Integer configId) throws Exception { + // 构建完整的路径 + String fileName = configId+new Date().getTime()+".jpg"; + SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd"); + String date = sim.format(new Date()); + String dates[] = date.split("-"); + + String year = dates[0]; + String month = dates[1]; + String day = dates[2]; + String fullPath = StaticPropUtil.imagePath + configId + File.separator + year + File.separator + month + File.separator + day + File.separator + fileName; + + // 创建目录结构 + Path directoryPath = Paths.get(StaticPropUtil.imagePath, configId.toString(), year, month, day); + if (!java.nio.file.Files.exists(directoryPath)) { + java.nio.file.Files.createDirectories(directoryPath); + } + + // 创建文件并写入图像 + File file = new File(fullPath); + ImageIO.write(bufferedImage, "jpg", file); + + // 构建URL + String url = StaticPropUtil.imageUrl + configId + "/" + year + "/"+ month + "/" + day + "/" + fileName; + return url; + } diff --git a/device_udpclent/src/main/java/com/xr/device_udpclent/models/entity/MeterReadingRecord.java b/device_udpclent/src/main/java/com/xr/device_udpclent/models/entity/MeterReadingRecord.java index 0c4432f..31ad7d9 100644 --- a/device_udpclent/src/main/java/com/xr/device_udpclent/models/entity/MeterReadingRecord.java +++ b/device_udpclent/src/main/java/com/xr/device_udpclent/models/entity/MeterReadingRecord.java @@ -63,6 +63,8 @@ public class MeterReadingRecord implements Serializable { */ private Integer dataType; + private String readingUrl; + /** * 读数值 */ diff --git a/device_udpclent/src/main/java/com/xr/device_udpclent/models/scheduled/ImageDiscernScheduled.java b/device_udpclent/src/main/java/com/xr/device_udpclent/models/scheduled/ImageDiscernScheduled.java index ac6d2ad..72ca753 100644 --- a/device_udpclent/src/main/java/com/xr/device_udpclent/models/scheduled/ImageDiscernScheduled.java +++ b/device_udpclent/src/main/java/com/xr/device_udpclent/models/scheduled/ImageDiscernScheduled.java @@ -34,7 +34,7 @@ public class ImageDiscernScheduled { private static Logger log= LoggerFactory.getLogger(ImageDiscernScheduled.class); - @Scheduled(cron = "0 0/3 * * * ?") + //@Scheduled(cron = "0 0/3 * * * ?") public void imageDiscernTask() throws Exception{ //定时拍摄网络摄像头,并且解析后存储到读数表 try{ QueryWrapper queryConfig=new QueryWrapper<>(); diff --git a/device_udpclent/src/main/java/com/xr/device_udpclent/models/scheduled/UdpClentScheduled.java b/device_udpclent/src/main/java/com/xr/device_udpclent/models/scheduled/UdpClentScheduled.java index 98424e7..856a8b8 100644 --- a/device_udpclent/src/main/java/com/xr/device_udpclent/models/scheduled/UdpClentScheduled.java +++ b/device_udpclent/src/main/java/com/xr/device_udpclent/models/scheduled/UdpClentScheduled.java @@ -1,17 +1,25 @@ package com.xr.device_udpclent.models.scheduled; import cn.hutool.extra.spring.SpringUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.xr.device_udpclent.common.config.udp.UdbConfig; import com.xr.device_udpclent.common.utils.EnumUtil; +import com.xr.device_udpclent.common.utils.Files; +import com.xr.device_udpclent.models.entity.FocalLengthConfig; +import com.xr.device_udpclent.models.entity.MeterConfig; import com.xr.device_udpclent.models.entity.MeterReadingRecord; +import com.xr.device_udpclent.models.service.FocalLengthConfigService; +import com.xr.device_udpclent.models.service.MeterConfigService; import com.xr.device_udpclent.models.service.MeterReadingRecordService; import com.xr.device_udpclent.models.service.UdpClientService; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.awt.image.BufferedImage; import java.io.UnsupportedEncodingException; import java.util.Calendar; import java.util.List; @@ -19,7 +27,7 @@ import java.util.zip.CRC32; import java.util.zip.Checksum; -@Component +@Configuration public class UdpClentScheduled { @Autowired @@ -28,26 +36,52 @@ public class UdpClentScheduled { @Autowired private MeterReadingRecordService meterReadingRecordService; + @Autowired + private FocalLengthConfigService focalLengthConfigService; + @Scheduled(cron = "0 0/3 * * * ?") //定时发送监测数据 - public void udpTask() throws UnsupportedEncodingException, InterruptedException { + public void udpTask(){ if(meterReadingRecordService == null){ meterReadingRecordService = SpringUtil.getBean(MeterReadingRecordService.class); } List list = meterReadingRecordService.selectMaxReading(); for (MeterReadingRecord record:list){ +// QueryWrapper wrapper=new QueryWrapper<>(); +// wrapper.eq("config_id",record.getMeterId()); +// List configs=focalLengthConfigService.list(wrapper); +// if(configs.size()>0){ +// BufferedImage image = Files.bytesTobufferedImage(configs.get(0).getFocalPicture()); +// try { +// String url = Files.uploadImage(image,record.getMeterId()); +// record.setReadingUrl(url); +// meterReadingRecordService.updateById(record); +// }catch (Exception e){ +// e.printStackTrace(); +// } +// } ByteBuf buf = Unpooled.buffer(); ByteBuf checksumBuffer = Unpooled.buffer(Long.BYTES); - buf.writeBytes(new byte[]{(byte) 0xEB, (byte) 0x90,(byte) 0xEB, (byte) 0x90,(byte)0x55}); + buf.writeBytes(new byte[]{(byte) 0xEB, (byte) 0x90,(byte) 0xEB, (byte) 0x90,(byte)0x78}); buf.writeShortLE(3); buf.writeShort(record.getMeterId()); buf.writeByte(2); - String s="在线监测"; - byte [] sx=s.getBytes("GB2312"); + String s="在线监测#"+record.getReadingUrl(); + byte [] sx; + try { + sx = s.getBytes("GB2312"); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } buf.writeByte(sx.length); buf.writeBytes(sx); - byte [] sz = record.getReadingValue().getBytes("GB2312"); + byte [] sz; + try { + sz = record.getReadingValue().getBytes("GB2312"); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } buf.writeByte(sz.length); buf.writeBytes(sz); buf.writeBytes(generateCP56Time2a()); @@ -71,7 +105,11 @@ public class UdpClentScheduled { buf.writeBytes(checksumBuffer); System.out.println(EnumUtil.byteBufTo16Str(buf)); udpClientService.sendData(buf); - Thread.sleep(100); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } } } diff --git a/device_udpclent/src/main/resources/application-dev.yml b/device_udpclent/src/main/resources/application-dev.yml index 95a2024..5c9ec18 100644 --- a/device_udpclent/src/main/resources/application-dev.yml +++ b/device_udpclent/src/main/resources/application-dev.yml @@ -88,11 +88,11 @@ logging: logging: debug udp: server: - host: 192.168.1.100 + host: 172.26.4.59 port: 9300 upLoad: - path: D:\\images\\images\\ - url: http://localhost:85/upload/ + url: http://116.196.120.81:18081/file/img/zs/ + path: D:\\service\\fileService\\img\\zs\\ python: path: C:\\Users\\admin\\Anaconda3\\envs\\myconda310\\python.exe modelPath: D:\\smartGrid\\smartGrid\\models diff --git a/device_udpclent/src/main/resources/application-prod.yml b/device_udpclent/src/main/resources/application-prod.yml index 63591d8..a3b5238 100644 --- a/device_udpclent/src/main/resources/application-prod.yml +++ b/device_udpclent/src/main/resources/application-prod.yml @@ -91,8 +91,8 @@ udp: host: 192.168.1.100 port: 9300 upLoad: - path: D:\\images\\images\\ - url: http://localhost:85/upload/ + url: http://192.168.1.94:18081/file/img/zs/ + path: D:\\service\\fileService\\img\\zs\\ python: path: C:\\Users\\admin\\Anaconda3\\envs\\myconda310\\python.exe modelPath: D:\\smartGrid\\smartGrid\\models diff --git a/device_udpclent/src/main/resources/application.yml b/device_udpclent/src/main/resources/application.yml index 0be90c8..9297701 100644 --- a/device_udpclent/src/main/resources/application.yml +++ b/device_udpclent/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: prod #开发环境 + active: dev #开发环境 # active: test #测试环境5 #active: prod #生产环境 application: diff --git a/device_udpclent/src/main/resources/mapper/MeterReadingRecordMapper.xml b/device_udpclent/src/main/resources/mapper/MeterReadingRecordMapper.xml index de8091f..3b2a8d6 100644 --- a/device_udpclent/src/main/resources/mapper/MeterReadingRecordMapper.xml +++ b/device_udpclent/src/main/resources/mapper/MeterReadingRecordMapper.xml @@ -30,10 +30,10 @@