diff --git a/device_cars/pom.xml b/device_cars/pom.xml index 530a228..78f0fb7 100644 --- a/device_cars/pom.xml +++ b/device_cars/pom.xml @@ -149,6 +149,11 @@ commons-discovery 0.2 + + wsdl4j + wsdl4j + 1.6.3 + org.junit.jupiter junit-jupiter-api @@ -173,7 +178,7 @@ joda-time joda-time - ${joda-time.version} + ${joda.time.version} @@ -356,38 +361,6 @@ org.springframework.cloud spring-cloud-starter-openfeign - - - org.apache.httpcomponents - httpclient - 4.5 - - - org.apache.httpcomponents - httpmime - 4.5 - - - org.apache.httpcomponents - httpcore - 4.4.1 - - - org.dom4j - dom4j - 2.1.3 - - - io.minio - minio - 3.0.10 - - - - com.alibaba - easyexcel - 3.3.2 - diff --git a/device_cars/src/main/java/com/xr/device_car/DeviceCarApplication.java b/device_cars/src/main/java/com/xr/device_car/DeviceCarApplication.java index aee30f6..271de88 100644 --- a/device_cars/src/main/java/com/xr/device_car/DeviceCarApplication.java +++ b/device_cars/src/main/java/com/xr/device_car/DeviceCarApplication.java @@ -1,41 +1,27 @@ package com.xr.device_car; -import cn.hutool.extra.spring.SpringUtil; -import com.xr.device_car.client.config.Iec104Config; -import com.xr.device_car.config.utils.FileUtil; -import com.xr.device_car.config.utils.Files; -import com.xr.device_car.modules.analysis.entity.FocalLengthConfig; -import com.xr.device_car.modules.analysis.service.FocalLengthConfigService; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Import; -import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; -import java.io.File; -import java.util.Date; -import java.util.List; - @SpringBootApplication @EnableScheduling//开启定时任务 @EnableAsync//开启异步 @MapperScan("com.xr.device_car.modules.**.mapper") @EnableDiscoveryClient @EnableFeignClients -@Import(SpringUtil.class) -//public class DeviceCarApplication implements CommandLineRunner { public class DeviceCarApplication{ + @Value("${netty.address}") private String address; @@ -66,12 +52,9 @@ public class DeviceCarApplication{ // @Async // @Override // public void run(String... args) throws Exception { -// FocalLengthConfigService focalLengthConfigService = SpringUtil.getBean(FocalLengthConfigService.class); -// List list=focalLengthConfigService.list(); -// for (FocalLengthConfig config:list){ -// byte[] b=config.getFocalPicture(); -// File file = new File("D:\\images\\zhongshan\\"+config.getConfigId()+".jpg"); -// FileUtil.readInputStream(file,b); -// } +// Iec104Config iec104Config = new Iec104Config(); +// iec104Config.setFrameAmountMax((short) 2); +// iec104Config.setTerminnalAddress((short) 1); +// Iec104MasterFactory.createTcpClientMaster("192.168.3.10",2404).setDataHandler(new MasterSysDataHandler()).setConfig(iec104Config).run(); // } } diff --git a/device_cars/src/main/java/com/xr/device_car/config/common/LoginConfig.java b/device_cars/src/main/java/com/xr/device_car/config/common/LoginConfig.java index 346a927..e952c5a 100644 --- a/device_cars/src/main/java/com/xr/device_car/config/common/LoginConfig.java +++ b/device_cars/src/main/java/com/xr/device_car/config/common/LoginConfig.java @@ -38,7 +38,7 @@ public class LoginConfig { public static final String USER_ROLE_ID="1"; - public static final String TIMESTAMP = "time_stamp"; + public static final String TIMESTAMP = "timeStamp"; public static final String CryptoKey="ReGlory"; } diff --git a/device_cars/src/main/java/com/xr/device_car/config/common/WebConfig.java b/device_cars/src/main/java/com/xr/device_car/config/common/WebConfig.java index 97c5953..27cde3f 100644 --- a/device_cars/src/main/java/com/xr/device_car/config/common/WebConfig.java +++ b/device_cars/src/main/java/com/xr/device_car/config/common/WebConfig.java @@ -18,6 +18,7 @@ public class WebConfig implements WebMvcConfigurer { public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(loginInterceptor()) .addPathPatterns("/**").excludePathPatterns("/user/webLogin") - .excludePathPatterns("/user/login","/user/getUserByToken","/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**"); + .excludePathPatterns("/user/login","/user/getUserByToken","/deviceCamera/deviceCameraList","/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**", + "/dataAnalysisCamera/getComer"); } } \ No newline at end of file diff --git a/device_cars/src/main/java/com/xr/device_car/config/getconfigvalue/StaticProperties.java b/device_cars/src/main/java/com/xr/device_car/config/getconfigvalue/StaticProperties.java index 73239f7..36aba31 100644 --- a/device_cars/src/main/java/com/xr/device_car/config/getconfigvalue/StaticProperties.java +++ b/device_cars/src/main/java/com/xr/device_car/config/getconfigvalue/StaticProperties.java @@ -14,25 +14,4 @@ public class StaticProperties { @Value("${upLoad.url}") private String url; - @Value("${python.path}") - private String pythonPath; - - @Value("${python.modelPath}") - private String modelPath; - - @Value("${minio.url}") - private String minioUrl; - - @Value("${minio.accessKey}") - private String minioAccess; - - @Value("${minio.secretKey}") - private String minioSecret; - - @Value("${udp.server.host}") - private String udpHost; - - @Value("${udp.server.port}") - private Integer udpPort; - } diff --git a/device_cars/src/main/java/com/xr/device_car/config/utils/CodeGenUtil.java b/device_cars/src/main/java/com/xr/device_car/config/utils/CodeGenUtil.java index 4ac5cbc..9c8e7eb 100644 --- a/device_cars/src/main/java/com/xr/device_car/config/utils/CodeGenUtil.java +++ b/device_cars/src/main/java/com/xr/device_car/config/utils/CodeGenUtil.java @@ -30,7 +30,7 @@ public class CodeGenUtil { CodeGenUtil codeGenUtil = new CodeGenUtil(); boolean b = codeGenUtil.generateByTables(dataSourceConfig, "com.xr.device_car.modules.analysis", "gaoby", "device_cars", - "meter_initialization"); + "meter_reading"); System.out.println(b); } @@ -162,7 +162,7 @@ public class CodeGenUtil { * @return 数据源配置 DataSourceConfig */ private static DataSourceConfig getDataSourceConfig() { - String dbUrl = "jdbc:mysql://116.196.120.81:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false"; + String dbUrl = "jdbc:mysql://116.196.120.81:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false"; return new DataSourceConfig() .setDbType(DbType.MYSQL) .setUrl(dbUrl) 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 0a310fb..9ec0767 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 @@ -8,15 +8,9 @@ import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; -import java.net.Authenticator; -import java.net.PasswordAuthentication; import java.net.URL; import java.net.URLConnection; -import java.nio.file.Path; import java.util.Base64; -import java.util.Date; -import java.util.Random; -import java.util.UUID; public class Files { @@ -97,30 +91,6 @@ public class Files { BufferedImage bimg= ImageIO.read(is2); return bimg; } - public static BufferedImage urlByImages(String url,String username,String password) throws IOException { - BufferedImage bimg=null; - try { - // 设置身份验证 - Authenticator.setDefault(new Authenticator() { - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password.toCharArray()); - } - }); - - // 创建URL对象并打开连接 - URL uri = new URL(url); - URLConnection connection = uri.openConnection(); - - // 获取输入流 - InputStream inputStream = connection.getInputStream(); - bimg= ImageIO.read(inputStream); - // 关闭流 - inputStream.close(); - } catch (Exception e) { - e.printStackTrace(); - } - return bimg; - } public static BufferedImage urlByImage(String url) throws IOException { URL urlfile = new URL(url); @@ -293,35 +263,6 @@ public class Files { return StaticPropUtil.imageUrl+rqImg; } - public static File saveImageForPath(BufferedImage bufferedImage,String imgPath) throws Exception{ - File file =new File(imgPath); - if(!file.getParentFile().exists()){ - file.getParentFile().mkdirs(); - } - ImageIO.write(bufferedImage,"jpg",file); - return file; - } - - public static String multipartFileToPath(MultipartFile file) throws IOException { - String fileName = StaticPropUtil.imagePath+file.getName(); - File file1 = new File(fileName); - file.transferTo(file1); - fileName = fileName.replace("\\","\\\\"); - return fileName; - } - - public static String base64ToPath(String base64Image)throws IOException { - base64Image = base64Image.replaceFirst("data:image/[^;]+;base64,", ""); - byte[] imageBytes = Base64.getDecoder().decode(base64Image); - String fileName = StaticPropUtil.imagePath+ new Date().getTime()+ new Random().nextInt(9000)+1000+".png"; - File dest = new File(fileName); - try (FileOutputStream fos = new FileOutputStream(dest)) { - fos.write(imageBytes); - } - fileName = fileName.replace("\\","\\\\"); - return fileName; - - } diff --git a/device_cars/src/main/java/com/xr/device_car/config/utils/StaticPropUtil.java b/device_cars/src/main/java/com/xr/device_car/config/utils/StaticPropUtil.java index b138ba2..6392613 100644 --- a/device_cars/src/main/java/com/xr/device_car/config/utils/StaticPropUtil.java +++ b/device_cars/src/main/java/com/xr/device_car/config/utils/StaticPropUtil.java @@ -8,30 +8,9 @@ public class StaticPropUtil { public static String imageUrl; - public static String pythonPath; - - public static String modelPath; - - public static String minioUrl; - - public static String minioAccess; - - public static String minioSecret; - - public static String udpHost; - - public static Integer udpPort; - public static void initDingDingProp(StaticProperties dingProperties){ imagePath = dingProperties.getPath(); imageUrl = dingProperties.getUrl(); - pythonPath=dingProperties.getPythonPath(); - modelPath=dingProperties.getModelPath(); - minioUrl=dingProperties.getMinioUrl(); - minioAccess=dingProperties.getMinioAccess(); - minioSecret=dingProperties.getMinioSecret(); - udpHost=dingProperties.getUdpHost(); - udpPort=dingProperties.getUdpPort(); } } diff --git a/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/DeviceCameraController.java b/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/DeviceCameraController.java index 90df665..1fa145d 100644 --- a/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/DeviceCameraController.java +++ b/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/DeviceCameraController.java @@ -80,15 +80,6 @@ public class DeviceCameraController { if (StringUtils.isNotBlank(deviceCamera.getDeviceIp())) { wrapper.like("device_ip", deviceCamera.getDeviceIp()); } - // 算法类型 - if (StringUtils.isNotBlank(deviceCamera.getAlgorithmType()) && !deviceCamera.getAlgorithmType().equals("")){ - if (deviceCamera.getAlgorithmType().equals("3")){ - wrapper.in("device_type",3,4); - }else { - wrapper.in("device_type",1,2); - } - - } IPage deviceCameraList = deviceCameraService.page(pg, wrapper); System.out.println(deviceCameraList); return Result.OK(deviceCameraList); diff --git a/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/FocalLengthConfigController.java b/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/FocalLengthConfigController.java index 07c5922..c8ac05b 100644 --- a/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/FocalLengthConfigController.java +++ b/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/FocalLengthConfigController.java @@ -3,24 +3,22 @@ package com.xr.device_car.modules.analysis.controller; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.xr.device_car.config.common.Result; -import com.xr.device_car.config.utils.*; +import com.xr.device_car.config.utils.AdbUtil; +import com.xr.device_car.config.utils.Files; +import com.xr.device_car.config.utils.UserUtils; import com.xr.device_car.modules.analysis.entity.DeviceCamera; import com.xr.device_car.modules.analysis.entity.FocalLengthConfig; import com.xr.device_car.modules.analysis.entity.MeterConfig; -import com.xr.device_car.modules.analysis.entity.MeterType; import com.xr.device_car.modules.analysis.scheduled.TaskScheduler; import com.xr.device_car.modules.analysis.service.DeviceCameraService; import com.xr.device_car.modules.analysis.service.FocalLengthConfigService; import com.xr.device_car.modules.analysis.service.MeterConfigService; -import com.xr.device_car.modules.analysis.service.MeterTypeService; import com.xr.device_car.modules.system.entity.UserInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -44,9 +42,6 @@ public class FocalLengthConfigController { private MeterConfigService meterConfigService; @Autowired private DeviceCameraService deviceCameraService; - @Autowired - private MeterTypeService meterTypeService; - @Autowired private TaskScheduler taskScheduler; @@ -100,10 +95,8 @@ public class FocalLengthConfigController { String deviceType=""; if(device.getDeviceType().equals("1")){ deviceType="usb"; - }else if(device.getDeviceType().equals("2")){ - deviceType="mipi"; }else{ - return Result.OK("保存成功!"); + deviceType="mipi"; } file.createNewFile(); StringBuffer stringBuffer = new StringBuffer(); @@ -212,15 +205,14 @@ public class FocalLengthConfigController { @RequestMapping("/addFocalLength") public Result addFocalLength(FocalLengthConfig focalLengthConfig) throws Exception { UserInfo userInfo= UserUtils.currentUser(); - MeterConfig meterConfig=meterConfigService.getById(focalLengthConfig.getConfigId()); - DeviceCamera deviceCamera = deviceCameraService.getById(meterConfig.getCameraId()); - BufferedImage bufferedImage=null; - if(deviceCamera.getDeviceType().equals("1")|| deviceCamera.getDeviceType().equals("2")){ - bufferedImage= AdbUtil.getCamDevice(); - } - if(deviceCamera.getDeviceType().equals("3") || deviceCamera.getDeviceType().equals("4")){ // 拉取球机 - bufferedImage= HkComUtil.getBole(deviceCamera); - } +// MeterConfig meterConfig=meterConfigService.getById(focalLengthConfig.getConfigId()); +// DeviceCamera deviceCamera = deviceCameraService.getById(meterConfig.getCameraId()); + BufferedImage bufferedImage= AdbUtil.getCamDevice(); +// if(deviceCamera.getDeviceType().equals("1")){ +// bufferedImage=taskScheduler.getImgBySerial(deviceCamera); +// }else{ +// bufferedImage=taskScheduler.getImgByInternet(deviceCamera); +// } byte [] bytes= Files.bufferedImageToByte(bufferedImage); focalLengthConfig.setFocalPicture(bytes); focalLengthConfig.setCreateTime(new Date()); @@ -366,27 +358,4 @@ public class FocalLengthConfigController { return null; } - /** - * AI识别测试 - * Param file 截图文件 - * Param id 表计编号 - * */ - @RequestMapping("/testRecognition") - public Result testRecognition(@RequestParam("base64Image") String base64Image,@RequestParam("id") Integer id){ - Result result = new Result(); - String readValue= null; - try{ - MeterConfig meter = meterConfigService.getById(id); - MeterType type = meterTypeService.getById(meter.getTypeId()); -// String path = Files.multipartFileToPath(file); - String path = Files.base64ToPath(base64Image); - readValue = PythonExecutor.readNumber(id,path,type.getMeterShape()); - - }catch (Exception e){ - e.printStackTrace(); - return Result.error(e.getMessage()); - } - return result.OK(readValue); - } - } diff --git a/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/MeterConfigController.java b/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/MeterConfigController.java index a370df7..8fa99a6 100644 --- a/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/MeterConfigController.java +++ b/device_cars/src/main/java/com/xr/device_car/modules/analysis/controller/MeterConfigController.java @@ -6,14 +6,12 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xr.device_car.config.common.Result; -import com.xr.device_car.config.udp.UdbConfig; import com.xr.device_car.config.utils.*; import com.xr.device_car.modules.analysis.entity.*; import com.xr.device_car.modules.analysis.scheduled.TaskScheduler; import com.xr.device_car.modules.analysis.service.*; import com.xr.device_car.modules.analysis.vo.MeterMaxMinSaveVo; import com.xr.device_car.modules.system.entity.UserInfo; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -34,7 +32,6 @@ import java.util.List; @RestController @RequestMapping("analysis/meterConfig") -@RequiredArgsConstructor public class MeterConfigController { private final MeterConfigService meterConfigService; @@ -49,7 +46,17 @@ public class MeterConfigController { private final IScheduleSettingService scheduleSettingService; - private final UdpClientService udpClientService; + @Autowired + public MeterConfigController(MeterConfigService meterConfigService,DeviceCameraService deviceCameraService, + MeterTypeService meterTypeService,FocalLengthConfigService focalLengthConfigService, + TaskScheduler taskScheduler,IScheduleSettingService scheduleSettingService){ + this.meterConfigService=meterConfigService; + this.deviceCameraService=deviceCameraService; + this.meterTypeService=meterTypeService; + this.focalLengthConfigService=focalLengthConfigService; + this.taskScheduler=taskScheduler; + this.scheduleSettingService=scheduleSettingService; + } @RequestMapping("/getMeterConfigPage") public IPage getMeterConfigPage(MeterConfig meterConfig, HttpServletRequest req){ @@ -61,11 +68,8 @@ public class MeterConfigController { if(StringUtils.isNotEmpty(meterConfig.getDeviceType())){ query.like("a.device_type",meterConfig.getDeviceType()); } - if(StringUtils.isNotEmpty(meterConfig.getDeviceType())){ - query.like("a.device_type",meterConfig.getDeviceType()); - } - if(StringUtils.isNotEmpty(meterConfig.getAlgorithmType())){ - query.like("a.algorithm_type",meterConfig.getAlgorithmType()); + if(StringUtils.isNotEmpty(meterConfig.getDeviceName())){ + query.like("a.device_name",meterConfig.getDeviceName()); } if(StringUtils.isNotEmpty(meterConfig.getTypeId())){ query.eq("a.type_id",meterConfig.getTypeId()); @@ -253,20 +257,4 @@ public class MeterConfigController { } - //同步配置文件到udp主机 - @RequestMapping("/sendSynchronizationUdp") - public Result sendSynchronizationUdp(){ - try{ - QueryWrapper query=new QueryWrapper<>(); - query.eq("status",1); - List list = meterConfigService.list(query); - String sendMsg = UdbConfig.getUdbConfig(list); - udpClientService.sendData(sendMsg); - }catch (Exception e){ - e.printStackTrace(); - return Result.OK("同步失败!"); - } - return Result.OK("同步成功!"); - } - } diff --git a/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/DeviceCamera.java b/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/DeviceCamera.java index 32577bc..e42d303 100644 --- a/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/DeviceCamera.java +++ b/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/DeviceCamera.java @@ -37,7 +37,7 @@ public class DeviceCamera implements Serializable { private String deviceNo; /** - * 类型(1 usb 2 mipi 3 球机 4 枪机) + * 类型(1 usb 2 mipi) */ @ExcelProperty(value = "类型") private String deviceType; @@ -54,22 +54,6 @@ public class DeviceCamera implements Serializable { @ExcelProperty(value = "端口") private String devicePort; - /** - * 账号 - */ - private String account; - - /** - * 密码 - */ - private String password; - - private String x; - - private String y; - - private String z; - /** * 摄像头型号 */ @@ -140,9 +124,4 @@ public class DeviceCamera implements Serializable { @TableField(exist = false) private static final long serialVersionUID = 1L; - /** - * 算法类型 - */ - @TableField(exist = false) - private String algorithmType; } \ No newline at end of file diff --git a/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/MeterConfig.java b/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/MeterConfig.java index 5c8b1a4..fc6b77c 100644 --- a/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/MeterConfig.java +++ b/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/MeterConfig.java @@ -84,9 +84,9 @@ public class MeterConfig implements Serializable { private Date firstTime; /** - * 算法类型 1usb2mipi 3内部算法 + * 焦距类型 1定焦2变焦 */ - private String algorithmType; + private String focalLength; /** * 执行间隔时间 @@ -123,11 +123,6 @@ public class MeterConfig implements Serializable { */ private String remarks; - /** - * 初始化状态 - */ - private String initStatus; - /** * 创建人 */ @@ -181,7 +176,7 @@ public class MeterConfig implements Serializable { && (this.getTypeId() == null ? other.getTypeId() == null : this.getTypeId().equals(other.getTypeId())) && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) && (this.getFirstTime() == null ? other.getFirstTime() == null : this.getFirstTime().equals(other.getFirstTime())) - && (this.getAlgorithmType() == null ? other.getAlgorithmType() == null : this.getAlgorithmType().equals(other.getAlgorithmType())) + && (this.getFocalLength() == null ? other.getFocalLength() == null : this.getFocalLength().equals(other.getFocalLength())) && (this.getIntervalTime() == null ? other.getIntervalTime() == null : this.getIntervalTime().equals(other.getIntervalTime())) && (this.getFocalNumber() == null ? other.getFocalNumber() == null : this.getFocalNumber().equals(other.getFocalNumber())) && (this.getParameterConfig() == null ? other.getParameterConfig() == null : this.getParameterConfig().equals(other.getParameterConfig())) @@ -208,7 +203,7 @@ public class MeterConfig implements Serializable { result = prime * result + ((getTypeId() == null) ? 0 : getTypeId().hashCode()); result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); result = prime * result + ((getFirstTime() == null) ? 0 : getFirstTime().hashCode()); - result = prime * result + ((getAlgorithmType() == null) ? 0 : getAlgorithmType().hashCode()); + result = prime * result + ((getFocalLength() == null) ? 0 : getFocalLength().hashCode()); result = prime * result + ((getIntervalTime() == null) ? 0 : getIntervalTime().hashCode()); result = prime * result + ((getFocalNumber() == null) ? 0 : getFocalNumber().hashCode()); result = prime * result + ((getParameterConfig() == null) ? 0 : getParameterConfig().hashCode()); @@ -238,7 +233,7 @@ public class MeterConfig implements Serializable { sb.append(", typeId=").append(typeId); sb.append(", status=").append(status); sb.append(", firstTime=").append(firstTime); - sb.append(", algorithmType=").append(algorithmType); + sb.append(", focalLength=").append(focalLength); sb.append(", intervalTime=").append(intervalTime); sb.append(", focalNumber=").append(focalNumber); sb.append(", parameterConfig=").append(parameterConfig); diff --git a/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/MeterReadingRecord.java b/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/MeterReadingRecord.java index 727fd88..a8956b8 100644 --- a/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/MeterReadingRecord.java +++ b/device_cars/src/main/java/com/xr/device_car/modules/analysis/entity/MeterReadingRecord.java @@ -34,8 +34,6 @@ public class MeterReadingRecord implements Serializable { private String readingType; - - private String dataType; /** * 表计类型id */ diff --git a/device_cars/src/main/resources/application-dev.yml b/device_cars/src/main/resources/application-dev.yml index 6788324..7b8e680 100644 --- a/device_cars/src/main/resources/application-dev.yml +++ b/device_cars/src/main/resources/application-dev.yml @@ -19,7 +19,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://116.196.120.81:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://116.196.120.81:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 5ea47c0bdd7146ebbd53020eca@672307 #Hikari连接池配置 @@ -63,12 +63,9 @@ analysis: url: http://192.168.1.123:9000/vi/syncrec upLoad: - path: D:\\images\\images\\ + path: D:\\device_car\\analysis\\upload\\ url: http://localhost:85/upload/ - file: D:\\images\\images\\ -python: - path: C:\\Users\\admin\\Anaconda3\\envs\\myconda310\\python.exe - modelPath: D:\\smartGrid\\smartGrid\\models + netty: address: 192.168.3.20 port: 2404 @@ -83,12 +80,4 @@ eureka: healthcheck: enabled: true service-url: - defaultZone: http://localhost:8084/eureka -minio: - url: http://192.168.1.210:9000 - accessKey: minioadmin - secretKey: minioadmin -udp: - server: - host: localhost - port: 9300 \ No newline at end of file + defaultZone: http://localhost:8084/eureka \ No newline at end of file diff --git a/device_cars/src/main/resources/application-prod.yml b/device_cars/src/main/resources/application-prod.yml index c805c60..5b13550 100644 --- a/device_cars/src/main/resources/application-prod.yml +++ b/device_cars/src/main/resources/application-prod.yml @@ -19,7 +19,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://192.168.1.252:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://192.168.1.252:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 #Hikari连接池配置 @@ -65,22 +65,12 @@ analysis: upLoad: path: /home/project/upload url: http://192.168.1.252:85/upload/ -python: - path: C:\\Users\\admin\\Anaconda3\\envs\\myconda310\\python.exe - modelPath: D:\\smartGrid\\smartGrid\\models + netty: address: 192.168.1.252 port: 2405 data: pathUrl: http://192.168.1.252:8081/api/dataAnalysisCamera/getComer -udp: - server: - host: localhost - port: 9300 -minio: - url: http://192.168.1.210:9000 - accessKey: minioadmin - secretKey: minioadmin eureka: instance: instance-id: ${spring.cloud.client.ip-address}:${server.port} diff --git a/device_cars/src/main/resources/application-test.yml b/device_cars/src/main/resources/application-test.yml index 95a1939..6122d38 100644 --- a/device_cars/src/main/resources/application-test.yml +++ b/device_cars/src/main/resources/application-test.yml @@ -19,7 +19,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://localhost:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://localhost:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 #Hikari连接池配置 @@ -65,20 +65,10 @@ analysis: upLoad: path: D:\\device_car\\analysis\\upload\\ url: http://localhost:85/upload/ -python: - path: C:\\Users\\admin\\Anaconda3\\envs\\myconda310\\python.exe - modelPath: D:\\smartGrid\\smartGrid\\models + netty: address: 192.168.3.20 port: 2404 -minio: - url: http://192.168.1.210:9000 - accessKey: minioadmin - secretKey: minioadmin -udp: - server: - host: localhost - port: 9300 data: pathUrl: http://192.168.1.82:8081/api/dataAnalysisCamera/getComer #pathUrl: http://192.168.1.44:8081/api/dataAnalysisCamera/getComer diff --git a/device_cars/src/main/resources/application.yml b/device_cars/src/main/resources/application.yml index 8d7945b..bb73c76 100644 --- a/device_cars/src/main/resources/application.yml +++ b/device_cars/src/main/resources/application.yml @@ -79,4 +79,3 @@ hystrix: # 熔断器超时时间,默认:1000/毫秒 timeoutInMilliseconds: 20000 - diff --git a/device_cars/src/main/resources/modules/analysis/MeterConfigMapper.xml b/device_cars/src/main/resources/modules/analysis/MeterConfigMapper.xml index 8dc1a49..678e454 100644 --- a/device_cars/src/main/resources/modules/analysis/MeterConfigMapper.xml +++ b/device_cars/src/main/resources/modules/analysis/MeterConfigMapper.xml @@ -17,13 +17,12 @@ - + - @@ -39,14 +38,14 @@ a.identification_interval,a.device_name,a.device_type, a.meter_code,a.meter_name,a.camera_id, a.type_id,a.status,a.first_time, - a.algorithm_type,a.interval_time,a.focal_number, - a.parameter_config,a.remarks,a.init_status,a.create_user, + a.focal_length,a.interval_time,a.focal_number, + a.parameter_config,a.remarks,a.create_user, a.create_time,a.update_user,a.update_time, - select - b.device_type cameraType,b.position cameraName,c.type_alias,b.device_ip ip from meter_config a + b.device_type,b.position,c.type_alias,b.device_ip from meter_config a left join device_camera b on a.camera_id = b.id left join meter_type c on a.type_id=c.id ${ew.customSqlSegment} diff --git a/device_display/pom.xml b/device_display/pom.xml index 5a69753..6d6a2f7 100644 --- a/device_display/pom.xml +++ b/device_display/pom.xml @@ -145,7 +145,7 @@ joda-time joda-time - ${joda-time.version} + ${joda.time.version} cn.hutool diff --git a/device_display/src/main/java/com/xr/device_display/config/common/SecurityConfig.java b/device_display/src/main/java/com/xr/device_display/config/common/SecurityConfig.java index 5d86804..487b5b4 100644 --- a/device_display/src/main/java/com/xr/device_display/config/common/SecurityConfig.java +++ b/device_display/src/main/java/com/xr/device_display/config/common/SecurityConfig.java @@ -108,7 +108,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { // 过滤请求 .authorizeRequests() // 对于登录login 注册register 验证码captchaImage 允许匿名访问 - .antMatchers("/login", "/register", "/captchaImage","/getInfo","/dataAnalysisCamera/getDataAnalysisList","/meterBigScreen/**").permitAll() + .antMatchers("/login", "/register", "/captchaImage","/getInfo","/dataAnalysisCamera/getDataAnalysisList","/meterBigScreen/**","/meterReadingRecord/insertAnalogData1","/meterReadingRecord/insertAnalogData15").permitAll() // 静态资源,可匿名访问 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() diff --git a/device_display/src/main/java/com/xr/device_display/config/utils/CodeGenUtil.java b/device_display/src/main/java/com/xr/device_display/config/utils/CodeGenUtil.java index 2baf276..6c84fe6 100644 --- a/device_display/src/main/java/com/xr/device_display/config/utils/CodeGenUtil.java +++ b/device_display/src/main/java/com/xr/device_display/config/utils/CodeGenUtil.java @@ -32,7 +32,7 @@ public class CodeGenUtil { CodeGenUtil codeGenUtil = new CodeGenUtil(); boolean b = codeGenUtil.generateByTables(dataSourceConfig, "com.xr.device_display.modules.analysis", "gaoby", "device_display", - "lds5000"); + "reference_data"); System.out.println(b); } diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/controller/MeterReadingRecordController.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/controller/MeterReadingRecordController.java index 70a2b58..7cab5a2 100644 --- a/device_display/src/main/java/com/xr/device_display/modules/analysis/controller/MeterReadingRecordController.java +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/controller/MeterReadingRecordController.java @@ -62,5 +62,14 @@ public class MeterReadingRecordController extends BaseController { util.exportExcel(response, recordList, "历史数据"); } + @PostMapping(value = "/insertAnalogData1") + public void insertAnalogData1(){ + meterReadingRecordService.insertAnalogData1(); + } + @PostMapping(value = "/insertAnalogData15") + public void insertAnalogData15(){ + meterReadingRecordService.insertAnalogData15(); + } + } diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/controller/ReferenceDataController.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/controller/ReferenceDataController.java new file mode 100644 index 0000000..6911e3b --- /dev/null +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/controller/ReferenceDataController.java @@ -0,0 +1,21 @@ +package com.xr.device_display.modules.analysis.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 前端控制器 + *

