From 863aa2fa33de2782a9938dcafb683aedb5048762 Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: Sat, 19 Feb 2022 19:19:37 +0800 Subject: [PATCH] =?UTF-8?q?!11sync=20--=20=E5=90=8C=E6=AD=A5=20RuoYi-Vue-P?= =?UTF-8?q?lus=20=E6=9B=B4=E6=96=B0=20update=20=E6=9B=B4=E6=96=B0uuid?= =?UTF-8?q?=E5=8E=BB=E9=99=A4=E9=BB=98=E8=AE=A4=E5=80=BC=20=E6=BC=8F?= =?UTF-8?q?=E6=94=B9=20fix=20=E4=BF=AE=E5=A4=8D=20insertOrUpdateBatch=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=A8=A1=E6=9D=BF=E9=94=99=E8=AF=AF=20update?= =?UTF-8?q?=20=E6=9B=B4=E6=96=B0=20=E6=89=80=E6=9C=89=20oss=20=E5=9D=87?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20https=20=E9=85=8D=E7=BD=AE=20fix=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=86=E9=A1=B5=E7=BB=84=E4=BB=B6=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E4=B8=A4=E6=AC=A1=E9=97=AE=E9=A2=98(I4SQOR)=20update?= =?UTF-8?q?=20=E5=8E=BB=E9=99=A4=E7=BC=96=E8=AF=91=E5=99=A8=E8=AD=A6?= =?UTF-8?q?=E5=91=8A=20=E8=A7=84=E8=8C=83=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit update 更新uuid去除默认值 漏改 fix 修复 insertOrUpdateBatch 获取模板错误 update 更新 所有 oss 均支持 https 配置 fix 修复分页组件请求两次问题(I4SQOR) update 去除编译器警告 规范写法 add 增加页面更新说明 fix 修复 minio 适配 https 导致的问题 update 更新 多用户多设备的注释说明 发布 4.0.0 --- pom.xml | 8 +-- ruoyi-admin/pom.xml | 2 +- ruoyi-common/pom.xml | 2 +- .../common/core/mapper/BaseMapperPlus.java | 2 +- .../com/ruoyi/common/helper/LoginHelper.java | 11 +++- ruoyi-demo/pom.xml | 2 +- ruoyi-extend/pom.xml | 2 +- ruoyi-extend/ruoyi-monitor-admin/pom.xml | 2 +- ruoyi-extend/ruoyi-xxl-job-admin/pom.xml | 2 +- ruoyi-flowable/pom.xml | 2 +- ruoyi-framework/pom.xml | 2 +- ruoyi-generator/pom.xml | 2 +- .../service/GenTableServiceImpl.java | 9 +-- ruoyi-job/pom.xml | 2 +- ruoyi-oss/pom.xml | 2 +- .../com/ruoyi/oss/constant/OssConstant.java | 17 +++-- .../oss/service/impl/AliyunOssStrategy.java | 5 ++ .../oss/service/impl/MinioOssStrategy.java | 16 +++-- .../oss/service/impl/QcloudOssStrategy.java | 3 +- .../oss/service/impl/QiniuOssStrategy.java | 4 +- ruoyi-system/pom.xml | 2 +- ruoyi-ui/package.json | 2 +- ruoyi-ui/src/components/Pagination/index.vue | 12 ++++ ruoyi-ui/src/views/index.vue | 66 ++++++++++++++++++- ruoyi-ui/src/views/login.vue | 2 +- script/docker/docker-compose.yml | 20 +++--- 26 files changed, 151 insertions(+), 50 deletions(-) diff --git a/pom.xml b/pom.xml index 5015baa7..3fe21596 100644 --- a/pom.xml +++ b/pom.xml @@ -6,15 +6,15 @@ com.ruoyi ruoyi-flowable-plus - 3.5.0 + 4.0.0 RuoYi-Flowable-Plus https://gitee.com/KonBAI-Q/ruoyi-flowable-plus RuoYi-Flowable-Plus后台管理系统 - 3.5.0 - 2.5.8 + 4.0.0 + 2.6.3 UTF-8 UTF-8 1.8 @@ -273,7 +273,7 @@ ${ruoyi-flowable-plus.version} - + com.ruoyi ruoyi-flowable diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 9551b4c4..10887392 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 jar diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index 71c74762..138b1ca2 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/mapper/BaseMapperPlus.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/mapper/BaseMapperPlus.java index d3f61950..1ff35792 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/mapper/BaseMapperPlus.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/mapper/BaseMapperPlus.java @@ -108,7 +108,7 @@ public interface BaseMapperPlus extends BaseMapper { Assert.notEmpty(keyProperty, "error: can not execute. because can not find column for id from entity!"); return SqlHelper.saveOrUpdateBatch(this.currentModelClass(), this.currentMapperClass(), log, entityList, batchSize, (sqlSession, entity) -> { Object idVal = tableInfo.getPropertyValue(entity, keyProperty); - String sqlStatement = SqlHelper.getSqlStatement(this.currentMapperClass(), SqlMethod.INSERT_ONE); + String sqlStatement = SqlHelper.getSqlStatement(this.currentMapperClass(), SqlMethod.SELECT_BY_ID); return StringUtils.checkValNull(idVal) || CollectionUtils.isEmpty(sqlSession.selectList(sqlStatement, entity)); }, (sqlSession, entity) -> { diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java b/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java index 4b1f83f4..13050698 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java @@ -12,7 +12,13 @@ import lombok.NoArgsConstructor; /** * 登录鉴权助手 - * 为适配多端登录而封装 + * + * user_type 为 用户类型 同一个用户表 可以有多种用户类型 例如 pc,app + * deivce 为 设备类型 同一个用户类型 可以有 多种设备类型 例如 web,ios + * 可以组成 用户类型与设备类型多对多的 权限灵活控制 + * + * 多用户体系 针对 多种用户类型 但权限控制不一致 + * 可以组成 多用户类型表与多设备类型 分别控制权限 * * @author Lion Li */ @@ -26,7 +32,6 @@ public class LoginHelper { /** * 登录系统 - * 针对两套用户体系 * * @param loginUser 登录用户信息 */ @@ -38,7 +43,7 @@ public class LoginHelper { /** * 登录系统 基于 设备类型 - * 针对一套用户体系 + * 针对相同用户体系不同设备 * * @param loginUser 登录用户信息 */ diff --git a/ruoyi-demo/pom.xml b/ruoyi-demo/pom.xml index 9ac16801..7b7d7a4a 100644 --- a/ruoyi-demo/pom.xml +++ b/ruoyi-demo/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 diff --git a/ruoyi-extend/pom.xml b/ruoyi-extend/pom.xml index e016915c..8e9e5d9e 100644 --- a/ruoyi-extend/pom.xml +++ b/ruoyi-extend/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 ruoyi-extend diff --git a/ruoyi-extend/ruoyi-monitor-admin/pom.xml b/ruoyi-extend/ruoyi-monitor-admin/pom.xml index e21cc6da..6159ccc3 100644 --- a/ruoyi-extend/ruoyi-monitor-admin/pom.xml +++ b/ruoyi-extend/ruoyi-monitor-admin/pom.xml @@ -5,7 +5,7 @@ ruoyi-extend com.ruoyi - 3.5.0 + 4.0.0 4.0.0 jar diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/pom.xml b/ruoyi-extend/ruoyi-xxl-job-admin/pom.xml index a2e64058..f444c312 100644 --- a/ruoyi-extend/ruoyi-xxl-job-admin/pom.xml +++ b/ruoyi-extend/ruoyi-xxl-job-admin/pom.xml @@ -4,7 +4,7 @@ ruoyi-extend com.ruoyi - 3.5.0 + 4.0.0 ruoyi-xxl-job-admin jar diff --git a/ruoyi-flowable/pom.xml b/ruoyi-flowable/pom.xml index 0e0b19ea..ae72ad05 100644 --- a/ruoyi-flowable/pom.xml +++ b/ruoyi-flowable/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml index c118fb97..d784e103 100644 --- a/ruoyi-framework/pom.xml +++ b/ruoyi-framework/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 diff --git a/ruoyi-generator/pom.xml b/ruoyi-generator/pom.xml index 436f3bd8..c16b2796 100644 --- a/ruoyi-generator/pom.xml +++ b/ruoyi-generator/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java index 787c80ce..154f0263 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java @@ -382,12 +382,13 @@ public class GenTableServiceImpl implements IGenTableService { @Override public void validateEdit(GenTable genTable) { if (GenConstants.TPL_TREE.equals(genTable.getTplCategory())) { - Map paramsObj = genTable.getParams(); - if (ObjectUtil.isEmpty(paramsObj.get(GenConstants.TREE_CODE))) { + String options = JsonUtils.toJsonString(genTable.getParams()); + Dict paramsObj = JsonUtils.parseMap(options); + if (StringUtils.isEmpty(paramsObj.getStr(GenConstants.TREE_CODE))) { throw new ServiceException("树编码字段不能为空"); - } else if (ObjectUtil.isEmpty(paramsObj.get(GenConstants.TREE_PARENT_CODE))) { + } else if (StringUtils.isEmpty(paramsObj.getStr(GenConstants.TREE_PARENT_CODE))) { throw new ServiceException("树父编码字段不能为空"); - } else if (ObjectUtil.isEmpty(paramsObj.get(GenConstants.TREE_NAME))) { + } else if (StringUtils.isEmpty(paramsObj.getStr(GenConstants.TREE_NAME))) { throw new ServiceException("树名称字段不能为空"); } else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) { if (StringUtils.isEmpty(genTable.getSubTableName())) { diff --git a/ruoyi-job/pom.xml b/ruoyi-job/pom.xml index e5c3aa30..4b514e87 100644 --- a/ruoyi-job/pom.xml +++ b/ruoyi-job/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 jar diff --git a/ruoyi-oss/pom.xml b/ruoyi-oss/pom.xml index 9cc660e4..4c710d2c 100644 --- a/ruoyi-oss/pom.xml +++ b/ruoyi-oss/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java index fe966aaa..6c00cd8d 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java @@ -8,31 +8,36 @@ import java.util.List; * * @author Lion Li */ -public class OssConstant { +public interface OssConstant { /** * OSS模块KEY */ - public static final String SYS_OSS_KEY = "sys_oss:"; + String SYS_OSS_KEY = "sys_oss:"; /** * 对象存储配置KEY */ - public static final String OSS_CONFIG_KEY = "OssConfig"; + String OSS_CONFIG_KEY = "OssConfig"; /** * 缓存配置KEY */ - public static final String CACHE_CONFIG_KEY = SYS_OSS_KEY + OSS_CONFIG_KEY; + String CACHE_CONFIG_KEY = SYS_OSS_KEY + OSS_CONFIG_KEY; /** * 预览列表资源开关Key */ - public static final String PEREVIEW_LIST_RESOURCE_KEY = "sys.oss.previewListResource"; + String PEREVIEW_LIST_RESOURCE_KEY = "sys.oss.previewListResource"; /** * 系统数据ids */ - public static final List SYSTEM_DATA_IDS = Arrays.asList(1, 2, 3, 4); + List SYSTEM_DATA_IDS = Arrays.asList(1, 2, 3, 4); + + /** + * https 状态 + */ + String IS_HTTPS = "Y"; } diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunOssStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunOssStrategy.java index adfce098..62c29228 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunOssStrategy.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunOssStrategy.java @@ -3,11 +3,13 @@ package com.ruoyi.oss.service.impl; import com.aliyun.oss.ClientConfiguration; import com.aliyun.oss.OSSClient; import com.aliyun.oss.common.auth.DefaultCredentialProvider; +import com.aliyun.oss.common.comm.Protocol; import com.aliyun.oss.model.CannedAccessControlList; import com.aliyun.oss.model.CreateBucketRequest; import com.aliyun.oss.model.ObjectMetadata; import com.aliyun.oss.model.PutObjectRequest; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.oss.constant.OssConstant; import com.ruoyi.oss.entity.UploadResult; import com.ruoyi.oss.enumd.OssEnumd; import com.ruoyi.oss.exception.OssException; @@ -33,6 +35,9 @@ public class AliyunOssStrategy extends AbstractOssStrategy { super.init(ossProperties); try { ClientConfiguration configuration = new ClientConfiguration(); + if (OssConstant.IS_HTTPS.equals(ossProperties.getIsHttps())) { + configuration.setProtocol(Protocol.HTTPS); + } DefaultCredentialProvider credentialProvider = new DefaultCredentialProvider( properties.getAccessKey(), properties.getSecretKey()); client = new OSSClient(properties.getEndpoint(), credentialProvider, configuration); diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java index 435606cc..93f88fb3 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java @@ -1,6 +1,7 @@ package com.ruoyi.oss.service.impl; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.oss.constant.OssConstant; import com.ruoyi.oss.entity.UploadResult; import com.ruoyi.oss.enumd.OssEnumd; import com.ruoyi.oss.enumd.PolicyType; @@ -8,6 +9,8 @@ import com.ruoyi.oss.exception.OssException; import com.ruoyi.oss.properties.OssProperties; import com.ruoyi.oss.service.abstractd.AbstractOssStrategy; import io.minio.*; +import io.minio.http.HttpUtils; +import okhttp3.HttpUrl; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; @@ -28,10 +31,15 @@ public class MinioOssStrategy extends AbstractOssStrategy { public void init(OssProperties ossProperties) { super.init(ossProperties); try { - minioClient = MinioClient.builder() - .endpoint(properties.getEndpoint()) - .credentials(properties.getAccessKey(), properties.getSecretKey()) - .build(); + MinioClient.Builder builder = MinioClient.builder(); + if (OssConstant.IS_HTTPS.equals(ossProperties.getIsHttps())) { + HttpUrl url = HttpUtils.getBaseUrl(properties.getEndpoint()) + .newBuilder().scheme("https").build(); + builder.endpoint(url); + } else { + builder.endpoint(properties.getEndpoint()); + } + minioClient = builder.credentials(properties.getAccessKey(), properties.getSecretKey()).build(); createBucket(); } catch (Exception e) { throw new OssException("Minio存储配置错误! 请检查系统配置:[" + e.getMessage() + "]"); diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudOssStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudOssStrategy.java index 21a2f95b..756462e4 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudOssStrategy.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudOssStrategy.java @@ -8,6 +8,7 @@ import com.qcloud.cos.http.HttpProtocol; import com.qcloud.cos.model.*; import com.qcloud.cos.region.Region; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.oss.constant.OssConstant; import com.ruoyi.oss.entity.UploadResult; import com.ruoyi.oss.enumd.OssEnumd; import com.ruoyi.oss.exception.OssException; @@ -38,7 +39,7 @@ public class QcloudOssStrategy extends AbstractOssStrategy { ClientConfig clientConfig = new ClientConfig(); // 设置bucket所在的区域,华南:gz 华北:tj 华东:sh clientConfig.setRegion(new Region(properties.getRegion())); - if ("Y".equals(properties.getIsHttps())) { + if (OssConstant.IS_HTTPS.equals(properties.getIsHttps())) { clientConfig.setHttpProtocol(HttpProtocol.https); } else { clientConfig.setHttpProtocol(HttpProtocol.http); diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuOssStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuOssStrategy.java index a47bc68d..20f13eca 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuOssStrategy.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuOssStrategy.java @@ -7,6 +7,7 @@ import com.qiniu.storage.Configuration; import com.qiniu.storage.Region; import com.qiniu.storage.UploadManager; import com.qiniu.util.Auth; +import com.ruoyi.oss.constant.OssConstant; import com.ruoyi.oss.entity.UploadResult; import com.ruoyi.oss.enumd.OssEnumd; import com.ruoyi.oss.exception.OssException; @@ -35,8 +36,7 @@ public class QiniuOssStrategy extends AbstractOssStrategy { try { Configuration config = new Configuration(getRegion(properties.getRegion())); // https设置 - config.useHttpsDomains = false; - config.useHttpsDomains = "Y".equals(properties.getIsHttps()); + config.useHttpsDomains = OssConstant.IS_HTTPS.equals(properties.getIsHttps()); uploadManager = new UploadManager(config); auth = Auth.create(properties.getAccessKey(), properties.getSecretKey()); bucketManager = new BucketManager(auth, config); diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml index 9e5d73c4..e1ce4220 100644 --- a/ruoyi-system/pom.xml +++ b/ruoyi-system/pom.xml @@ -5,7 +5,7 @@ ruoyi-flowable-plus com.ruoyi - 3.5.0 + 4.0.0 4.0.0 diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index b13577e8..180fc5b7 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -1,6 +1,6 @@ { "name": "ruoyi-flowable-plus", - "version": "3.5.0", + "version": "4.0.0", "description": "RuoYi-Flowable-Plus后台管理系统", "author": "KonBAI", "license": "MIT", diff --git a/ruoyi-ui/src/components/Pagination/index.vue b/ruoyi-ui/src/components/Pagination/index.vue index 5e5d8904..b09f080c 100644 --- a/ruoyi-ui/src/components/Pagination/index.vue +++ b/ruoyi-ui/src/components/Pagination/index.vue @@ -1,6 +1,7 @@ diff --git a/script/docker/docker-compose.yml b/script/docker/docker-compose.yml index 79739c38..50ae4a24 100644 --- a/script/docker/docker-compose.yml +++ b/script/docker/docker-compose.yml @@ -12,7 +12,7 @@ services: # 初始化数据库(后续的初始化sql会在这个库执行) MYSQL_DATABASE: ry-vue ports: - - 3306:3306 + - "3306:3306" volumes: # 数据挂载 - /docker/mysql/data/:/var/lib/mysql/ @@ -38,8 +38,8 @@ services: # 时区上海 TZ: Asia/Shanghai ports: - - 80:80 - - 443:443 + - "80:80" + - "443:443" volumes: # 证书映射 - /docker/nginx/cert:/etc/nginx/cert @@ -58,7 +58,7 @@ services: image: redis:6.2.6 container_name: redis ports: - - 6379:6379 + - "6379:6379" environment: # 时区上海 TZ: Asia/Shanghai @@ -79,9 +79,9 @@ services: container_name: minio ports: # api 端口 - - 9000:9000 + - "9000:9000" # 控制台端口 - - 9001:9001 + - "9001:9001" environment: # 时区上海 TZ: Asia/Shanghai @@ -102,7 +102,7 @@ services: ipv4_address: 172.30.0.54 ruoyi-server1: - image: "ruoyi/ruoyi-server:3.5.0" + image: ruoyi/ruoyi-server:4.0.0 container_name: ruoyi-server1 environment: # 时区上海 @@ -117,7 +117,7 @@ services: ipv4_address: 172.30.0.60 ruoyi-server2: - image: "ruoyi/ruoyi-server:3.5.0" + image: "ruoyi/ruoyi-server:4.0.0" container_name: ruoyi-server2 environment: # 时区上海 @@ -132,7 +132,7 @@ services: ipv4_address: 172.30.0.61 ruoyi-monitor-admin: - image: "ruoyi/ruoyi-monitor-admin:3.5.0" + image: ruoyi/ruoyi-monitor-admin:4.0.0 container_name: ruoyi-monitor-admin environment: # 时区上海 @@ -147,7 +147,7 @@ services: ipv4_address: 172.30.0.90 ruoyi-xxl-job-admin: - image: "ruoyi/ruoyi-xxl-job-admin:3.5.0" + image: ruoyi/ruoyi-xxl-job-admin:4.0.0 container_name: ruoyi-xxl-job-admin environment: # 时区上海