From f97d74f9f851ef70048fab599d7bc54d7932afc7 Mon Sep 17 00:00:00 2001 From: Administrator <1144154118@qq.com> Date: 星期三, 23 八月 2023 17:29:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java | 33 + ruoyi-common/src/main/java/com/ruoyi/common/utils/ConfigUtils.java | 55 ++ ruoyi-admin/src/main/resources/application-prod-druid.yml | 58 +++ ard-work/src/main/resources/templates/test.html | 2 ruoyi-system/src/main/java/com/ruoyi/authorize/common/AuthorizeUtil.java | 12 ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioConfig.java | 35 + ard-work/src/main/java/com/ruoyi/utils/tools/Point.java | 10 ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java | 62 +- ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java | 2 ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioUtils.java | 158 ++++--- ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java | 22 ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java | 2 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java | 7 ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java | 5 ruoyi-admin/src/main/resources/application-dev-druid.yml | 58 +++ ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysConfig.java | 2 ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java | 8 ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 2 ard-work/src/main/resources/mapper/minio/StorageMinioEventMapper.xml | 1 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 48 +- ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java | 3 ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java | 18 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java | 2 ruoyi-admin/src/main/resources/application.yml | 129 ++---- ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTask.java | 2 ruoyi-admin/src/main/resources/banner.txt | 12 /dev/null | 61 --- ruoyi-admin/src/main/resources/application-prod.yml | 101 +++++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java | 2 ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java | 25 ruoyi-admin/src/main/resources/logback.xml | 60 -- ard-work/src/main/java/com/ruoyi/media/service/impl/WebrtcService.java | 4 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java | 26 - ruoyi-admin/src/main/resources/application-dev.yml | 101 +++++ 36 files changed, 709 insertions(+), 425 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java b/ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java index c594b93..6c2d3a8 100644 --- a/ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java +++ b/ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java @@ -46,7 +46,8 @@ private IArdAppPositionService ardAppPositionService; @Autowired private ISysUserService sysUserService; - + @Autowired + private MinioUtils minioUtil; /** * 鏌ヨapp浣嶇疆鍒楄〃 @@ -200,7 +201,7 @@ @ApiOperation("涓婁紶鏂囦欢") public AjaxResult uploadFile(MultipartFile file,String type) { - String url = MinioUtils.putObjectAndGetUrl("app",type, file); + String url = minioUtil.putObjectAndGetUrl("app",type, file); return AjaxResult.success(url); } } diff --git a/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java index 3a88178..bd751a8 100644 --- a/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java @@ -146,9 +146,10 @@ SysUser user = new SysUser(); user.setDeptId(deptId); List<SysUser> appUserList = iSysUserService.selectAllAppUserList(user); - //杩囨护鍦ㄧ嚎 + //杩囨护鍦ㄧ嚎鍜屽崟鍏电 List<SysUser> onLineList = appUserList.stream() .filter(sysUser -> (sysUser.getAppOnlineState().equals("1"))) + .filter(sysUser -> (sysUser.getAppUserType().equals("1"))) .collect(Collectors.toList()); //杩囨护鑼冨洿 for (SysUser sysUser : onLineList) { @@ -192,6 +193,7 @@ //杩囨护鍦ㄧ嚎 List<SysUser> onLineList = appUserList.stream() .filter(sysUser -> (sysUser.getAppOnlineState().equals("1"))) + .filter(sysUser -> (sysUser.getAppUserType().equals("1"))) .collect(Collectors.toList()); //杩囨护鑼冨洿 for (SysUser sysUser : onLineList) { @@ -202,9 +204,7 @@ if (lon == null || lat == null) { continue; } - Point point2D=new Point(); - point2D.setLongitude(lon); - point2D.setLatitude(lat); + Point point2D=new Point(lon,lat); boolean inPolygon = GisTool.isInPolygon(point2D, partitionLocation); if (inPolygon) { Map<String, Object> params = new HashMap<>(); diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java index 6e25a85..245b74e 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java @@ -1,7 +1,5 @@ package com.ruoyi.device.camera.service.impl; -import java.awt.geom.Point2D; -import java.time.LocalTime; import java.util.*; import java.util.stream.Collectors; @@ -14,11 +12,7 @@ import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.channel.domain.ArdChannel; import com.ruoyi.device.channel.mapper.ArdChannelMapper; -import com.ruoyi.device.channel.service.IArdChannelService; -import com.ruoyi.device.hiksdk.common.GlobalVariable; -import com.ruoyi.device.hiksdk.service.IHikClientService; import com.ruoyi.scheduling.domian.SchedulingParam; -import com.ruoyi.system.domain.SysConfig; import com.ruoyi.utils.tools.ArdTool; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.mapper.ArdCamerasMapper; @@ -27,7 +21,6 @@ import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.utils.tools.GisTool; import com.ruoyi.utils.tools.Point; -import com.sun.org.apache.bcel.internal.generic.NEW; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -120,20 +113,7 @@ ardCameras.setCreateTime(DateUtils.getNowDate()); ardCameras.setUserId(SecurityUtils.getUserId()); redisCache.setCacheObject(getCacheKey(ardCameras.getId()), ardCameras); - int i = ardCamerasMapper.insertArdCameras(ardCameras); - if (i > 0) { -// //鍒犻櫎褰撳墠鐩告満鐨勬墍鏈夐�氶亾 -// ardChannelMapper.deleteArdChannelByDeviceId(ardCameras.getId()); -// //鑾峰彇鐩告満閫氶亾 -// List<ArdChannel> ipChannelList = hikClientService.getCameraChannelList(ardCameras); -// if (ipChannelList.size() > 0) { -// for (ArdChannel channel : ipChannelList) { -// channel.setId(IdUtils.simpleUUID()); -// ardChannelMapper.insertArdChannel(channel); -// } -// } - } - return i; + return ardCamerasMapper.insertArdCameras(ardCameras); } /** @@ -375,9 +355,7 @@ continue; } /*鍒ゆ柇鍧愭爣鏄惁鍦ㄥ杈瑰舰鑼冨洿鍐�*/ - Point camPosition=new Point(); - camPosition.setLongitude(camera.getLongitude()); - camPosition.setLatitude(camera.getLatitude()); + Point camPosition=new Point(camera.getLongitude(),camera.getLatitude()); boolean inPolygon = GisTool.isInPolygon(camPosition, partitionLocation); if (inPolygon) { /*鑾峰彇閫氶亾鍒楄〃*/ diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/config/MinioClientSingleton.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/config/MinioClientSingleton.java deleted file mode 100644 index 7433fed..0000000 --- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/config/MinioClientSingleton.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.ruoyi.device.hiksdk.config; - -import io.minio.MinioClient; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.beans.factory.config.YamlPropertiesFactoryBean; -import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.Resource; -import org.springframework.stereotype.Component; - -import java.io.IOException; -import java.util.Properties; - -/** - * @Description: - * @ClassName: MinioClientSingleton - * @Author: 鍒樿嫃涔� - * @Date: 2023骞�05鏈�18鏃�9:32 - * @Version: 1.0 - **/ - -@Slf4j(topic = "minio") -@Component -public class MinioClientSingleton { - - public static String domainUrl; - private static String accessKey; - private static String secretKey; - - private volatile static MinioClient minioClient; - - static { - domainUrl = getYmlNew("minio.endpoint"); - accessKey = getYmlNew("minio.accessKey"); - secretKey = getYmlNew("minio.secretKey"); - log.debug("minio淇℃伅锛�" + domainUrl + "(" + accessKey + "/" + secretKey + ")"); - } - - /** - * 鑾峰彇minio瀹㈡埛绔疄渚� - * - * @return {@link MinioClient} - */ - public static MinioClient getMinioClient() { - if (minioClient == null) { - synchronized (MinioClientSingleton.class) { - if (minioClient == null) { - minioClient = MinioClient.builder() - .endpoint(domainUrl) - .credentials(accessKey, secretKey) - .build(); - } - } - } - return minioClient; - } - - /*yml閰嶇疆淇℃伅鑾峰彇*/ - public static String getYmlNew(String key) { - Resource resource = new ClassPathResource("application-ard.yml"); - Properties properties = null; - try { - YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean(); - yamlFactory.setResources(resource); - properties = yamlFactory.getObject(); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - return properties.get(key).toString(); - } - -} - diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java index 5c35e6d..771c21f 100644 --- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java @@ -1,15 +1,13 @@ package com.ruoyi.device.hiksdk.service.impl; -import com.alibaba.fastjson2.JSONObject; import com.ruoyi.common.annotation.SdkOperate; import com.ruoyi.common.utils.file.FileUtils; +import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.device.channel.domain.ArdChannel; -import com.ruoyi.device.channel.service.IArdChannelService; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.ruoyi.device.camera.domain.ArdCameras; -import com.ruoyi.device.hiksdk.config.MinioClientSingleton; import com.ruoyi.device.hiksdk.util.hikSdkUtil.GisUtil; import com.ruoyi.device.hiksdk.util.hikSdkUtil.HCNetSDK; import com.ruoyi.device.hiksdk.service.IHikClientService; @@ -21,7 +19,7 @@ import com.sun.jna.Pointer; import com.sun.jna.ptr.IntByReference; import lombok.extern.slf4j.Slf4j; -import org.springframework.scheduling.annotation.Async; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.Base64; @@ -32,7 +30,6 @@ import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; -import java.util.stream.Collectors; import static com.ruoyi.device.hiksdk.util.hikSdkUtil.HCNetSDK.*; @@ -47,8 +44,12 @@ @Service public class HikClientServiceImpl implements IHikClientService { + @Value("${minio.endpoint}") + private static String endpoint; @Resource - IArdCamerasService ardCamerasService; + private IArdCamerasService ardCamerasService; + @Resource + private MinioUtils minioUtil; private static HCNetSDK hCNetSDK; @@ -1149,16 +1150,14 @@ byte[] array = jpegBuffer.array(); //瀛樺偍鍒癿inio String BucketName = "pic"; - String uuid = UUID.randomUUID().toString().replace("-", ""); - String time = new SimpleDateFormat("yyyyMMdd").format(new Date()); - String ObjectName = time + "/" + uuid + ".jpeg"; + String ObjectName = "capture/" + IdUtils.simpleUUID() + ".jpeg"; String ContentType = "image/JPEG"; InputStream input = new ByteArrayInputStream(array); String url = ""; try { - boolean b = MinioUtils.uploadObject(BucketName, ObjectName, input, input.available(), ContentType); + boolean b = minioUtil.uploadObject(BucketName, ObjectName, input, input.available(), ContentType); if (b) { - url = MinioUtils.getBucketObjectUrl(BucketName, ObjectName); + url = minioUtil.getBucketObjectUrl(BucketName, ObjectName); log.debug("涓婁紶鏂囦欢鎴愬姛!" + url); } } catch (IOException ex) { @@ -1342,9 +1341,9 @@ FileInputStream stream = new FileInputStream(path); String time = new SimpleDateFormat("yyyyMMdd").format(new Date()); String recordName = cameraId + "/" + time + "/" + ObjectName + ".mp4"; - boolean b = MinioUtils.uploadObject(BucketName, recordName, stream, stream.available(), ContentType); + boolean b = minioUtil.uploadObject(BucketName, recordName, stream, stream.available(), ContentType); if (b) { - url = MinioClientSingleton.domainUrl + "/" + BucketName + "/" + recordName; + url = endpoint + "/" + BucketName + "/" + recordName; log.debug("涓婁紶鏂囦欢鎴愬姛!" + url); } return url; diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java index 5644b88..0e09344 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java @@ -31,7 +31,7 @@ * @date 2023-05-30 */ @Service -@Slf4j(topic = "PatrolInspectionTask") +@Slf4j(topic = "patrolInspectionTask") public class ArdVideoInspectTaskServiceImpl implements IArdVideoInspectTaskService { @Resource private ArdVideoInspectTaskMapper ardVideoInspectTaskMapper; diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTask.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTask.java index 65b4e5e..62bd764 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTask.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTask.java @@ -12,7 +12,7 @@ * @Date: 2023骞�06鏈�01鏃�8:57 * @Version: 1.0 **/ -@Slf4j(topic = "PatrolInspectionTask") +@Slf4j(topic = "patrolInspectionTask") class InspectionTask implements Runnable { private String taskId; diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java index d440ac7..bf0ff9d 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java @@ -22,7 +22,7 @@ **/ @Component -@Slf4j(topic = "PatrolInspectionTask") +@Slf4j(topic = "patrolInspectionTask") public class InspectionTaskManager { @Resource diff --git a/ard-work/src/main/java/com/ruoyi/media/service/impl/WebrtcService.java b/ard-work/src/main/java/com/ruoyi/media/service/impl/WebrtcService.java index e8b45ba..36eede2 100644 --- a/ard-work/src/main/java/com/ruoyi/media/service/impl/WebrtcService.java +++ b/ard-work/src/main/java/com/ruoyi/media/service/impl/WebrtcService.java @@ -47,8 +47,8 @@ // 鍚姩鍚庡彴杩涚▼ CmdUtils.commandStart(processName, cmd, null); // 鍚姩cmd绐楀彛 -// String[] command = {"cmd", "/c", "start", exePath, "-H127.0.0.1:8000", "-o"}; -// CmdUtils.commandStart(command); +// String[] command = {"cmd", "/c", "start", exePath, "-H127.0.0.1:8000", "-o"}; +// CmdUtils.commandStart(command); } } } diff --git a/ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioConfig.java b/ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioConfig.java new file mode 100644 index 0000000..28b2235 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioConfig.java @@ -0,0 +1,35 @@ +package com.ruoyi.storage.minio.utils; + +import io.minio.MinioClient; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; + +/** + * @Description: + * @ClassName: MinioClientSingleton + * @Author: 鍒樿嫃涔� + * @Date: 2023骞�05鏈�18鏃�9:32 + * @Version: 1.0 + **/ +@Slf4j(topic = "minio") +@Component +public class MinioConfig { + @Value("${minio.endpoint}") + private String endpoint; + @Value("${minio.accessKey}") + private String accessKey; + @Value("${minio.secretKey}") + private String secretKey; + + @Bean + public MinioClient getMinioClient() { + return MinioClient.builder() + .endpoint(endpoint) + .credentials(accessKey, secretKey) + .build(); + } + +} + diff --git a/ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioUtils.java b/ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioUtils.java index c063b73..7cbcec6 100644 --- a/ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioUtils.java +++ b/ard-work/src/main/java/com/ruoyi/storage/minio/utils/MinioUtils.java @@ -2,13 +2,14 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.uuid.IdUtils; -import com.ruoyi.device.hiksdk.config.MinioClientSingleton; import io.minio.*; import io.minio.http.Method; import io.minio.messages.*; import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.io.*; import java.util.*; import java.util.concurrent.TimeUnit; @@ -22,19 +23,23 @@ **/ @SuppressWarnings("ALL") @Slf4j(topic = "minio") +@Component public class MinioUtils { + + @Resource + MinioClient minioClient; /** * 鍒ゆ柇妗舵槸鍚﹀瓨鍦� */ - public static boolean exitsBucket(String bucketName) { + public boolean exitsBucket(String bucketName) { boolean found = false; try { if (StringUtils.isEmpty(bucketName)) { return false; } BucketExistsArgs bucketExistsArgs = BucketExistsArgs.builder().bucket(bucketName).build(); - found = MinioClientSingleton.getMinioClient().bucketExists(bucketExistsArgs); + found = minioClient.bucketExists(bucketExistsArgs); } catch (Exception ex) { log.error("minio鍒ゆ柇妗跺瓨鍦ㄥ紓甯革細", ex.getMessage()); @@ -45,14 +50,14 @@ /** * 鍒涘缓妗�,骞惰缃《绛栫暐涓哄叕鍏� */ - public static boolean createBucket(String bucketName) { + public boolean createBucket(String bucketName) { try { if (StringUtils.isEmpty(bucketName)) { return false; } /*鍒涘缓妗�*/ MakeBucketArgs makeBucketArgs = MakeBucketArgs.builder().bucket(bucketName).build(); - MinioClientSingleton.getMinioClient().makeBucket(makeBucketArgs); + minioClient.makeBucket(makeBucketArgs); /*璁剧疆绛栫暐*/ String sb = "{\"Version\":\"2012-10-17\"," + "\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":" + @@ -72,7 +77,7 @@ queueConfiguration.setQueue("arn:minio:sqs::_:mqtt"); //璁剧疆浜嬩欢 - List<EventType> events=new ArrayList<>(); + List<EventType> events = new ArrayList<>(); events.add(EventType.OBJECT_REMOVED_ANY); events.add(EventType.OBJECT_CREATED_ANY); queueConfiguration.setEvents(events); @@ -82,8 +87,8 @@ SetBucketNotificationArgs setBucketNotificationArgs = SetBucketNotificationArgs.builder() .bucket(bucketName) .config(config).build(); - MinioClientSingleton.getMinioClient().setBucketPolicy(setBucketPolicyArgs); - MinioClientSingleton.getMinioClient().setBucketNotification(setBucketNotificationArgs); + minioClient.setBucketPolicy(setBucketPolicyArgs); + minioClient.setBucketNotification(setBucketNotificationArgs); return true; } catch (Exception ex) { @@ -97,11 +102,11 @@ * * @param bucket 妗跺悕绉� */ - public static boolean removeBucket(String bucket) { + public boolean removeBucket(String bucket) { try { boolean found = exitsBucket(bucket); if (found) { - Iterable<Result<Item>> myObjects = MinioClientSingleton.getMinioClient().listObjects(ListObjectsArgs.builder().bucket(bucket).build()); + Iterable<Result<Item>> myObjects = minioClient.listObjects(ListObjectsArgs.builder().bucket(bucket).build()); for (Result<Item> result : myObjects) { Item item = result.get(); //鏈夊璞℃枃浠讹紝鍒欏垹闄ゅけ璐� @@ -110,7 +115,7 @@ } } // 鍒犻櫎`bucketName`瀛樺偍妗讹紝娉ㄦ剰锛屽彧鏈夊瓨鍌ㄦ《涓虹┖鏃舵墠鑳藉垹闄ゆ垚鍔熴�� - MinioClientSingleton.getMinioClient().removeBucket(RemoveBucketArgs.builder().bucket(bucket).build()); + minioClient.removeBucket(RemoveBucketArgs.builder().bucket(bucket).build()); found = exitsBucket(bucket); return !found; } @@ -125,9 +130,9 @@ * * @return */ - public static List<Bucket> getListBuckets() { + public List<Bucket> getListBuckets() { try { - return MinioClientSingleton.getMinioClient().listBuckets(); + return minioClient.listBuckets(); } catch (Exception e) { e.printStackTrace(); } @@ -143,7 +148,7 @@ * @param expires 澶辨晥鏃堕棿锛堜互绉掍负鍗曚綅锛夛紝榛樿鏄�7澶╋紝涓嶅緱澶т簬涓冨ぉ * @return */ - public static String getObjectWithExpired(String bucketName, String objectName, Integer expires, TimeUnit timeUnit) { + public String getObjectWithExpired(String bucketName, String objectName, Integer expires, TimeUnit timeUnit) { String url = ""; if (exitsBucket(bucketName)) { try { @@ -153,7 +158,7 @@ .object(objectName) .expiry(expires, timeUnit) .build(); - url = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs); + url = minioClient.getPresignedObjectUrl(getPresignedObjectUrlArgs); } catch (Exception ex) { log.error("minio鐢熸垚澶辨晥url寮傚父", ex.getMessage()); } @@ -171,7 +176,7 @@ * @鍒涘缓鏃堕棿 2023/5/18 12:16 * @淇敼浜哄拰鍏跺畠淇℃伅 */ - public static String putObjectAndGetUrl(String bucketName, MultipartFile file) { + public String putObjectAndGetUrl(String bucketName, MultipartFile file) { if (!exitsBucket(bucketName)) { createBucket(bucketName); } @@ -200,7 +205,7 @@ .stream(inputStream, file.getSize(), -1) .contentType(file.getContentType()) .build(); - MinioClientSingleton.getMinioClient().putObject(putObjectArgs); + minioClient.putObject(putObjectArgs); inputStream.close(); /*鑾峰彇url*/ GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs @@ -209,7 +214,7 @@ .object(fileName) .method(Method.GET) .build(); - String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs); + String presignedObjectUrl = minioClient.getPresignedObjectUrl(getPresignedObjectUrlArgs); String ObjectUrl = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?")); return ObjectUrl; } catch (Exception ex) { @@ -226,7 +231,7 @@ * @鍒涘缓鏃堕棿 2023/5/18 12:16 * @淇敼浜哄拰鍏跺畠淇℃伅 */ - public static String putObjectAndGetUrl(String bucketName, String folder, MultipartFile file) { + public String putObjectAndGetUrl(String bucketName, String folder, MultipartFile file) { if (!exitsBucket(bucketName)) { createBucket(bucketName); } @@ -255,7 +260,7 @@ .stream(inputStream, file.getSize(), -1) .contentType(file.getContentType()) .build(); - MinioClientSingleton.getMinioClient().putObject(putObjectArgs); + minioClient.putObject(putObjectArgs); inputStream.close(); /*鑾峰彇url*/ GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs @@ -264,7 +269,7 @@ .object(fileName) .method(Method.GET) .build(); - String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs); + String presignedObjectUrl = minioClient.getPresignedObjectUrl(getPresignedObjectUrlArgs); String ObjectUrl = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?")); return ObjectUrl; } catch (Exception ex) { @@ -280,12 +285,12 @@ * @param objectName 瀵硅薄鍚嶇О * @return boolean */ - public static boolean removeObject(String bucket, String objectName) { + public boolean removeObject(String bucket, String objectName) { try { boolean exsit = exitsBucket(bucket); if (exsit) { RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder().bucket(bucket).object(objectName).build(); - MinioClientSingleton.getMinioClient().removeObject(removeObjectArgs); + minioClient.removeObject(removeObjectArgs); return true; } } catch (Exception e) { @@ -300,7 +305,7 @@ * @param objectNames 瀵硅薄鍚嶇О * @return boolean */ - public static boolean removeObjects(String bucket, List<String> objectNames) { + public boolean removeObjects(String bucket, List<String> objectNames) { if (exitsBucket(bucket)) { try { List<DeleteObject> objects = new LinkedList<>(); @@ -308,7 +313,7 @@ objects.add(new DeleteObject(str)); } RemoveObjectsArgs removeObjectsArgs = RemoveObjectsArgs.builder().bucket(bucket).objects(objects).build(); - Iterable<Result<DeleteError>> results = MinioClientSingleton.getMinioClient().removeObjects(removeObjectsArgs); + Iterable<Result<DeleteError>> results = minioClient.removeObjects(removeObjectsArgs); /*鍒犻櫎瀹岄亶鍘嗙粨鏋滐紝鍚﹀垯鍒犱笉鎺�*/ for (Result<DeleteError> result : results) { DeleteError error = result.get(); @@ -329,13 +334,38 @@ * @param bucket 妗跺悕绉� * @return {@link List}<{@link String}> */ - public static List<String> getBucketObjectName(String bucket) { + public List<String> getBucketObjectName(String bucket) { boolean exsit = exitsBucket(bucket); if (exsit) { List<String> listObjetcName = new ArrayList<>(); try { ListObjectsArgs listObjectsArgs = ListObjectsArgs.builder().bucket(bucket).build(); - Iterable<Result<Item>> myObjects = MinioClientSingleton.getMinioClient().listObjects(listObjectsArgs); + Iterable<Result<Item>> myObjects = minioClient.listObjects(listObjectsArgs); + for (Result<Item> result : myObjects) { + Item item = result.get(); + listObjetcName.add(item.objectName()); + } + return listObjetcName; + } catch (Exception ex) { + log.error("minio鑾峰彇妗朵笅瀵硅薄寮傚父锛�" + ex.getMessage()); + } + } + return null; + } + + /** + * 鑾峰彇鍗曚釜妗朵腑鐨勬墍鏈夋枃浠跺璞″悕绉� + * + * @param [bucket,prefix] + * @return {@link List}<{@link String}> + */ + public List<String> getBucketObjectName(String bucket, String prefix) { + boolean exsit = exitsBucket(bucket); + if (exsit) { + List<String> listObjetcName = new ArrayList<>(); + try { + ListObjectsArgs listObjectsArgs = ListObjectsArgs.builder().prefix(prefix).bucket(bucket).build(); + Iterable<Result<Item>> myObjects = minioClient.listObjects(listObjectsArgs); for (Result<Item> result : myObjects) { Item item = result.get(); listObjetcName.add(item.objectName()); @@ -355,7 +385,7 @@ * @param objectName 瀵硅薄鍚� (鏂囦欢澶瑰悕 + 鏂囦欢鍚�) * @return */ - public static String getBucketObjectUrl(String bucketName, String objectName) { + public String getBucketObjectUrl(String bucketName, String objectName) { try { if (!exitsBucket(bucketName)) { return ""; @@ -366,7 +396,9 @@ .object(objectName) .method(Method.GET) .build(); - return MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs); + String presignedObjectUrl = minioClient.getPresignedObjectUrl(getPresignedObjectUrlArgs); + String ObjectUrl = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?")); + return ObjectUrl; } catch (Exception ex) { log.error("minio鑾峰彇瀵硅薄URL寮傚父" + ex.getMessage()); } @@ -382,7 +414,7 @@ * @param size 饧も缉 * @param contextType 绫诲瀷 Image/jpeg 娴忚鍣ㄥ彲浠ョ洿鎺ユ墦寮�锛屽惁鍒欎笅杞� */ - public static boolean uploadObject(String bucketName, String objectName, InputStream stream, long size, String contextType) { + public boolean uploadObject(String bucketName, String objectName, InputStream stream, long size, String contextType) { try { if (!exitsBucket(bucketName)) { createBucket(bucketName); @@ -393,7 +425,7 @@ .stream(stream, size, -1) .contentType(contextType) .build(); - ObjectWriteResponse objectWriteResponse = MinioClientSingleton.getMinioClient().putObject(putObjectArgs); + ObjectWriteResponse objectWriteResponse = minioClient.putObject(putObjectArgs); return true; } catch (Exception ex) { log.error("minio涓婁紶鏂囦欢(閫氳繃stream)寮傚父" + ex.getMessage()); @@ -409,7 +441,7 @@ * @param file 饨備欢 * @param contextType 绫诲瀷 Image/jpeg 娴忚鍣ㄥ彲浠ョ洿鎺ユ墦寮�锛屽惁鍒欎笅杞� */ - public static boolean uploadObject(String bucketName, String objectName, File file, String contextType) { + public boolean uploadObject(String bucketName, String objectName, File file, String contextType) { try { if (!exitsBucket(bucketName)) { createBucket(bucketName); @@ -421,7 +453,7 @@ .stream(fileInputStream, file.length(), -1) .contentType(contextType) .build(); - ObjectWriteResponse objectWriteResponse = MinioClientSingleton.getMinioClient().putObject(putObjectArgs); + ObjectWriteResponse objectWriteResponse = minioClient.putObject(putObjectArgs); return true; } catch (Exception ex) { log.error("minio涓婁紶鏂囦欢(閫氳繃File)寮傚父" + ex.getMessage()); @@ -437,7 +469,7 @@ * @param MultipartFile 饨備欢 * @param contextType 绫诲瀷 Image/jpeg 娴忚鍣ㄥ彲浠ョ洿鎺ユ墦寮�锛屽惁鍒欎笅杞� */ - public static boolean uploadObject(String bucketName, String objectName, MultipartFile multipartFile, String contextType) { + public boolean uploadObject(String bucketName, String objectName, MultipartFile multipartFile, String contextType) { try { if (!exitsBucket(bucketName)) { createBucket(bucketName); @@ -449,7 +481,7 @@ .stream(inputStream, multipartFile.getSize(), -1) .contentType(contextType) .build(); - ObjectWriteResponse objectWriteResponse = MinioClientSingleton.getMinioClient().putObject(putObjectArgs); + ObjectWriteResponse objectWriteResponse = minioClient.putObject(putObjectArgs); return true; } catch (Exception ex) { log.error("minio涓婁紶鏂囦欢(閫氳繃File)寮傚父" + ex.getMessage()); @@ -465,7 +497,7 @@ * @param MultipartFile 饨備欢 * @param contextType 绫诲瀷 Image/jpeg 娴忚鍣ㄥ彲浠ョ洿鎺ユ墦寮�锛屽惁鍒欎笅杞� */ - public static boolean uploadObject(String bucketName, MultipartFile multipartFile, String contextType) { + public boolean uploadObject(String bucketName, MultipartFile multipartFile, String contextType) { try { if (!exitsBucket(bucketName)) { createBucket(bucketName); @@ -482,7 +514,7 @@ .stream(inputStream, multipartFile.getSize(), -1) .contentType(contextType) .build(); - MinioClientSingleton.getMinioClient().putObject(putObjectArgs); + minioClient.putObject(putObjectArgs); return true; } catch (Exception ex) { log.error("minio涓婁紶鏂囦欢(閫氳繃File)寮傚父" + ex.getMessage()); @@ -498,7 +530,7 @@ * @param localFilePathName * @return */ - public static boolean uploadObject(String bucketName, String objectName, String localFilePathName, String contextType) { + public boolean uploadObject(String bucketName, String objectName, String localFilePathName, String contextType) { try { if (!exitsBucket(bucketName)) { createBucket(bucketName); @@ -514,7 +546,7 @@ .filename(localFilePathName) .contentType(contextType) .build(); - ObjectWriteResponse objectWriteResponse = MinioClientSingleton.getMinioClient().uploadObject(uploadObjectArgs); + ObjectWriteResponse objectWriteResponse = minioClient.uploadObject(uploadObjectArgs); return true; } catch (Exception e) { log.error("minio upload object file error " + e.getMessage()); @@ -530,42 +562,28 @@ * @鍒涘缓鏃堕棿 2023/2/6 10:32 * @淇敼浜哄拰鍏跺畠淇℃伅 */ - public static Iterable<Result<Item>> getObjectsByBucket(String bucketName) { - Iterable<Result<Item>> listObjects = MinioClientSingleton.getMinioClient().listObjects(ListObjectsArgs.builder() + public Iterable<Result<Item>> getObjectsByBucket(String bucketName) { + Iterable<Result<Item>> listObjects = minioClient.listObjects(ListObjectsArgs.builder() .bucket(bucketName) .recursive(true) .build()); return listObjects; } - public static void main(String[] args) { - // /*鍒犻櫎妗�*/ - // boolean b = removeBucket("lsy"); - // log.info(String.valueOf(b)); - // /*鍒涘缓妗�*/ - // boolean lsy = createBucket("lsy"); - // log.info(String.valueOf(lsy)); - // /*鍒ゆ柇妗舵槸鍚﹀瓨鍦�*/ - // boolean pic = exitsBucket("lsy"); - // log.info(String.valueOf(pic)); - /*鏌ヨ鎵�鏈夋《*/ - // List<Bucket> listBuckets = getListBuckets(); - // for (Bucket bucket : listBuckets) { - // log.info(bucket.name()); - // } - String bucket = "lsy"; - String filename = UUID.randomUUID().toString().replace("-", "") + "pic.jpeg"; - String fileFullPath = "C:\\Users\\Administrator\\Desktop\\寰俊鎴浘_20230518102605.png"; - // uploadObject(bucket, filename, fileFullPath, "Image/jpeg"); - // String url = getObjectWithExpired(bucket, filename, 10, SECONDS); - // System.out.println(url); - boolean b = removeBucket(bucket); - System.out.println(b); - // boolean b = uploadObjectBylocalPath(bucket, filename, fileFullPath); - // System.out.println(b); - //String url = getObjectWithExpired(bucket, filename, 10000); - // - //String url = getBucketObject(bucket, filename); - // System.out.println(url); package com.example.minio; + /** + * @鎻忚堪 鑾峰彇妗朵腑鎵�鏈夊璞� + * @鍙傛暟 [bucketName, prefix] + * @杩斿洖鍊� java.lang.Iterable<io.minio.Result < io.minio.messages.Item>> + * @鍒涘缓浜� 鍒樿嫃涔� + * @鍒涘缓鏃堕棿 2023/2/6 10:32 + * @淇敼浜哄拰鍏跺畠淇℃伅 + */ + public Iterable<Result<Item>> getObjectsByBucket(String bucketName, String prefix) { + Iterable<Result<Item>> listObjects = minioClient.listObjects(ListObjectsArgs.builder() + .bucket(bucketName) + .prefix(prefix) + .recursive(true) + .build()); + return listObjects; } } \ No newline at end of file diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java index 3ecae28..ad6a795 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java +++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java @@ -13,7 +13,7 @@ import com.ruoyi.sy.gps31.PushClientImplAlarm; import com.ruoyi.sy.gps31.PushClientImplPosition; import com.ruoyi.sy.service.IArdSyUserService; -import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.common.core.domain.entity.SysConfig; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java index 4cf89fa..788a2b2 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java @@ -1,6 +1,5 @@ package com.ruoyi.sy.service.impl; -import java.awt.geom.Point2D; import java.io.IOException; import java.io.InputStream; import java.text.ParseException; @@ -24,19 +23,16 @@ import com.ruoyi.sy.mapper.ArdSyCarDayMapper; import com.ruoyi.utils.tools.GisTool; import com.ruoyi.utils.websocket.util.WebSocketUtils; -import com.ruoyi.device.hiksdk.config.MinioClientSingleton; import com.ruoyi.storage.minio.utils.MinioUtils; import com.ruoyi.sy.domain.ArdSyUser; import com.ruoyi.sy.gps31.PositionContainer; import com.ruoyi.sy.mapper.ArdSyUserMapper; -import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.common.core.domain.entity.SysConfig; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.utils.forest.SYClient; import com.ruoyi.utils.result.Results; import io.minio.GetPresignedObjectUrlArgs; -import io.minio.ListObjectsArgs; -import io.minio.PutObjectArgs; import io.minio.Result; import io.minio.http.Method; import io.minio.messages.Item; @@ -83,7 +79,8 @@ RedisCache redisCache; @Resource private ArdSyCarDayMapper ardSyCarDayMapper; - + @Resource + private MinioUtils minioUtil; private Map<Integer, Map<String, String>> logInMap = new HashMap(); private Map<String, Timer> userCarTimerMap = new HashMap(); @@ -147,7 +144,7 @@ objectNames.add(ardSyCar.getCarPicture().split("/sycar/")[1]); } } - MinioUtils.removeObjects("sycar", objectNames); + minioUtil.removeObjects("sycar", objectNames); return ardSyCarMapper.deleteArdSyCarByIds(ids); } @@ -264,12 +261,12 @@ @Override public List<Map<String, String>> getAllCarModel() { - boolean exsit = MinioUtils.exitsBucket("sycar"); + boolean exsit = minioUtil.exitsBucket("sycar"); if (exsit) { List<Map<String, String>> listObjetcName = new ArrayList<>(); try { - ListObjectsArgs listObjectsArgs = ListObjectsArgs.builder().prefix("carmodel/").bucket("sycar").build(); - Iterable<Result<Item>> myObjects = MinioClientSingleton.getMinioClient().listObjects(listObjectsArgs); + // ListObjectsArgs listObjectsArgs = ListObjectsArgs.builder().prefix("carmodel/").bucket("sycar").build(); + Iterable<Result<Item>> myObjects = minioUtil.getObjectsByBucket("sycar","carmodel"); for (Result<Item> result : myObjects) { Item item = result.get(); Map<String, String> map = new HashMap(); @@ -332,16 +329,16 @@ if (ardSyCarr.getCarPicture() != null || !ardSyCarr.getCarPicture().equals("")) { String objectName = ardSyCarr.getCarPicture().split("/sycar/")[1]; objectNames.add(objectName); - MinioUtils.removeObjects("sycar", objectNames); + minioUtil.removeObjects("sycar", objectNames); } } //鍒ゆ柇鏂囦欢鏄惁涓虹┖ if (null == carPicture || 0 == carPicture.getSize()) { return ""; } - boolean exsit = MinioUtils.exitsBucket("sycar"); + boolean exsit = minioUtil.exitsBucket("sycar"); if (!exsit) { - boolean bucket = MinioUtils.createBucket("sycar"); + boolean bucket = minioUtil.createBucket("sycar"); } //鏂囦欢鍚� String originalFilename = carPicture.getOriginalFilename(); @@ -350,14 +347,15 @@ try { InputStream inputStream = carPicture.getInputStream(); /*涓婁紶瀵硅薄*/ - PutObjectArgs putObjectArgs = PutObjectArgs - .builder() - .bucket("sycar") - .object(fileName) - .stream(inputStream, carPicture.getSize(), -1) - .contentType(carPicture.getContentType()) - .build(); - MinioClientSingleton.getMinioClient().putObject(putObjectArgs); +// PutObjectArgs putObjectArgs = PutObjectArgs +// .builder() +// .bucket("sycar") +// .object(fileName) +// .stream(inputStream, carPicture.getSize(), -1) +// .contentType(carPicture.getContentType()) +// .build(); +// MinioConfig.getMinioClient().putObject(putObjectArgs); + minioUtil.uploadObject("sycar",fileName,inputStream,carPicture.getSize(),carPicture.getContentType()); inputStream.close(); /*鑾峰彇url*/ GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs @@ -366,8 +364,8 @@ .object(fileName) .method(Method.GET) .build(); - String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs); - String ObjectUrl = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?")); + //String presignedObjectUrl = MinioConfig.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs); + String ObjectUrl = minioUtil.getBucketObjectUrl("sycar", fileName); if (id != null && !id.equals("")) {//id涓洪潪蹇呰 ArdSyCar ardSyCar = new ArdSyCar(); ardSyCar.setId(id); @@ -1143,9 +1141,7 @@ List<Map<String, Object>> carGPSMap = (List<Map<String, Object>>) carGPSTrack.get("list"); Double lng = Double.valueOf((String) carGPSMap.get(0).get("lng")); Double lat = Double.valueOf((String) carGPSMap.get(0).get("lat")); - Point point = new Point(); - point.setLongitude(lng); - point.setLatitude(lat); + Point point = new Point(lng,lat); boolean inPolygon = GisTool.isInPolygon(point, partitionLocation); if (inPolygon) { carMap.put("longitude", lng); diff --git a/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java b/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java index 7a69f81..2d48af9 100644 --- a/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java +++ b/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java @@ -8,32 +8,34 @@ * @Version: 1.0 **/ -import com.ruoyi.app.position.domain.ArdAppPosition; -import com.ruoyi.utils.websocket.util.WebSocketUtils; +import com.ruoyi.common.utils.ConfigUtils; +import com.ruoyi.common.utils.DictUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; -import java.io.UnsupportedEncodingException; -import java.nio.charset.StandardCharsets; +import javax.annotation.PostConstruct; import java.sql.*; -import java.util.*; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; + @Slf4j +@Component public class ReadAccessDatabase { public static void main(String[] args) { -// // 澶氫釜鏁版嵁搴撴枃浠惰矾寰� -// String[] dbPaths = { -// "D:\\mdb\\閬撹矾涓績绾�.mdb", -// "D:\\mdb\\闃查鏋�-鐏屾湪.mdb", -// // 娣诲姞鏇村鐨勬暟鎹簱鏂囦欢璺緞 -// }; -// -// // 閬嶅巻姣忎釜鏁版嵁搴撴枃浠� -// for (String dbPath : dbPaths) { -// readDataFromAccessDatabase(dbPath); -// } + // 澶氫釜鏁版嵁搴撴枃浠惰矾寰� + String[] dbPaths = { + "D:\\Workspaces\\ard\\瀹夌憺杈惧伐浣滆祫鏂橽\mdb\\閬撹矾涓績绾�.mdb" +// "D:\\Workspaces\\ard\\瀹夌憺杈惧伐浣滆祫鏂橽\mdb\\闃查鏋�-鐏屾湪.mdb", + // 娣诲姞鏇村鐨勬暟鎹簱鏂囦欢璺緞 + }; + + // 閬嶅巻姣忎釜鏁版嵁搴撴枃浠� + for (String dbPath : dbPaths) { + readDataFromAccessDatabase(dbPath); + } } public static void readDataFromAccessDatabase(String dbPath) { @@ -54,16 +56,16 @@ if (!tableName.equals("閬撹矾涓績绾�")) { continue; } - System.out.println("琛ㄥ悕: " + tableName); + log.info("琛ㄥ悕: " + tableName); // 鑾峰彇琛ㄧ殑瀛楁鍏冩暟鎹� - // ResultSet column = metaData.getColumns(null, null, tableName, null); + ResultSet column = metaData.getColumns(null, null, tableName, null); // 閬嶅巻瀛楁 -// while (column.next()) { -// String columnName = column.getString("COLUMN_NAME"); -// System.out.println("瀛楁鍚�: " + columnName); -// } -// column.close(); + while (column.next()) { + String columnName = column.getString("COLUMN_NAME"); + log.info("瀛楁鍚�: " + columnName); + } + column.close(); // 鎵ц鏌ヨ鎿嶄綔 String sql = "SELECT * FROM " + tableName; // 鏇挎崲涓轰綘瑕佹煡璇㈢殑琛ㄥ悕 Statement statement = connection.createStatement(); @@ -72,12 +74,12 @@ while (resultSet.next()) { // 璇诲彇姣忎竴琛屾暟鎹� String id = resultSet.getString(1); // 鏍规嵁琛ㄤ腑鐨勫垪鍚嶈幏鍙栨暟鎹� - String name = resultSet.getString("缂栧彿"); - + String no = resultSet.getString("缂栧彿"); + String name = resultSet.getString("閬撹矾鍚嶇О"); // 鍙互鏍规嵁鍏蜂綋鐨勮〃缁撴瀯缁х画鑾峰彇鍏朵粬瀛楁鐨勬暟鎹� // 鍦ㄨ繖閲屽鐞嗚幏鍙栧埌鐨勬暟鎹紝渚嬪杈撳嚭鍒版帶鍒跺彴鎴栦繚瀛樺埌闆嗗悎涓� - System.out.println("ID: " + id + ", Name: " + name); + log.info("ID: " + id + ", No: " + no+ ", Name: " + name); } // 鍏抽棴杩炴帴 resultSet.close(); @@ -89,5 +91,7 @@ e.printStackTrace(); } } + + } diff --git a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java index 37a4a18..00f5496 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java +++ b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumer.java @@ -3,6 +3,7 @@ import lombok.extern.slf4j.Slf4j; import org.eclipse.paho.client.mqttv3.*; import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; @@ -18,12 +19,30 @@ @Slf4j(topic = "mqtt") public class MqttConsumer implements ApplicationRunner { + @Value("${mqtt.enabled}") + private Boolean MQTT_ENABLED; + @Value("${mqtt.topic}") + private String MQTT_TOPIC; + @Value("${mqtt.host}") + private String MQTT_HOST; + @Value("${mqtt.clientId}") + private String MQTT_CLIENT_ID; + @Value("${mqtt.username}") + private String MQTT_USER_NAME; + @Value("${mqtt.password}") + private String MQTT_PASSWORD; + @Value("${mqtt.timeout}") + private int MQTT_TIMEOUT; + @Value("${mqtt.keepalive}") + private int MQTT_KEEP_ALIVE; + private static MqttClient client; + @Override public void run(ApplicationArguments args) { log.debug("鍒濆鍖栧苟鍚姩mqtt......"); - if(PropertiesUtil.MQTT_ENABLED) + if(MQTT_ENABLED) { this.connect(); } @@ -38,7 +57,7 @@ getClient(); // 2 璁剧疆閰嶇疆 MqttConnectOptions options = getOptions(); - String[] topic = PropertiesUtil.MQTT_TOPIC.split(","); + String[] topic = MQTT_TOPIC.split(","); // 3 娑堟伅鍙戝竷璐ㄩ噺 int[] qos = getQos(topic.length); // 4 鏈�鍚庤缃� @@ -54,7 +73,7 @@ public void getClient() { try { if (null == client) { - client = new MqttClient(PropertiesUtil.MQTT_HOST, PropertiesUtil.MQTT_CLIENT_ID, new MemoryPersistence()); + client = new MqttClient(MQTT_HOST, MQTT_CLIENT_ID, new MemoryPersistence()); } log.debug("--鍒涘缓mqtt瀹㈡埛绔�"); } catch (Exception e) { @@ -68,12 +87,12 @@ public MqttConnectOptions getOptions() { MqttConnectOptions options = new MqttConnectOptions(); //璁剧疆鐢ㄦ埛鍚嶅瘑鐮� - options.setUserName(PropertiesUtil.MQTT_USER_NAME); - options.setPassword(PropertiesUtil.MQTT_PASSWORD.toCharArray()); + options.setUserName(MQTT_USER_NAME); + options.setPassword(MQTT_PASSWORD.toCharArray()); // 璁剧疆瓒呮椂鏃堕棿 - options.setConnectionTimeout(PropertiesUtil.MQTT_TIMEOUT); + options.setConnectionTimeout(MQTT_TIMEOUT); // 璁剧疆浼氳瘽蹇冭烦鏃堕棿 - options.setKeepAliveInterval(PropertiesUtil.MQTT_KEEP_ALIVE); + options.setKeepAliveInterval(MQTT_KEEP_ALIVE); // 鏄惁娓呴櫎session options.setCleanSession(true); log.debug("--鐢熸垚mqtt閰嶇疆瀵硅薄"); diff --git a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java index 09fa6c9..8504a14 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java +++ b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java @@ -92,10 +92,10 @@ if (null != topic && null != qos) { if (client.isConnected()) { client.subscribe(topic, qos); - log.info("mqtt杩炴帴鎴愬姛锛屽鎴风ID锛�" + PropertiesUtil.MQTT_CLIENT_ID); + log.info("mqtt杩炴帴鎴愬姛" ); log.info("--璁㈤槄涓婚:锛�" + Arrays.toString(topic)); } else { - log.info("mqtt杩炴帴澶辫触锛屽鎴风ID锛�" + PropertiesUtil.MQTT_CLIENT_ID); + log.info("mqtt杩炴帴澶辫触"); } } } catch (Exception e) { diff --git a/ard-work/src/main/java/com/ruoyi/utils/mqtt/PropertiesUtil.java b/ard-work/src/main/java/com/ruoyi/utils/mqtt/PropertiesUtil.java deleted file mode 100644 index 0d9b555..0000000 --- a/ard-work/src/main/java/com/ruoyi/utils/mqtt/PropertiesUtil.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.ruoyi.utils.mqtt; - -import org.springframework.beans.factory.config.YamlPropertiesFactoryBean; -import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.Resource; -import org.springframework.stereotype.Component; - -import java.util.Objects; -import java.util.Properties; - -/** - * @Description: 鑾峰彇閰嶇疆淇℃伅 - * @ClassName: PropertiesUtil - * @Author: 鍒樿嫃涔� - * @Date: 2023骞�06鏈�06鏃�9:40 - * @Version: 1.0 - **/ -@Component -public class PropertiesUtil { - - public static String MQTT_HOST; - public static String MQTT_CLIENT_ID; - public static String MQTT_USER_NAME; - public static String MQTT_PASSWORD; - public static String MQTT_TOPIC; - public static Integer MQTT_TIMEOUT; - public static Integer MQTT_KEEP_ALIVE; - public static Boolean MQTT_ENABLED; - static { - MQTT_HOST = getYmlNew("mqtt.host"); - MQTT_CLIENT_ID = getYmlNew("mqtt.clientId"); - MQTT_USER_NAME = getYmlNew("mqtt.username"); - MQTT_PASSWORD = getYmlNew("mqtt.password"); - MQTT_TOPIC = getYmlNew("mqtt.topic"); - MQTT_TIMEOUT = Integer.valueOf(Objects.requireNonNull(getYmlNew("mqtt.timeout"))); - MQTT_KEEP_ALIVE = Integer.valueOf(Objects.requireNonNull(getYmlNew("mqtt.keepalive"))); - MQTT_ENABLED = Boolean.valueOf(getYmlNew("mqtt.enabled")); - } - - public static String getYmlNew(String key) { - Resource resource = new ClassPathResource("application-ard.yml"); - Properties properties; - try { - YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean(); - yamlFactory.setResources(resource); - properties = yamlFactory.getObject(); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - assert properties != null; - return properties.get(key).toString(); - } -} diff --git a/ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java b/ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java index 48c156f..4682ff7 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java +++ b/ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java @@ -35,15 +35,15 @@ } public static void main(String[] args) { -// // 琚娴嬬殑缁忕含搴︾偣 -// Point point= new Point(126.649261,45.687377); -// // 鍟嗕笟鍖哄煙锛堢櫨搴﹀杈瑰舰鍖哄煙缁忕含搴﹂泦鍚堬級 -// List<Point> partitionLocation = new ArrayList<>(); -// partitionLocation.add(new Point(126.64459,45.688548)); -// partitionLocation.add(new Point(126.653376,45.68938)); -// partitionLocation.add(new Point(126.645776,45.685048)); -// partitionLocation.add(new Point(126.654184,45.685778)); -// System.out.println(isInPolygon(point,partitionLocation)); + // 琚娴嬬殑缁忕含搴︾偣 + Point point= new Point(126.649261,45.687377); + // 鍟嗕笟鍖哄煙锛堢櫨搴﹀杈瑰舰鍖哄煙缁忕含搴﹂泦鍚堬級 + List<Point> partitionLocation = new ArrayList<>(); + partitionLocation.add(new Point(126.64459,45.688548)); + partitionLocation.add(new Point(126.653376,45.68938)); + partitionLocation.add(new Point(126.645776,45.685048)); + partitionLocation.add(new Point(126.654184,45.685778)); + System.out.println(isInPolygon(point,partitionLocation)); } /** diff --git a/ard-work/src/main/java/com/ruoyi/utils/tools/Point.java b/ard-work/src/main/java/com/ruoyi/utils/tools/Point.java index eb1daf8..80d9235 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/tools/Point.java +++ b/ard-work/src/main/java/com/ruoyi/utils/tools/Point.java @@ -1,7 +1,10 @@ package com.ruoyi.utils.tools; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; /** * @Description: @@ -11,8 +14,15 @@ * @Version: 1.0 **/ @Data +@NoArgsConstructor public class Point{ private static final long serialVersionUID = 1L; private Double longitude; private Double latitude; + + @JsonCreator + public Point(@JsonProperty("longitude") Double longitude,@JsonProperty("latitude")Double latitude) { + this.longitude = longitude; + this.latitude = latitude; + } } diff --git a/ard-work/src/main/resources/mapper/minio/StorageMinioEventMapper.xml b/ard-work/src/main/resources/mapper/minio/StorageMinioEventMapper.xml index 9a6d13b..0fdbcad 100644 --- a/ard-work/src/main/resources/mapper/minio/StorageMinioEventMapper.xml +++ b/ard-work/src/main/resources/mapper/minio/StorageMinioEventMapper.xml @@ -28,6 +28,7 @@ <if test="eventType != null and eventType != ''"> and event_type = #{eventType}</if> <if test="host != null and host != ''"> and host = #{host}</if> </where> + order by create_time desc </select> <select id="selectStorageMinioEventById" parameterType="String" resultMap="StorageMinioEventResult"> diff --git a/ard-work/src/main/resources/templates/test.html b/ard-work/src/main/resources/templates/test.html index a9acd06..15e9981 100644 --- a/ard-work/src/main/resources/templates/test.html +++ b/ard-work/src/main/resources/templates/test.html @@ -162,7 +162,7 @@ } }) - opt = {"username": "liusuyi", "password": "5959932"}; + opt = {"username": "admin", "password": "admin123"}; $.ajax({ headers: { 'Accept': 'application/json', diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java index 588480f..78f0cac 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java @@ -23,7 +23,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.common.core.domain.entity.SysConfig; import com.ruoyi.system.service.ISysConfigService; /** diff --git a/ruoyi-admin/src/main/resources/application-ard.yml b/ruoyi-admin/src/main/resources/application-ard.yml deleted file mode 100644 index 1c15525..0000000 --- a/ruoyi-admin/src/main/resources/application-ard.yml +++ /dev/null @@ -1,50 +0,0 @@ -# webrtc-streamer閰嶇疆 -webrtc: - enabled: false - host: 127.0.0.1:8000 -# minio閰嶇疆 -minio: - enabled: false - endpoint: http://192.168.1.227:9000 - accessKey: admin - secretKey: xzx12345 - path: G:/DATA -# forest閰嶇疆 -forest: - backend: okhttp3 # 鍚庣HTTP妗嗘灦锛堥粯璁や负 okhttp3锛� - max-connections: 1000 # 杩炴帴姹犳渶澶ц繛鎺ユ暟锛堥粯璁や负 500锛� - max-route-connections: 500 # 姣忎釜璺敱鐨勬渶澶ц繛鎺ユ暟锛堥粯璁や负 500锛� - max-request-queue-size: 100 # [鑷獀1.5.22鐗堟湰璧峰彲鐢╙ 鏈�澶ц姹傜瓑寰呴槦鍒楀ぇ灏� - max-async-thread-size: 300 # [鑷獀1.5.21鐗堟湰璧峰彲鐢╙ 鏈�澶у紓姝ョ嚎绋嬫暟 - max-async-queue-size: 16 # [鑷獀1.5.22鐗堟湰璧峰彲鐢╙ 鏈�澶у紓姝ョ嚎绋嬫睜闃熷垪澶у皬 - timeout: 3000 # [宸蹭笉鎺ㄨ崘浣跨敤] 璇锋眰瓒呮椂鏃堕棿锛屽崟浣嶄负姣锛堥粯璁や负 3000锛� - connect-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛屽崟浣嶄负姣锛堥粯璁や负 timeout锛� - read-timeout: 3000 # 鏁版嵁璇诲彇瓒呮椂鏃堕棿锛屽崟浣嶄负姣锛堥粯璁や负 timeout锛� - max-retry-count: 0 # 璇锋眰澶辫触鍚庨噸璇曟鏁帮紙榛樿涓� 0 娆′笉閲嶈瘯锛� - ssl-protocol: TLS # 鍗曞悜楠岃瘉鐨凥TTPS鐨勯粯璁LS鍗忚锛堥粯璁や负 TLS锛� - log-enabled: true # 鎵撳紑鎴栧叧闂棩蹇楋紙榛樿涓� true锛� - log-request: true # 鎵撳紑/鍏抽棴Forest璇锋眰鏃ュ織锛堥粯璁や负 true锛� - log-response-status: true # 鎵撳紑/鍏抽棴Forest鍝嶅簲鐘舵�佹棩蹇楋紙榛樿涓� true锛� - log-response-content: true # 鎵撳紑/鍏抽棴Forest鍝嶅簲鍐呭鏃ュ織锛堥粯璁や负 false锛� - async-mode: platform # [鑷獀1.5.27鐗堟湰璧峰彲鐢╙ 寮傛妯″紡锛堥粯璁や负 platform锛� -#娴佸獟浣撹浆鐮佹湇鍔″櫒 -mediamtx: - enabled: false - host: 127.0.0.1 -#mqtt -mqtt: - host: tcp://192.168.1.15:1883 - clientId: m3 - username: admin - password: xzx12345 - topic: apponekey,radar - timeout: 100 - keepalive: 60 - enabled: true - -#寮傛绾跨▼姹犻厤缃� -ThreadPoolTask: - corePoolSize: 20 - maxPoolSize: 40 - keepAliveSeconds: 300 - queueCapacity: 50 \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application-dev-druid.yml b/ruoyi-admin/src/main/resources/application-dev-druid.yml new file mode 100644 index 0000000..9f8f361 --- /dev/null +++ b/ruoyi-admin/src/main/resources/application-dev-druid.yml @@ -0,0 +1,58 @@ +# 鏁版嵁婧愰厤缃� +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + druid: + # 涓诲簱鏁版嵁婧� + master: + driverClassName: org.postgresql.Driver + url: jdbc:postgresql://192.168.1.15:5432/ry-vue?stringtype=unspecified + username: postgres + password: postgres + # 浠庡簱鏁版嵁婧� + slave: + # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴 + # enabled: true + # driverClassName: org.postgresql.Driver + # url: jdbc:postgresql://112.98.126.2:35432/ard732 + # username: postgres + # password: Yykj.2017 + # 鍒濆杩炴帴鏁� + initialSize: 5 + # 鏈�灏忚繛鎺ユ睜鏁伴噺 + minIdle: 10 + # 鏈�澶ц繛鎺ユ睜鏁伴噺 + maxActive: 20 + # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂� + maxWait: 60000 + # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣 + timeBetweenEvictionRunsMillis: 60000 + # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 + minEvictableIdleTimeMillis: 300000 + # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�澶х敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 + maxEvictableIdleTimeMillis: 900000 + # 閰嶇疆妫�娴嬭繛鎺ユ槸鍚︽湁鏁� + validationQuery: SELECT 1 + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 璁剧疆鐧藉悕鍗曪紝涓嶅~鍒欏厑璁告墍鏈夎闂� + allow: + url-pattern: /druid/* + # 鎺у埗鍙扮鐞嗙敤鎴峰悕鍜屽瘑鐮� + login-username: ruoyi + login-password: 123456 + filter: + stat: + enabled: true + # 鎱QL璁板綍 + log-slow-sql: true + slow-sql-millis: 10000 + merge-sql: true + wall: + config: + multi-statement-allow: true \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml new file mode 100644 index 0000000..961213b --- /dev/null +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -0,0 +1,101 @@ +# 寮�鍙戠幆澧冮厤缃� +server: + # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080 + port: 8080 + servlet: + # 搴旂敤鐨勮闂矾寰� + context-path: / + tomcat: + # tomcat鐨刄RI缂栫爜 + uri-encoding: UTF-8 + # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100 + accept-count: 1000 + threads: + # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200 + max: 800 + # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10 + min-spare: 100 +# Spring閰嶇疆 +spring: + # redis 閰嶇疆 + redis: + # 鍦板潃 + host: 192.168.1.15 + # 绔彛锛岄粯璁や负6379 + port: 6379 + # 鏁版嵁搴撶储寮� + database: 0 + # 瀵嗙爜 + password: + # 杩炴帴瓒呮椂鏃堕棿 + timeout: 10s + lettuce: + pool: + # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺� + min-idle: 0 + # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺� + max-idle: 8 + # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁� + max-active: 8 + # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級 + max-wait: -1ms +# 鏃ュ織閰嶇疆 +logging: + level: + authorize: info + minio: info + hikSdk: info + stealAlarm: info + websocket: info + patrolInspectionTask: info + mqtt: info + guideQueue: info + rongCloud: info + cmd: info + uav: info + sy: info + + +# webrtc-streamer閰嶇疆 +webrtc: + enabled: true + host: 127.0.0.1:8000 +# minio閰嶇疆 +minio: + enabled: false + endpoint: http://192.168.1.15:9001 + accessKey: admin + secretKey: xzx12345 + path: G:/DATA +# forest閰嶇疆 +forest: + backend: okhttp3 # 鍚庣HTTP妗嗘灦锛堥粯璁や负 okhttp3锛� + max-connections: 1000 # 杩炴帴姹犳渶澶ц繛鎺ユ暟锛堥粯璁や负 500锛� + max-route-connections: 500 # 姣忎釜璺敱鐨勬渶澶ц繛鎺ユ暟锛堥粯璁や负 500锛� + max-request-queue-size: 100 # [鑷獀1.5.22鐗堟湰璧峰彲鐢╙ 鏈�澶ц姹傜瓑寰呴槦鍒楀ぇ灏� + max-async-thread-size: 300 # [鑷獀1.5.21鐗堟湰璧峰彲鐢╙ 鏈�澶у紓姝ョ嚎绋嬫暟 + max-async-queue-size: 16 # [鑷獀1.5.22鐗堟湰璧峰彲鐢╙ 鏈�澶у紓姝ョ嚎绋嬫睜闃熷垪澶у皬 + timeout: 3000 # [宸蹭笉鎺ㄨ崘浣跨敤] 璇锋眰瓒呮椂鏃堕棿锛屽崟浣嶄负姣锛堥粯璁や负 3000锛� + connect-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛屽崟浣嶄负姣锛堥粯璁や负 timeout锛� + read-timeout: 3000 # 鏁版嵁璇诲彇瓒呮椂鏃堕棿锛屽崟浣嶄负姣锛堥粯璁や负 timeout锛� + max-retry-count: 0 # 璇锋眰澶辫触鍚庨噸璇曟鏁帮紙榛樿涓� 0 娆′笉閲嶈瘯锛� + ssl-protocol: TLS # 鍗曞悜楠岃瘉鐨凥TTPS鐨勯粯璁LS鍗忚锛堥粯璁や负 TLS锛� + log-enabled: true # 鎵撳紑鎴栧叧闂棩蹇楋紙榛樿涓� true锛� + log-request: true # 鎵撳紑/鍏抽棴Forest璇锋眰鏃ュ織锛堥粯璁や负 true锛� + log-response-status: true # 鎵撳紑/鍏抽棴Forest鍝嶅簲鐘舵�佹棩蹇楋紙榛樿涓� true锛� + log-response-content: true # 鎵撳紑/鍏抽棴Forest鍝嶅簲鍐呭鏃ュ織锛堥粯璁や负 false锛� + async-mode: platform # [鑷獀1.5.27鐗堟湰璧峰彲鐢╙ 寮傛妯″紡锛堥粯璁や负 platform锛� +#娴佸獟浣撹浆鐮佹湇鍔″櫒 +mediamtx: + enabled: true + host: 127.0.0.1 +#mqtt +mqtt: + host: tcp://192.168.1.15:1883 + clientId: m227 + username: admin + password: xzx12345 + topic: minioEvent + timeout: 100 + keepalive: 60 + enabled: true \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml deleted file mode 100644 index 031a481..0000000 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ /dev/null @@ -1,61 +0,0 @@ -# 鏁版嵁婧愰厤缃� -spring: - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - # 涓诲簱鏁版嵁婧� - master: - driverClassName: org.postgresql.Driver - url: jdbc:postgresql://111.40.46.199:15432/ry-vue?stringtype=unspecified - username: postgres - password: Yykj.2021 -# url: jdbc:postgresql://192.168.1.15:5432/ry-vue?stringtype=unspecified -# username: postgres -# password: postgres - # 浠庡簱鏁版嵁婧� - slave: - # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴 -# enabled: true -# driverClassName: org.postgresql.Driver -# url: jdbc:postgresql://112.98.126.2:35432/ard732 -# username: postgres -# password: Yykj.2017 - # 鍒濆杩炴帴鏁� - initialSize: 5 - # 鏈�灏忚繛鎺ユ睜鏁伴噺 - minIdle: 10 - # 鏈�澶ц繛鎺ユ睜鏁伴噺 - maxActive: 20 - # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂� - maxWait: 60000 - # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣 - timeBetweenEvictionRunsMillis: 60000 - # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 - minEvictableIdleTimeMillis: 300000 - # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�澶х敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 - maxEvictableIdleTimeMillis: 900000 - # 閰嶇疆妫�娴嬭繛鎺ユ槸鍚︽湁鏁� - validationQuery: SELECT 1 - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - webStatFilter: - enabled: true - statViewServlet: - enabled: true - # 璁剧疆鐧藉悕鍗曪紝涓嶅~鍒欏厑璁告墍鏈夎闂� - allow: - url-pattern: /druid/* - # 鎺у埗鍙扮鐞嗙敤鎴峰悕鍜屽瘑鐮� - login-username: ruoyi - login-password: 123456 - filter: - stat: - enabled: true - # 鎱QL璁板綍 - log-slow-sql: true - slow-sql-millis: 1000 - merge-sql: true - wall: - config: - multi-statement-allow: true \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application-prod-druid.yml b/ruoyi-admin/src/main/resources/application-prod-druid.yml new file mode 100644 index 0000000..ede32e6 --- /dev/null +++ b/ruoyi-admin/src/main/resources/application-prod-druid.yml @@ -0,0 +1,58 @@ +# 鏁版嵁婧愰厤缃� +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + druid: + # 涓诲簱鏁版嵁婧� + master: + driverClassName: org.postgresql.Driver + url: jdbc:postgresql://112.98.126.2:35432/ry-vue?stringtype=unspecified + username: postgres + password: Yykj.2017 + # 浠庡簱鏁版嵁婧� + slave: + # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴 + # enabled: true + # driverClassName: org.postgresql.Driver + # url: jdbc:postgresql://112.98.126.2:35432/ard732 + # username: postgres + # password: Yykj.2017 + # 鍒濆杩炴帴鏁� + initialSize: 5 + # 鏈�灏忚繛鎺ユ睜鏁伴噺 + minIdle: 10 + # 鏈�澶ц繛鎺ユ睜鏁伴噺 + maxActive: 20 + # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂� + maxWait: 60000 + # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣 + timeBetweenEvictionRunsMillis: 60000 + # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 + minEvictableIdleTimeMillis: 300000 + # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�澶х敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 + maxEvictableIdleTimeMillis: 900000 + # 閰嶇疆妫�娴嬭繛鎺ユ槸鍚︽湁鏁� + validationQuery: SELECT 1 + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 璁剧疆鐧藉悕鍗曪紝涓嶅~鍒欏厑璁告墍鏈夎闂� + allow: + url-pattern: /druid/* + # 鎺у埗鍙扮鐞嗙敤鎴峰悕鍜屽瘑鐮� + login-username: ruoyi + login-password: 123456 + filter: + stat: + enabled: true + # 鎱QL璁板綍 + log-slow-sql: true + slow-sql-millis: 10000 + merge-sql: true + wall: + config: + multi-statement-allow: true \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml new file mode 100644 index 0000000..67cc120 --- /dev/null +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -0,0 +1,101 @@ +# 鐢熶骇鐜閰嶇疆 +server: + # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080 + port: 8080 + servlet: + # 搴旂敤鐨勮闂矾寰� + context-path: / + tomcat: + # tomcat鐨刄RI缂栫爜 + uri-encoding: UTF-8 + # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100 + accept-count: 1000 + threads: + # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200 + max: 800 + # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10 + min-spare: 100 +# Spring閰嶇疆 +spring: + # redis 閰嶇疆 + redis: + # 鍦板潃 + host: 192.168.5.229 + # 绔彛锛岄粯璁や负6379 + port: 6379 + # 鏁版嵁搴撶储寮� + database: 0 + # 瀵嗙爜 + password: + # 杩炴帴瓒呮椂鏃堕棿 + timeout: 10s + lettuce: + pool: + # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺� + min-idle: 0 + # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺� + max-idle: 8 + # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁� + max-active: 8 + # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級 + max-wait: -1ms +# 鏃ュ織閰嶇疆 +logging: + level: + authorize: info + minio: info + hikSdk: info + stealAlarm: info + websocket: info + patrolInspectionTask: info + mqtt: info + guideQueue: info + rongCloud: info + cmd: info + uav: info + sy: info + +# webrtc-streamer閰嶇疆 +webrtc: + enabled: false + host: 192.168.5.229:8000 + +# minio閰嶇疆 +minio: + enabled: false + endpoint: http://192.168.5.229:9001 + accessKey: admin + secretKey: xzx12345 + path: F:/DATA +# forest閰嶇疆 +forest: + backend: okhttp3 # 鍚庣HTTP妗嗘灦锛堥粯璁や负 okhttp3锛� + max-connections: 1000 # 杩炴帴姹犳渶澶ц繛鎺ユ暟锛堥粯璁や负 500锛� + max-route-connections: 500 # 姣忎釜璺敱鐨勬渶澶ц繛鎺ユ暟锛堥粯璁や负 500锛� + max-request-queue-size: 100 # [鑷獀1.5.22鐗堟湰璧峰彲鐢╙ 鏈�澶ц姹傜瓑寰呴槦鍒楀ぇ灏� + max-async-thread-size: 300 # [鑷獀1.5.21鐗堟湰璧峰彲鐢╙ 鏈�澶у紓姝ョ嚎绋嬫暟 + max-async-queue-size: 16 # [鑷獀1.5.22鐗堟湰璧峰彲鐢╙ 鏈�澶у紓姝ョ嚎绋嬫睜闃熷垪澶у皬 + timeout: 3000 # [宸蹭笉鎺ㄨ崘浣跨敤] 璇锋眰瓒呮椂鏃堕棿锛屽崟浣嶄负姣锛堥粯璁や负 3000锛� + connect-timeout: 3000 # 杩炴帴瓒呮椂鏃堕棿锛屽崟浣嶄负姣锛堥粯璁や负 timeout锛� + read-timeout: 3000 # 鏁版嵁璇诲彇瓒呮椂鏃堕棿锛屽崟浣嶄负姣锛堥粯璁や负 timeout锛� + max-retry-count: 0 # 璇锋眰澶辫触鍚庨噸璇曟鏁帮紙榛樿涓� 0 娆′笉閲嶈瘯锛� + ssl-protocol: TLS # 鍗曞悜楠岃瘉鐨凥TTPS鐨勯粯璁LS鍗忚锛堥粯璁や负 TLS锛� + log-enabled: true # 鎵撳紑鎴栧叧闂棩蹇楋紙榛樿涓� true锛� + log-request: true # 鎵撳紑/鍏抽棴Forest璇锋眰鏃ュ織锛堥粯璁や负 true锛� + log-response-status: true # 鎵撳紑/鍏抽棴Forest鍝嶅簲鐘舵�佹棩蹇楋紙榛樿涓� true锛� + log-response-content: true # 鎵撳紑/鍏抽棴Forest鍝嶅簲鍐呭鏃ュ織锛堥粯璁や负 false锛� + async-mode: platform # [鑷獀1.5.27鐗堟湰璧峰彲鐢╙ 寮傛妯″紡锛堥粯璁や负 platform锛� +#娴佸獟浣撹浆鐮佹湇鍔″櫒 +mediamtx: + enabled: true + host: 192.168.5.229 +#mqtt +mqtt: + host: tcp://192.168.5.229:1883 + clientId: server229 + username: admin + password: xzx12345 + topic: minioEvent,apponekey,camera,external + timeout: 100 + keepalive: 60 + enabled: true \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 6903577..d97225f 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -14,33 +14,6 @@ addressEnabled: false # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉 captchaType: char - -# 寮�鍙戠幆澧冮厤缃� -server: - # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080 - port: 8080 - servlet: - # 搴旂敤鐨勮闂矾寰� - context-path: / - tomcat: - # tomcat鐨刄RI缂栫爜 - uri-encoding: UTF-8 - # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100 - accept-count: 1000 - threads: - # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200 - max: 800 - # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10 - min-spare: 100 - -# 鏃ュ織閰嶇疆 -logging: - level: - com.ruoyi.utils.tube: debug - com.ruoyi.inspect: info - org.springframework: warn - com.example.mapper: debug - # 鐢ㄦ埛閰嶇疆 user: password: @@ -48,60 +21,14 @@ maxRetryCount: 5 # 瀵嗙爜閿佸畾鏃堕棿锛堥粯璁�10鍒嗛挓锛� lockTime: 10 - -# Spring閰嶇疆 -spring: - # 璧勬簮淇℃伅 - messages: - # 鍥介檯鍖栬祫婧愭枃浠惰矾寰� - basename: i18n/messages - profiles: - active: druid,ard - # 鏂囦欢涓婁紶 - servlet: - multipart: - # 鍗曚釜鏂囦欢澶у皬 - max-file-size: 10MB - # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬 - max-request-size: 20MB - # 鏈嶅姟妯″潡 - devtools: - restart: - # 鐑儴缃插紑鍏� - enabled: false - # redis 閰嶇疆 - redis: - # 鍦板潃 - host: 192.168.1.15 - # 绔彛锛岄粯璁や负6379 - port: 6379 - # 鏁版嵁搴撶储寮� - database: 0 - # 瀵嗙爜 - password: - # 杩炴帴瓒呮椂鏃堕棿 - timeout: 10s - lettuce: - pool: - # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺� - min-idle: 0 - # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺� - max-idle: 8 - # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁� - max-active: 8 - # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級 - max-wait: -1ms - thymeleaf: - cache: false # token閰嶇疆 token: - # 浠ょ墝鑷畾涔夋爣璇� - header: Authorization - # 浠ょ墝瀵嗛挜 - secret: abcdefghijklmnopqrstuvwxyz - # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛� - expireTime: 30 - + # 浠ょ墝鑷畾涔夋爣璇� + header: Authorization + # 浠ょ墝瀵嗛挜 + secret: abcdefghijklmnopqrstuvwxyz + # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛� + expireTime: 30 # MyBatis閰嶇疆 #mybatis: # # 鎼滅储鎸囧畾鍖呭埆鍚� @@ -114,6 +41,10 @@ type-Aliases-Package: com.ruoyi.**.domain mapper-Locations: classpath*:mapper/**/*Mapper.xml config-Location: classpath:mybatis/mybatis-config.xml + global-config: + banner: off # 鍏抽棴mybatisplus鍚姩鍥炬爣 + db-config: #涓婚敭涓嶇敤MyBatis plus鐨勯洩鑺辩畻娉�,鐢ㄦ暟鎹簱鐨勪富閿嚜澧� + id-type: auto # configuration: # # 鏄惁寮�鍚嚜鍔ㄩ┘宄板懡鍚嶈鍒欐槧灏�:浠庢暟鎹簱鍒楀悕鍒癑ava灞炴�ч┘宄板懡鍚嶇殑绫讳技鏄犲皠 # map-underscore-to-camel-case: true @@ -121,30 +52,54 @@ # call-setters-on-nulls: true # # 杩欎釜閰嶇疆浼氬皢鎵ц鐨剆ql鎵撳嵃鍑烘潵锛屽湪寮�鍙戞垨娴嬭瘯鐨勬椂鍊欏彲浠ョ敤 # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - - # PageHelper鍒嗛〉鎻掍欢 -pagehelper: +pagehelper: helperDialect: postgresql supportMethodsArguments: true - params: count=countSql - + params: count=countSql # Swagger閰嶇疆 swagger: # 鏄惁寮�鍚痵wagger enabled: true # 璇锋眰鍓嶇紑 pathMapping: / - # knife4j澧炲己鍔熻兘 knife4j: enable: true - # 闃叉XSS鏀诲嚮 -xss: +xss: # 杩囨护寮�鍏� enabled: true # 鎺掗櫎閾炬帴锛堝涓敤閫楀彿鍒嗛殧锛� excludes: /system/notice # 鍖归厤閾炬帴 urlPatterns: /system/*,/monitor/*,/tool/* +#寮傛绾跨▼姹犻厤缃� +ThreadPoolTask: + corePoolSize: 20 + maxPoolSize: 40 + keepAliveSeconds: 300 + queueCapacity: 50 +# Spring閰嶇疆 +spring: + # 璧勬簮淇℃伅 + messages: + # 鍥介檯鍖栬祫婧愭枃浠惰矾寰� + basename: i18n/messages + # 鏂囦欢涓婁紶 + servlet: + multipart: + # 鍗曚釜鏂囦欢澶у皬 + max-file-size: 10MB + # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬 + max-request-size: 20MB + # 鏈嶅姟妯″潡 + devtools: + restart: + # 鐑儴缃插紑鍏� + enabled: false + thymeleaf: + cache: false + profiles: + active: prod-druid,prod + diff --git a/ruoyi-admin/src/main/resources/banner.txt b/ruoyi-admin/src/main/resources/banner.txt index 53d0f3d..4a3834f 100644 --- a/ruoyi-admin/src/main/resources/banner.txt +++ b/ruoyi-admin/src/main/resources/banner.txt @@ -1,13 +1,3 @@ Application Version: ${ard.version} Spring Boot Version: ${spring-boot.version} - ___ ___ ___ - /\ \ /\ \ /\ \ - /::\ \ /::\ \ /::\ \ - /:/\:\ \ /:/\:\ \ /:/\:\ \ - /::\~\:\ \ /::\~\:\ \ /:/ \:\__\ - /:/\:\ \:\__/:/\:\ \:\__/:/__/ \:|__| - \/__\:\/:/ \/_|::\/:/ \:\ \ /:/ / - \::/ / |:|::/ / \:\ /:/ / - /:/ / |:|\/__/ \:\/:/ / - /:/ / |:| | \::/__/ - \/__/ \|__| ~~ +瀹夌憺杈�4.0骞冲彴寮�濮嬪惎鍔� \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml index dfa352c..6cef4b9 100644 --- a/ruoyi-admin/src/main/resources/logback.xml +++ b/ruoyi-admin/src/main/resources/logback.xml @@ -69,11 +69,11 @@ </encoder> </appender> <!-- Authorize鏃ュ織杈撳嚭 --> - <appender name="Authorize" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/Authorize.log</file> + <appender name="authorize" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/authorize.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 鎸夊ぉ鍥炴粴 daily --> - <fileNamePattern>${log.path}/Authorize.%d{yyyy-MM-dd}.log</fileNamePattern> + <fileNamePattern>${log.path}/authorize.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> <maxHistory>60</maxHistory> </rollingPolicy> @@ -160,11 +160,11 @@ </encoder> </appender> <!--PatrolInspectionTask鏃ュ織杈撳嚭--> - <appender name="PatrolInspectionTask" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/PatrolInspectionTask.log</file> + <appender name="patrolInspectionTask" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/patrolInspectionTask.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--鎸夊ぉ鍥炴粴daily--> - <fileNamePattern>${log.path}/PatrolInspectionTask.%d{yyyy-MM-dd}.log</fileNamePattern> + <fileNamePattern>${log.path}/patrolInspectionTask.%d{yyyy-MM-dd}.log</fileNamePattern> <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> <maxHistory>60</maxHistory> </rollingPolicy> @@ -241,53 +241,5 @@ <!--绯荤粺鐢ㄦ埛鎿嶄綔鏃ュ織--> <logger name="sys-user" level="INFO"> <appender-ref ref="sys-user"/> - </logger> - <!--Authorize鏃ュ織--> - <logger name="Authorize" level="INFO"> - <appender-ref ref="Authorize"/> - </logger> - <!--minio鏃ュ織鎵撳嵃绛夌骇--> - <logger name="minio" level="INFO"> - <appender-ref ref="minio"/> - </logger> - <!--hiksdk鏃ュ織鎵撳嵃绛夌骇--> - <logger name="hikSdk" level="debug"> - <appender-ref ref="hikSdk"/> - </logger> - <!--鐩楃數鎶ヨ鏃ュ織鎵撳嵃绛夌骇--> - <logger name="stealAlarm" level="INFO"> - <appender-ref ref="stealAlarm"/> - </logger> - <!--websocket鏃ュ織鎵撳嵃绛夌骇--> - <logger name="websocket" level="INFO"> - <appender-ref ref="websocket"/> - </logger> - <!--鍏夌數宸℃鏃ュ織鎵撳嵃绛夌骇--> - <logger name="PatrolInspectionTask" level="INFO"> - <appender-ref ref="PatrolInspectionTask"/> - </logger> - <!--mqtt鏃ュ織鎵撳嵃绛夌骇--> - <logger name="mqtt" level="debug"> - <appender-ref ref="mqtt"/> - </logger> - <!--guideQueue鏃ュ織鎵撳嵃绛夌骇--> - <logger name="guideQueue" level="INFO"> - <appender-ref ref="guideQueue"/> - </logger> - <!--rongCloud鏃ュ織鎵撳嵃绛夌骇--> - <logger name="rongCloud" level="INFO"> - <appender-ref ref="rongCloud"/> - </logger> - <!--cmd鏃ュ織鎵撳嵃绛夌骇--> - <logger name="cmd" level="INFO"> - <appender-ref ref="cmd"/> - </logger> - <!--鏃犱汉鏈烘棩蹇楁墦鍗扮瓑绾�--> - <logger name="uav" level="INFO"> - <appender-ref ref="uav"/> - </logger> - <!--涓変竴杞﹁締鏃ュ織鎵撳嵃绛夌骇--> - <logger name="sy" level="INFO"> - <appender-ref ref="sy"/> </logger> </configuration> \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysConfig.java similarity index 98% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java rename to ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysConfig.java index c54678c..79e16ab 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.domain; +package com.ruoyi.common.core.domain.entity; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java index 1098fd8..e035b3c 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java @@ -1,10 +1,6 @@ package com.ruoyi.common.core.redis; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.concurrent.TimeUnit; import org.springframework.beans.factory.annotation.Autowired; @@ -249,8 +245,22 @@ * 鏍规嵁鍓嶇紑鑾峰彇鎵�鏈夌殑key* 渚嬪锛歱ro_ */ public List<Object> getListKey(String prefix) { - Set<Object> keys = redisTemplate.keys(prefix+"*"); + Set<Object> keys = redisTemplate.keys(prefix + "*"); List<Object> values = redisTemplate.opsForValue().multiGet(keys); return values; } + + /** + * 鏍规嵁鍓嶇紑鑾峰彇鎵�鏈夌殑key* 渚嬪锛歱ro_ + */ + public HashMap<String, Object> getMapKey(String prefix) { + HashMap<String, Object> map = new HashMap<>(); + Set<String> keys = redisTemplate.keys(prefix + "*"); + for (String key : keys) { + Object value = redisTemplate.opsForValue().get(key); + String nKey = key.replace(prefix, ""); + map.put(nKey, value); + } + return map; + } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ConfigUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ConfigUtils.java new file mode 100644 index 0000000..1df7a75 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ConfigUtils.java @@ -0,0 +1,55 @@ +package com.ruoyi.common.utils; + +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.spring.SpringUtils; + +import java.util.Map; + + +/** + * @Description: 閰嶇疆宸ュ叿绫� + * @ClassName: ConfigUtils + * @Author: 鍒樿嫃涔� + * @Date: 2023骞�08鏈�23鏃�16:12:09 + * @Version: 1.0 + **/ +public class ConfigUtils { + /** + * 鏍规嵁閰嶇疆key鑾峰彇閰嶇疆value鍊� + * + * @param key 閰嶇疆key + * @return configValue 閰嶇疆value鍊� + */ + public static String getConfigValue(String key) { + String configValue = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); + if (StringUtils.isNotNull(configValue)) { + return configValue; + } + return null; + } + + /** + * 鑾峰彇鎵�鏈夐厤缃俊鎭� + * + * @return configMap 閰嶇疆淇℃伅map + */ + public static Map<String, Object> getConfigMap() { + Map<String, Object> configMap = SpringUtils.getBean(RedisCache.class).getMapKey(CacheConstants.SYS_CONFIG_KEY); + if (StringUtils.isNotNull(configMap)) { + return configMap; + } + return null; + } + + /** + * 璁剧疆cache key + * + * @param configKey 鍙傛暟閿� + * @return 缂撳瓨閿甼ey + */ + public static String getCacheKey(String configKey) { + return CacheConstants.SYS_CONFIG_KEY + configKey; + } + +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java index 3ca0f65..69ea287 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.time.ZoneId; import java.time.format.DateTimeFormatter; @@ -21,6 +22,8 @@ @Component("MinioTask") @Slf4j(topic = "minio") public class MinioTask { + @Resource + MinioUtils minioUtil; public void delHistoryTask(Integer saveDays) { log.debug("鎵ц鍘嗗彶鏁版嵁鍒犻櫎"); @@ -30,7 +33,7 @@ buckets.add("pic"); buckets.add("record"); for (String name : buckets) { - Iterable<Result<Item>> listObjectsPic = MinioUtils.getObjectsByBucket(name); + Iterable<Result<Item>> listObjectsPic = minioUtil.getObjectsByBucket(name); for (Result<Item> result : listObjectsPic) { Item item = result.get(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.of("Asia/Shanghai")); @@ -48,7 +51,7 @@ log.debug("objectTime : " + objectTime); log.debug("expireTime : " + expireTime); log.debug("objectTime 鏃堕棿鍦� expireTime 涔嬪墠,鎵ц鍒犻櫎"); - boolean b = MinioUtils.removeObject(name, item.objectName()); + boolean b = minioUtil.removeObject(name, item.objectName()); if (b) { log.debug("鎴愬姛鍒犻櫎杩囨湡鏁版嵁锛�" + item.objectName() + "---" + item.lastModified()); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/authorize/common/AuthorizeUtil.java b/ruoyi-system/src/main/java/com/ruoyi/authorize/common/AuthorizeUtil.java index be030c1..ba7446a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/authorize/common/AuthorizeUtil.java +++ b/ruoyi-system/src/main/java/com/ruoyi/authorize/common/AuthorizeUtil.java @@ -19,7 +19,7 @@ import javax.crypto.spec.SecretKeySpec; import javax.xml.bind.DatatypeConverter; -@Slf4j(topic="Authorize") +@Slf4j(topic="authorize") public class AuthorizeUtil { public static String MachineCode=""; @@ -36,9 +36,9 @@ public static void main(String[] args) { AuthorizeUtil ss = new AuthorizeUtil(); - System.out.println("sysStr " + ss.parsLicense()); - System.out.println("MachineCode " + ss.getMachineCode()); - System.out.println("CPUCode " + ss.getCPUCode()); + log.debug("sysStr " + ss.parsLicense()); + log.debug("MachineCode " + ss.getMachineCode()); + log.debug("CPUCode " + ss.getCPUCode()); //String codeString=ss.parsLicense("b1db709f19d9769e536e2e29888e38b2"); //System.out.println(codeString); //ss.makeTempLicense(); @@ -103,7 +103,9 @@ } catch (Exception e) { log.error("鑾峰彇鏈哄櫒鐮佸紓甯革細"+e.getMessage()); } - return Md5Utils.hash(sb.toString().toUpperCase()); + String code = Md5Utils.hash(sb.toString().toUpperCase()); + log.debug("鏈哄櫒鐮�:"+code); + return code; } public static String getCPUCode() { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java index 6bf1ca5..6918853 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java @@ -1,7 +1,7 @@ package com.ruoyi.system.mapper; import java.util.List; -import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.common.core.domain.entity.SysConfig; /** * 鍙傛暟閰嶇疆 鏁版嵁灞� diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java index 50cdf83..6aebca6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java @@ -1,7 +1,7 @@ package com.ruoyi.system.service; import java.util.List; -import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.common.core.domain.entity.SysConfig; /** * 鍙傛暟閰嶇疆 鏈嶅姟灞� diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java index dd79ede..3a42b75 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java @@ -5,7 +5,6 @@ import javax.annotation.PostConstruct; import javax.annotation.Resource; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.common.annotation.DataSource; import com.ruoyi.common.constant.CacheConstants; @@ -15,7 +14,7 @@ import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.common.core.domain.entity.SysConfig; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.system.service.ISysConfigService; -- Gitblit v1.9.3