+ * + * @author gaoby + * @since 2024-01-29 + */ +@RestController +@RequestMapping("/reference-data") +public class ReferenceDataController { + +} + diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/MeterConfig.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/MeterConfig.java index be41a49..585760c 100644 --- a/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/MeterConfig.java +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/MeterConfig.java @@ -105,6 +105,9 @@ public class MeterConfig implements Serializable { @TableField(exist = false) private String deviceIp; + @TableField(exist = false) + private String readingValue; + /** * 状态(0停用1启用) diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/MeterReadingRecord.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/MeterReadingRecord.java index dab66de..971d68f 100644 --- a/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/MeterReadingRecord.java +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/MeterReadingRecord.java @@ -80,7 +80,7 @@ public class MeterReadingRecord implements Serializable { * 电压等级 */ @TableField(exist = false) - @Excel(name = "电压等级") +// @Excel(name = "电压等级") private String voltageClass; /** @@ -102,7 +102,7 @@ public class MeterReadingRecord implements Serializable { /** * 读数类型 */ - @Excel(name = "读数类型") +// @Excel(name = "读数类型") private Integer readingType; /** diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/ReferenceData.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/ReferenceData.java new file mode 100644 index 0000000..44ffbf6 --- /dev/null +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/entity/ReferenceData.java @@ -0,0 +1,50 @@ +package com.xr.device_display.modules.analysis.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * + *

+ * + * @author gaoby + * @since 2024-01-29 + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class ReferenceData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 表计id + */ + private Integer meterId; + + /** + * 表计类型id + */ + private Integer meterTypeId; + + /** + * 表计类型名称 + */ + private String meterTypeName; + + /** + * 读数值 + */ + private String readingValue; + + +} diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/mapper/MeterConfigMapper.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/mapper/MeterConfigMapper.java index fcd7ca6..0133282 100644 --- a/device_display/src/main/java/com/xr/device_display/modules/analysis/mapper/MeterConfigMapper.java +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/mapper/MeterConfigMapper.java @@ -23,4 +23,6 @@ public interface MeterConfigMapper extends BaseMapper { List getMeterConfigPage(@Param("vo") MeterConfigQueryVo vo); + List getMeterMessage(); + } diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/mapper/ReferenceDataMapper.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/mapper/ReferenceDataMapper.java new file mode 100644 index 0000000..604ef3e --- /dev/null +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/mapper/ReferenceDataMapper.java @@ -0,0 +1,16 @@ +package com.xr.device_display.modules.analysis.mapper; + +import com.xr.device_display.modules.analysis.entity.ReferenceData; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author gaoby + * @since 2024-01-29 + */ +public interface ReferenceDataMapper extends BaseMapper { + +} diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/service/IMeterReadingRecordService.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/service/IMeterReadingRecordService.java index 8da3242..83d69b6 100644 --- a/device_display/src/main/java/com/xr/device_display/modules/analysis/service/IMeterReadingRecordService.java +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/service/IMeterReadingRecordService.java @@ -26,4 +26,10 @@ public interface IMeterReadingRecordService extends IService List getPresentReadingPage(MeterReadingRecordQueryVo vo); AjaxResult getSevenDaysReading(MeterReadingRecordQueryVo vo); + + void insertAnalogData1(); + + void insertAnalogData15(); + + } diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/service/IReferenceDataService.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/service/IReferenceDataService.java new file mode 100644 index 0000000..a8539b2 --- /dev/null +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/service/IReferenceDataService.java @@ -0,0 +1,16 @@ +package com.xr.device_display.modules.analysis.service; + +import com.xr.device_display.modules.analysis.entity.ReferenceData; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author gaoby + * @since 2024-01-29 + */ +public interface IReferenceDataService extends IService { + +} diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/service/impl/MeterReadingRecordServiceImpl.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/service/impl/MeterReadingRecordServiceImpl.java index b24ae06..92d07b7 100644 --- a/device_display/src/main/java/com/xr/device_display/modules/analysis/service/impl/MeterReadingRecordServiceImpl.java +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/service/impl/MeterReadingRecordServiceImpl.java @@ -10,24 +10,19 @@ import com.github.pagehelper.PageHelper; import com.xr.device_display.config.common.AjaxResult; import com.xr.device_display.config.utils.StringUtils; import com.xr.device_display.modules.analysis.dto.PresentReadingQueryDto; -import com.xr.device_display.modules.analysis.entity.Lds5000; -import com.xr.device_display.modules.analysis.entity.MeterAbnormalRecord; -import com.xr.device_display.modules.analysis.entity.MeterConfig; -import com.xr.device_display.modules.analysis.entity.MeterReadingRecord; +import com.xr.device_display.modules.analysis.entity.*; import com.xr.device_display.modules.analysis.mapper.MeterAbnormalRecordMapper; +import com.xr.device_display.modules.analysis.mapper.MeterConfigMapper; import com.xr.device_display.modules.analysis.mapper.MeterReadingRecordMapper; -import com.xr.device_display.modules.analysis.service.ILds5000Service; -import com.xr.device_display.modules.analysis.service.IMeterAbnormalRecordService; -import com.xr.device_display.modules.analysis.service.IMeterConfigService; -import com.xr.device_display.modules.analysis.service.IMeterReadingRecordService; +import com.xr.device_display.modules.analysis.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xr.device_display.modules.analysis.vo.MeterReadingRecordQueryVo; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.ZoneId; +import java.time.*; import java.util.*; import java.util.stream.Collectors; @@ -58,6 +53,15 @@ public class MeterReadingRecordServiceImpl extends ServiceImpl getMeterReadingRecordList(MeterReadingRecordQueryVo vo) { if (CollUtil.isNotEmpty(vo.getAllTime())) { @@ -121,14 +125,12 @@ public class MeterReadingRecordServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(MeterReadingRecord::getMeterCode, meterCode); - lambdaQueryWrapper.between(MeterReadingRecord::getReadingTime, sevenDaysAgo, nextDay); + lambdaQueryWrapper.between(MeterReadingRecord::getReadingTime, sevenDaysAgo, currentDate); lambdaQueryWrapper.orderByAsc(MeterReadingRecord::getReadingTime); // 查询记录 @@ -173,6 +175,165 @@ public class MeterReadingRecordServiceImpl extends ServiceImpl> getMeterMessage() { + // 从表计类型表获取所有在启用的表计类型 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(MeterType::getStatus, 1); + List meterTypeList = meterTypeService.list(queryWrapper); + Map typeMap = meterTypeList.stream().collect(Collectors.toMap(MeterType::getId, MeterType::getTypeAlias)); +// List typeIdList = meterTypeList.stream().map(MeterType::getId).collect(Collectors.toList()); + // 获取表计信息 + List configList = meterConfigMapper.getMeterMessage(); + // 将表计根据类型分组 + Map> idMeterConfigMap = new HashMap<>(); + typeMap.forEach((k, v) -> { + List typeMeterConfig = new ArrayList<>(); + configList.forEach(config -> { + if (config.getTypeId().equals(k)) { + config.setMeterTypeName(v); + typeMeterConfig.add(config); + } + }); + idMeterConfigMap.put(k, typeMeterConfig); + }); + return idMeterConfigMap; + } + + private Map readingMap(){ + List referenceDataList = referenceDataService.list(); + Map readingMap = referenceDataList.stream().collect(Collectors.toMap(ReferenceData::getMeterId, ReferenceData::getReadingValue)); + return readingMap; + } + + // 插入模拟数据 一天一条 + @Override + @Transactional + public void insertAnalogData1() { + Map> idMeterConfigMap = getMeterMessage(); +// Map readingMap = readingMap(); + // 获取所有参考数据 + // 设置起始日期为 2023年10月25日 + LocalDate startDate = LocalDate.of(2023, 10, 25); + // 设置结束日期为 2024年1月14日 + LocalDate endDate = LocalDate.of(2024, 1, 14); + // 批量插入数据 + while (!startDate.isAfter(endDate)) { + LocalDate finalStartDate = startDate; + List records = idMeterConfigMap.values().stream() + .filter(Objects::nonNull) + .flatMap(List::stream) + .map(meterConfig -> { + MeterReadingRecord meterReadingRecord = new MeterReadingRecord(); + meterReadingRecord.setMeterId(meterConfig.getId()); + meterReadingRecord.setMeterCode(meterConfig.getMeterCode()); + meterReadingRecord.setMeterTypeId(meterConfig.getTypeId()); + meterReadingRecord.setMeterTypeName(meterConfig.getMeterTypeName()); + meterReadingRecord.setOwningInterval(meterConfig.getOwningInterval()); + meterReadingRecord.setReadingType(2); + meterReadingRecord.setCreateUser("SYSTEM"); + // 设置每天的日期和时分秒 + LocalDateTime createTime = LocalDateTime.of(finalStartDate, LocalTime.of(23, 45, 57)); + meterReadingRecord.setCreateTime(createTime); + Date readingTime = Date.from(createTime.atZone(ZoneId.systemDefault()).toInstant()); + meterReadingRecord.setReadingTime(readingTime); +// getLatestReading(meterConfig.getId()) + meterReadingRecord.setReadingValue(meterConfig.getReadingValue()); + return meterReadingRecord; + }) + .collect(Collectors.toList()); + saveBatch(records); + // 递增日期,准备下一轮循环 + startDate = startDate.plusDays(1); + } + } + + // 插入模拟数据15分钟一条 + @Transactional + public void insertAnalogData15() { + Map> idMeterConfigMap = getMeterMessage(); +// Map readingMap = readingMap(); + // 设置起始日期 + LocalDate startDate = LocalDate.of(2024, 1, 15); + // 设置结束日期 + LocalDate endDate = LocalDate.of(2024, 1, 29); + // 设置每隔15分钟插入一条记录 + Duration duration = Duration.ofMinutes(15); + + LocalDateTime currentTime = LocalDateTime.of(startDate, LocalTime.of(7, 32, 57)); + + // 批量插入数据 + while (!currentTime.isAfter(LocalDateTime.of(endDate, LocalTime.of(7, 32, 57)))) { + LocalDate finalStartDate = startDate; + + LocalDateTime finalCurrentTime = currentTime; + idMeterConfigMap.forEach((key, value) -> { + if (value != null) { + List meterConfigs = value; + List records = meterConfigs.stream() + .map(meterConfig -> { + MeterReadingRecord meterReadingRecord = new MeterReadingRecord(); + meterReadingRecord.setMeterId(meterConfig.getId()); + meterReadingRecord.setMeterCode(meterConfig.getMeterCode()); + meterReadingRecord.setMeterTypeId(meterConfig.getTypeId()); + meterReadingRecord.setMeterTypeName(meterConfig.getMeterTypeName()); + meterReadingRecord.setOwningInterval(meterConfig.getOwningInterval()); + meterReadingRecord.setReadingType(2); + meterReadingRecord.setCreateUser("SYSTEM"); + + // 设置每隔15分钟的日期和时分秒 + LocalDateTime createTime = finalCurrentTime.plus(duration); + + meterReadingRecord.setCreateTime(createTime); + + Date readingTime = Date.from(createTime.atZone(ZoneId.systemDefault()).toInstant()); + meterReadingRecord.setReadingTime(readingTime); + meterReadingRecord.setReadingValue(meterConfig.getReadingValue()); + return meterReadingRecord; + }) + .collect(Collectors.toList()); + // 执行批量插入操作 + saveBatch(records); + } + }); + // 增加15分钟 + currentTime = currentTime.plus(duration); + } + } + + // 定时插入模拟数据15分钟一条 + @Scheduled(fixedRate = 900000) + public void timedInsertionAnalogData15() { + Map> idMeterConfigMap = getMeterMessage(); +// Map readingMap = readingMap(); + List records = new ArrayList<>(); + idMeterConfigMap.forEach((key, value) -> { + if (value != null) { + List meterConfigs = value; + meterConfigs.forEach(meterConfig -> { + MeterReadingRecord meterReadingRecord = new MeterReadingRecord(); + meterReadingRecord.setMeterId(meterConfig.getId()); + meterReadingRecord.setMeterCode(meterConfig.getMeterCode()); + meterReadingRecord.setMeterTypeId(meterConfig.getTypeId()); + meterReadingRecord.setMeterTypeName(meterConfig.getMeterTypeName()); + meterReadingRecord.setOwningInterval(meterConfig.getOwningInterval()); + meterReadingRecord.setReadingType(2); + meterReadingRecord.setCreateUser("SYSTEM"); + // 设置每隔15分钟的日期和时分秒 + LocalDateTime createTime = LocalDateTime.now(); + Date readingTime = Date.from(createTime.atZone(ZoneId.systemDefault()).toInstant()); + + meterReadingRecord.setCreateTime(createTime); + meterReadingRecord.setReadingTime(readingTime); + meterReadingRecord.setReadingValue(meterConfig.getReadingValue()); + // 添加到批量插入的列表 + records.add(meterReadingRecord); + }); + } + }); + + // 执行批量插入操作 + saveBatch(records); + } private LocalDate dateToLocalDate(Date date) { diff --git a/device_display/src/main/java/com/xr/device_display/modules/analysis/service/impl/ReferenceDataServiceImpl.java b/device_display/src/main/java/com/xr/device_display/modules/analysis/service/impl/ReferenceDataServiceImpl.java new file mode 100644 index 0000000..20166b6 --- /dev/null +++ b/device_display/src/main/java/com/xr/device_display/modules/analysis/service/impl/ReferenceDataServiceImpl.java @@ -0,0 +1,20 @@ +package com.xr.device_display.modules.analysis.service.impl; + +import com.xr.device_display.modules.analysis.entity.ReferenceData; +import com.xr.device_display.modules.analysis.mapper.ReferenceDataMapper; +import com.xr.device_display.modules.analysis.service.IReferenceDataService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author gaoby + * @since 2024-01-29 + */ +@Service +public class ReferenceDataServiceImpl extends ServiceImpl implements IReferenceDataService { + +} diff --git a/device_display/src/main/resources/application-prod.yml b/device_display/src/main/resources/application-prod.yml index 4eaa6a9..d802569 100644 --- a/device_display/src/main/resources/application-prod.yml +++ b/device_display/src/main/resources/application-prod.yml @@ -19,7 +19,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://192.168.1.252:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://192.168.1.252:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 #Hikari连接池配置 diff --git a/device_display/src/main/resources/application-test.yml b/device_display/src/main/resources/application-test.yml index 220f551..dcb0e59 100644 --- a/device_display/src/main/resources/application-test.yml +++ b/device_display/src/main/resources/application-test.yml @@ -19,7 +19,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://localhost:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://localhost:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 #Hikari连接池配置 diff --git a/device_display/src/main/resources/application.yml b/device_display/src/main/resources/application.yml index 9c44951..8bb9aaf 100644 --- a/device_display/src/main/resources/application.yml +++ b/device_display/src/main/resources/application.yml @@ -22,8 +22,8 @@ spring: basename: i18n/messages profiles: # active: prod #开发环境 - active: dev #测试环境5 - #active: prod #生产环境 +# active: dev #测试环境5 + active: prod #生产环境 # active: prod #生产环境 application: name: deviceDisplay diff --git a/device_display/src/main/resources/modules/analysis/MeterConfigMapper.xml b/device_display/src/main/resources/modules/analysis/MeterConfigMapper.xml index 4526b77..0e8fe5b 100644 --- a/device_display/src/main/resources/modules/analysis/MeterConfigMapper.xml +++ b/device_display/src/main/resources/modules/analysis/MeterConfigMapper.xml @@ -4,69 +4,77 @@ - + - - - - + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/device_display/src/main/resources/modules/analysis/ReferenceDataMapper.xml b/device_display/src/main/resources/modules/analysis/ReferenceDataMapper.xml new file mode 100644 index 0000000..32f0c49 --- /dev/null +++ b/device_display/src/main/resources/modules/analysis/ReferenceDataMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/device_iec104/src/main/java/com/xr/iec104Server/iec104/server/SysDataHandler.java b/device_iec104/src/main/java/com/xr/iec104Server/iec104/server/SysDataHandler.java index 1b6f46a..1e80e6f 100644 --- a/device_iec104/src/main/java/com/xr/iec104Server/iec104/server/SysDataHandler.java +++ b/device_iec104/src/main/java/com/xr/iec104Server/iec104/server/SysDataHandler.java @@ -50,7 +50,7 @@ public class SysDataHandler implements DataHandler { //回复总召唤确认 System.out.print("响应总召唤指令:"); ctx.writeAndFlush(BasicInstruction104.getYesGeneralCallRuleDetail104()); - Thread.sleep(1000); + Thread.sleep(3000); //发送总召唤数据 QueryWrapper query=new QueryWrapper<>(); query.eq("device_id", StaticPropUtil.deviceId); @@ -65,7 +65,7 @@ public class SysDataHandler implements DataHandler { //发送结束总召唤指令 System.out.print("总召唤遥测数据:"); ctx.writeAndFlush(detail); - Thread.sleep(1000); + Thread.sleep(3000); //发送结束总召唤指令 System.out.print("总召唤结束指令:"); ctx.writeAndFlush(BasicInstruction104.getEndGeneralCallRuleDetail104()); diff --git a/device_iec104/src/main/resources/application-dev.yml b/device_iec104/src/main/resources/application-dev.yml index 2407832..27b1d51 100644 --- a/device_iec104/src/main/resources/application-dev.yml +++ b/device_iec104/src/main/resources/application-dev.yml @@ -17,7 +17,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://116.196.120.81:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://116.196.120.81:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 5ea47c0bdd7146ebbd53020eca@672307 db3: diff --git a/device_iec104/src/main/resources/application-prod.yml b/device_iec104/src/main/resources/application-prod.yml index 13e7eaf..2dee5aa 100644 --- a/device_iec104/src/main/resources/application-prod.yml +++ b/device_iec104/src/main/resources/application-prod.yml @@ -17,7 +17,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://localhost:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://localhost:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root db3: diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/Iec61850ClentApplication.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/Iec61850ClentApplication.java index 242f3a8..5cc4435 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/Iec61850ClentApplication.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/Iec61850ClentApplication.java @@ -30,7 +30,7 @@ public class Iec61850ClentApplication implements CommandLineRunner { @Override @Async public void run(String[] args){ - Iec61850clent iec61850clent=new Iec61850clent(args,"192.168.1.83",102); + Iec61850clent iec61850clent=new Iec61850clent(args,"192.168.1.137",102); executor.execute(iec61850clent); // Iec61850clent iec61850clent1=new Iec61850clent(args,"192.168.1.138",102); // executor.submit(iec61850clent1); diff --git a/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/ModeUtil.java b/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/ModeUtil.java index dffddc3..146fbec 100644 --- a/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/ModeUtil.java +++ b/device_iec61850clent/src/main/java/com/xr/iec61850clent/common/util/ModeUtil.java @@ -2,7 +2,6 @@ package com.xr.iec61850clent.common.util; import com.beanit.iec61850bean.FcModelNode; import com.beanit.iec61850bean.ModelNode; -import com.xr.iec61850clent.models.entity.ExcelConfig; import com.xr.iec61850clent.models.entity.Lds5000; import java.io.ByteArrayOutputStream; @@ -16,9 +15,8 @@ public class ModeUtil { public static Lds5000 getLdsVlue(String ip,FcModelNode node){ SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); - ExcelConfig eunm = IEC61850Config.getExcelConfig(ip,node.getReference().toString()); Lds5000 lds5000=null; -// Iec61850Eunm eunm=Iec61850Eunm.getIec61850EunmByIp(ip,node.getReference().toString()); + Iec61850Eunm eunm=Iec61850Eunm.getIec61850EunmByIp(ip,node.getReference().toString()); if(eunm!=null){ lds5000=new Lds5000(); if(eunm.getDevice().equals("一体化电源")){ diff --git a/device_iec61850clent/src/main/resources/application-dev.yml b/device_iec61850clent/src/main/resources/application-dev.yml index ba5a3aa..b583439 100644 --- a/device_iec61850clent/src/main/resources/application-dev.yml +++ b/device_iec61850clent/src/main/resources/application-dev.yml @@ -17,7 +17,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://116.196.120.81:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://116.196.120.81:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 5ea47c0bdd7146ebbd53020eca@672307 db3: diff --git a/device_iec61850clent/src/main/resources/application-prod.yml b/device_iec61850clent/src/main/resources/application-prod.yml index 04106c4..97dcbc0 100644 --- a/device_iec61850clent/src/main/resources/application-prod.yml +++ b/device_iec61850clent/src/main/resources/application-prod.yml @@ -11,19 +11,19 @@ spring: db1: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://192.168.1.93:3306/device_system?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://192.168.1.252:3306/device_system?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://192.168.1.93:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://192.168.1.252:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 db3: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://192.168.1.93:3306/modbusrtu?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://192.168.1.252:3306/modbusrtu?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 # db1: diff --git a/device_iec61850clent/src/main/resources/application-test.yml b/device_iec61850clent/src/main/resources/application-test.yml index 8b01f66..a228d0b 100644 --- a/device_iec61850clent/src/main/resources/application-test.yml +++ b/device_iec61850clent/src/main/resources/application-test.yml @@ -17,7 +17,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://localhost:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://localhost:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 db3: diff --git a/device_iec61850clent/src/main/resources/application.yml b/device_iec61850clent/src/main/resources/application.yml index 81334fe..d378267 100644 --- a/device_iec61850clent/src/main/resources/application.yml +++ b/device_iec61850clent/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: prod #开发环境 + active: dev #开发环境 # active: test #测试环境5 #active: prod #生产环境 # active: prod #生产环境 diff --git a/device_iec61850server/src/main/resources/application-dev.yml b/device_iec61850server/src/main/resources/application-dev.yml index f89e542..707da92 100644 --- a/device_iec61850server/src/main/resources/application-dev.yml +++ b/device_iec61850server/src/main/resources/application-dev.yml @@ -17,7 +17,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://116.196.120.81:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://116.196.120.81:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 5ea47c0bdd7146ebbd53020eca@672307 db3: diff --git a/device_iec61850server/src/main/resources/application-prod.yml b/device_iec61850server/src/main/resources/application-prod.yml index 4d4823f..6526d9b 100644 --- a/device_iec61850server/src/main/resources/application-prod.yml +++ b/device_iec61850server/src/main/resources/application-prod.yml @@ -17,7 +17,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://localhost:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://localhost:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root db3: diff --git a/device_iec61850server/src/main/resources/application-test.yml b/device_iec61850server/src/main/resources/application-test.yml index 6131f1b..9b3b647 100644 --- a/device_iec61850server/src/main/resources/application-test.yml +++ b/device_iec61850server/src/main/resources/application-test.yml @@ -17,7 +17,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://localhost:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://localhost:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 db3: diff --git a/device_iec61850server/src/main/resources/application.yml b/device_iec61850server/src/main/resources/application.yml index 2e5c686..a9dade4 100644 --- a/device_iec61850server/src/main/resources/application.yml +++ b/device_iec61850server/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: dev #开发环境 + active: test #开发环境 # active: test #测试环境5 #active: prod #生产环境 # active: prod #生产环境 diff --git a/device_modbus/src/main/java/com/xr/clent/tool/ModbusUtils.java b/device_modbus/src/main/java/com/xr/clent/tool/ModbusUtils.java index a1d923f..7c615a4 100644 --- a/device_modbus/src/main/java/com/xr/clent/tool/ModbusUtils.java +++ b/device_modbus/src/main/java/com/xr/clent/tool/ModbusUtils.java @@ -215,7 +215,7 @@ public class ModbusUtils { public static void main(String[] args) { try{ - ModbusMaster modbusMaster= ModbusUtils.getMaster("192.168.1.37",1502); + ModbusMaster modbusMaster= ModbusUtils.getMaster("192.168.1.84",1502); while (true){ Number n = ModbusUtils.readHoldingRegister(modbusMaster, 1, 0, 4); System.out.println(n); diff --git a/device_modbus/src/main/resources/application-dev.yml b/device_modbus/src/main/resources/application-dev.yml index 2d0f3c0..f1dc8dc 100644 --- a/device_modbus/src/main/resources/application-dev.yml +++ b/device_modbus/src/main/resources/application-dev.yml @@ -19,7 +19,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://116.196.120.81:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://116.196.120.81:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 5ea47c0bdd7146ebbd53020eca@672307 db3: diff --git a/device_modbus/src/main/resources/application-prod.yml b/device_modbus/src/main/resources/application-prod.yml index 7c32753..218219e 100644 --- a/device_modbus/src/main/resources/application-prod.yml +++ b/device_modbus/src/main/resources/application-prod.yml @@ -19,7 +19,7 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://localhost:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://localhost:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root db3: diff --git a/device_udpclent/pom.xml b/device_udpclent/pom.xml index 73f3db6..d8a296a 100644 --- a/device_udpclent/pom.xml +++ b/device_udpclent/pom.xml @@ -96,39 +96,10 @@ org.springframework.boot spring-boot-starter-data-redis
- - - - - - - - - - - - - - - org.apache.httpcomponents - httpclient - 4.5 - - - org.apache.httpcomponents - httpmime - 4.5 - - - org.apache.httpcomponents - httpcore - 4.4.1 - - - org.dom4j - dom4j - 2.1.3 + io.netty + netty-all + 4.1.65.Final @@ -141,13 +112,6 @@ **/* - - ${basedir}/src/main/resources - BOOT-INF/lib/ - - **/*.jar - - diff --git a/device_udpclent/src/main/java/com/xr/device_udpclent/DeviceUdpclentApplication.java b/device_udpclent/src/main/java/com/xr/device_udpclent/DeviceUdpclentApplication.java index 574f2ed..2e65a0c 100644 --- a/device_udpclent/src/main/java/com/xr/device_udpclent/DeviceUdpclentApplication.java +++ b/device_udpclent/src/main/java/com/xr/device_udpclent/DeviceUdpclentApplication.java @@ -5,11 +5,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableAsync//开启异步 -@EnableScheduling//开启定时任务 @EnableDiscoveryClient @EnableFeignClients public class DeviceUdpclentApplication { diff --git a/device_udpclent/src/main/java/com/xr/device_udpclent/models/service/impl/UdpClientServiceImpl.java b/device_udpclent/src/main/java/com/xr/device_udpclent/models/service/impl/UdpClientServiceImpl.java index 9b4ac2e..8023167 100644 --- a/device_udpclent/src/main/java/com/xr/device_udpclent/models/service/impl/UdpClientServiceImpl.java +++ b/device_udpclent/src/main/java/com/xr/device_udpclent/models/service/impl/UdpClientServiceImpl.java @@ -1,7 +1,5 @@ package com.xr.device_udpclent.models.service.impl; -import com.xr.device_udpclent.models.entity.SendUdpLog; -import com.xr.device_udpclent.models.service.SendUdpLogService; import com.xr.device_udpclent.models.service.UdpClientService; import io.netty.buffer.Unpooled; import io.netty.channel.socket.DatagramChannel; @@ -11,7 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.net.InetSocketAddress; -import java.util.Date; @Service public class UdpClientServiceImpl implements UdpClientService { @@ -22,25 +19,13 @@ public class UdpClientServiceImpl implements UdpClientService { @Autowired private InetSocketAddress udpServerAddress; - @Autowired - private SendUdpLogService sendUdpLogService; - @Override public void sendData(String data) { - SendUdpLog sendUdbLog=new SendUdpLog(); - sendUdbLog.setRequestMsg(data); - sendUdbLog.setRequestTime(new Date()); - sendUdbLog.setMessageId(data.split("\t")[0]); try { udpChannel.writeAndFlush(new DatagramPacket( Unpooled.copiedBuffer(data, CharsetUtil.UTF_8), udpServerAddress)).sync(); - sendUdbLog.setRequestStatus("0"); } catch (Exception e) { - sendUdbLog.setRequestStatus("1"); - sendUdbLog.setResMsg(e.getMessage()); - sendUdbLog.setResTime(new Date()); e.printStackTrace(); } - sendUdpLogService.save(sendUdbLog); } } diff --git a/device_udpclent/src/main/resources/application-dev.yml b/device_udpclent/src/main/resources/application-dev.yml index 0e4a957..0b29f6c 100644 --- a/device_udpclent/src/main/resources/application-dev.yml +++ b/device_udpclent/src/main/resources/application-dev.yml @@ -17,7 +17,13 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://116.196.120.81:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://116.196.120.81:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + username: root + password: 5ea47c0bdd7146ebbd53020eca@672307 + db3: + driver-class-name: com.mysql.cj.jdbc.Driver + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:mysql://116.196.120.81:3306/modbusrtu?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 5ea47c0bdd7146ebbd53020eca@672307 #Hikari连接池配置 @@ -43,32 +49,20 @@ spring: timeout-seconds: 1000 config: enabled: false - stream: - kafka: - binder: - brokers: localhost:9092 #Kafka的消息中间件服务器 - zk-nodes: localhost:2181 #Zookeeper的节点,如果集群,后面加,号分隔 - auto-create-topics: false #如果设置为false,就不会自动创建Topic 有可能你Topic还没创建就直接调用了。 -# kafka: -# bootstrap-servers: localhost:9092 -# consumer: -# group-id: ai-consumer-group -#kafka: -# topic: ai-topic -# # redis 相关 -# redis: -# host: ${REDIS_URL:localhost} -# port: ${REDIS_PORT:6379} -# password: ${REDIS_PWD:111111} -# timeout: 10000 -# jedis: -# pool: -# max-active: 1000 -# max-wait: -1ms -# max-idle: 10 -# min-idle: 5 + # redis 相关 + redis: + host: ${REDIS_URL:localhost} + port: ${REDIS_PORT:6379} + password: ${REDIS_PWD:111111} + timeout: 10000 + jedis: + pool: + max-active: 1000 + max-wait: -1ms + max-idle: 10 + min-idle: 5 mybatis-plus: - mapper-locations: classpath:mapper/*Mapper.xml + mapper-locations: classpath:mappers/**/*Mapper.xml type-aliases-package: com.xr.device_udpclent # 在查询语句的是否,对Map或者是entity进行映射赋值的时候null也进行映射。默认false,不进行映射 configuration: @@ -90,12 +84,6 @@ udp: server: host: localhost port: 9300 -upLoad: - path: D:\\images\\images\\ - url: http://localhost:85/upload/ -python: - path: C:\\Users\\admin\\Anaconda3\\envs\\myconda310\\python.exe - modelPath: D:\\smartGrid\\smartGrid\\models eureka: instance: instance-id: ${spring.cloud.client.ip-address}:${server.port} diff --git a/device_udpclent/src/main/resources/application-prod.yml b/device_udpclent/src/main/resources/application-prod.yml index bfe21b6..040f806 100644 --- a/device_udpclent/src/main/resources/application-prod.yml +++ b/device_udpclent/src/main/resources/application-prod.yml @@ -17,7 +17,13 @@ spring: db2: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://192.168.1.252:3306/image_analysis_zs?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + url: jdbc:mysql://192.168.1.252:3306/image_analysis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false + username: root + password: 123456 + db3: + driver-class-name: com.mysql.cj.jdbc.Driver + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:mysql://192.168.1.252:3306/modbusrtu?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: 123456 #Hikari连接池配置 @@ -56,7 +62,7 @@ spring: max-idle: 10 min-idle: 5 mybatis-plus: - mapper-locations: classpath:mapper/*Mapper.xml + mapper-locations: classpath:mappers/*Mapper.xml type-aliases-package: com.xr.device_udpclent # 在查询语句的是否,对Map或者是entity进行映射赋值的时候null也进行映射。默认false,不进行映射 configuration: @@ -74,16 +80,7 @@ logging: boot: autoconfigure: logging: debug -udp: - server: - host: localhost - port: 9300 -python: - path: C:\\Users\\admin\\Anaconda3\\envs\\myconda310\\python.exe - modelPath: D:\\smartGrid\\smartGrid\\models -upLoad: - path: D:\\images\\images\\ - url: http://localhost:85/upload/ + eureka: instance: instance-id: ${spring.cloud.client.ip-address}:${server.port} diff --git a/device_udpclent/src/main/resources/application.yml b/device_udpclent/src/main/resources/application.yml index 9297701..7f6d0a6 100644 --- a/device_udpclent/src/main/resources/application.yml +++ b/device_udpclent/src/main/resources/application.yml @@ -5,6 +5,19 @@ spring: #active: prod #生产环境 application: name: deviceUdpClent +mybatis-plus: + mapper-locations: classpath:mappers/*Mapper.xml + type-aliases-package: com.xr.udpclent + # 在查询语句的是否,对Map或者是entity进行映射赋值的时候null也进行映射。默认false,不进行映射 + configuration: + map-underscore-to-camel-case: true + call-setters-on-nulls: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + # 设置更新或者修改的时候的策略,不进行校验,否则如果是null则不会进行更新或者插入,当然在@TableField注解进行指定单个字段 + global-config: + db-config: + insert-strategy: ignored + update-strategy: ignored logging: org: springframework: diff --git a/device_udpserver/src/main/java/com/xr/device_udpserver/common/UdpServerHandler.java b/device_udpserver/src/main/java/com/xr/device_udpserver/common/UdpServerHandler.java index c28fcac..d68945b 100644 --- a/device_udpserver/src/main/java/com/xr/device_udpserver/common/UdpServerHandler.java +++ b/device_udpserver/src/main/java/com/xr/device_udpserver/common/UdpServerHandler.java @@ -23,10 +23,8 @@ public class UdpServerHandler extends SimpleChannelInboundHandler + 1.2.2.0-20200811 2.0.8.RELEASE Finchley.SR4 Cairo-SR7 + UTF-8 + 1.8 + 1.8 2.0.5 + 4.5.0 + 3.4.4 + 2.0.0 + 11.2.0.4.0-atlassian-hosted + 1.0 + 5.22.0 + 0.0.9 + 2.0.0 + 2.10.0 + 1.7 + 4.1.0 + 2.1.0 4.11 1.33 + 2.1.5 + 2.9.8 + 2.10.1 + + 3.11.9 + 2.4.1 + 2.12.2 + 2.8.4 + 2.12.9 6.0.0-GA 1.3.2 1.1.6 @@ -37,10 +62,12 @@ 9.1.5 1.6.1 0.0.17 - 1.18.12 - 4.1.42.Final - 3.9 - 2.10 + 3.4.1 + 2.8.5 + 2.9.9 + 2.5 + 3.0 + 3.0.0 @@ -157,7 +184,6 @@ org.projectlombok lombok - ${lombok.version} provided @@ -203,20 +229,61 @@ io.netty netty-all - ${netty.version} - - - org.apache.poi - poi - ${poi.version} + 4.1.42.Final + + + + + + + org.apache.poi poi-ooxml - ${poi.version} + 3.9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +