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: # 时区上海