Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
package com.sdm.data.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.constants.CommonConstants;
|
||||
import com.sdm.common.entity.enums.DirTypeEnum;
|
||||
import com.sdm.common.entity.enums.FilePermissionEnum;
|
||||
import com.sdm.common.entity.resp.system.CIDRoleResp;
|
||||
import com.sdm.common.feign.inter.system.ISysUserFeignClient;
|
||||
import com.sdm.data.dao.FileUserPermissionMapper;
|
||||
import com.sdm.data.model.entity.FileMetadataInfo;
|
||||
import com.sdm.data.model.entity.FileUserPermission;
|
||||
@@ -13,6 +17,8 @@ import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 文件用户权限表(存储用户对文件的具体权限) 服务实现类
|
||||
@@ -27,6 +33,9 @@ public class FileUserPermissionServiceImpl extends ServiceImpl<FileUserPermissio
|
||||
@Autowired
|
||||
private IFileMetadataInfoService fileMetadataInfoService;
|
||||
|
||||
@Autowired
|
||||
private ISysUserFeignClient sysUserFeignClient;
|
||||
|
||||
@Override
|
||||
public boolean hasFilePermission(Long fileId, Long userId, FilePermissionEnum permission) {
|
||||
// 边界:无效 fileId
|
||||
@@ -46,6 +55,11 @@ public class FileUserPermissionServiceImpl extends ServiceImpl<FileUserPermissio
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// 超级管理员
|
||||
if (isSuperAdmin(userId)) {
|
||||
return true;
|
||||
}
|
||||
return validPermission(fileId, userId, permission);
|
||||
}
|
||||
|
||||
@@ -84,10 +98,27 @@ public class FileUserPermissionServiceImpl extends ServiceImpl<FileUserPermissio
|
||||
return validPermission(parentId, userId, permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否超级管理员
|
||||
* @param userId 用户ID
|
||||
* @return
|
||||
*/
|
||||
private boolean isSuperAdmin(Long userId) {
|
||||
SdmResponse<List<CIDRoleResp>> listSdmResponse = sysUserFeignClient.queryUserRole(userId);
|
||||
if(!listSdmResponse.isSuccess()) return false;
|
||||
|
||||
return listSdmResponse.getData().stream().anyMatch(role -> role.getRoleCode().equals(CommonConstants.ROLE_CODE_ADMIN));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getMergedPermission(Long fileId, Long userId) {
|
||||
if (fileId == null || userId == null) return (int) FilePermissionEnum.ZERO.getValue();
|
||||
|
||||
// 超级管理员
|
||||
if (isSuperAdmin(userId)) {
|
||||
return (int) FilePermissionEnum.ALL.getValue();
|
||||
}
|
||||
|
||||
FileMetadataInfo fileInfo = fileMetadataInfoService.getById(fileId);
|
||||
if (fileInfo == null) return (int) FilePermissionEnum.ZERO.getValue();
|
||||
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
server:
|
||||
port: 7106
|
||||
spring:
|
||||
application:
|
||||
name: flowable
|
||||
datasource:
|
||||
url: jdbc:mysql://192.168.30.146:3306/flowable?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: mysql
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
flowable:
|
||||
# ?????????
|
||||
database-schema-update: true
|
||||
# ??????JOB
|
||||
async-executor-activate: true
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 192.168.30.146:8848
|
||||
group: PROD_GROUP
|
||||
enabled: true
|
||||
|
||||
logging:
|
||||
level:
|
||||
org:
|
||||
flowable: INFO
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath*:/mapper/**/*.xml
|
||||
type-aliases-package: com.sdm.flowable.model.entity
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
global-config:
|
||||
db-config:
|
||||
id-type: auto
|
||||
security:
|
||||
whitelist:
|
||||
paths:
|
||||
- /process/testHpc
|
||||
- /process/asyncCallback
|
||||
@@ -11,6 +11,7 @@ spring:
|
||||
file-extension: yaml
|
||||
import-check:
|
||||
enabled: false
|
||||
enabled: false
|
||||
discovery:
|
||||
server-addr: 192.168.190.100:5848
|
||||
group: DEV_GROUP
|
||||
|
||||
@@ -11,6 +11,7 @@ spring:
|
||||
file-extension: yaml
|
||||
import-check:
|
||||
enabled: false
|
||||
enabled: false
|
||||
discovery:
|
||||
server-addr: 192.168.190.161:8848
|
||||
group: DEV_GROUP
|
||||
|
||||
@@ -11,6 +11,7 @@ spring:
|
||||
file-extension: yaml
|
||||
import-check:
|
||||
enabled: false
|
||||
enabled: false
|
||||
discovery:
|
||||
server-addr: 192.168.65.161:8848
|
||||
group: DEV_GROUP
|
||||
|
||||
@@ -11,6 +11,7 @@ spring:
|
||||
file-extension: yaml
|
||||
import-check:
|
||||
enabled: false
|
||||
enabled: false
|
||||
discovery:
|
||||
server-addr: 192.168.65.161:8848
|
||||
group: LOCAL_GROUP
|
||||
|
||||
@@ -11,6 +11,7 @@ spring:
|
||||
file-extension: yaml
|
||||
import-check:
|
||||
enabled: false
|
||||
enabled: false
|
||||
discovery:
|
||||
server-addr: 192.168.30.146:8848
|
||||
group: LYRIC_GROUP
|
||||
|
||||
@@ -11,6 +11,7 @@ spring:
|
||||
file-extension: yaml
|
||||
import-check:
|
||||
enabled: false
|
||||
enabled: false
|
||||
discovery:
|
||||
server-addr: 192.168.0.88:8848
|
||||
group: DEV_GROUP
|
||||
|
||||
@@ -186,6 +186,6 @@ public class SpdmDemandVo extends BaseEntity {
|
||||
/**
|
||||
* 产品线(利元亨定制)
|
||||
*/
|
||||
private String productionLine;
|
||||
private String produceLine;
|
||||
|
||||
}
|
||||
|
||||
@@ -740,6 +740,24 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
}
|
||||
spdmDemandVo.setAMemberList(spdmAUserVoList);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(projectIdList)) {
|
||||
// 利元亨定制,设置产品线(在节点拓展属性里)
|
||||
List<SpdmNodeExtraVo> nodeExtraList = nodeMapper.getNodeExtraListByNodeIdList(projectIdList);
|
||||
if (CollectionUtils.isNotEmpty(nodeExtraList)) {
|
||||
for (SpdmDemandVo spdmDemandVo : demandList) {
|
||||
if (StringUtils.isBlank(spdmDemandVo.getProjectId())) {
|
||||
continue;
|
||||
}
|
||||
SpdmNodeExtraVo spdmNodeExtraVo = nodeExtraList.stream()
|
||||
.filter(nodeExtra -> PRODUCE_LINE.equals(nodeExtra.getPropertyName()) && spdmDemandVo.getProjectId().equals(nodeExtra.getNodeId())).findFirst().orElse(null);
|
||||
if (spdmNodeExtraVo == null) {
|
||||
log.info("项目拓展属性中没有产品线数据");
|
||||
}else {
|
||||
spdmDemandVo.setProduceLine(spdmNodeExtraVo.getPropertyValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
jsonObject.put("data", demandList);
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
@@ -1212,7 +1230,7 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
if (spdmNodeExtraVo == null) {
|
||||
log.info("项目拓展属性中没有产品线数据");
|
||||
}else {
|
||||
spdmDemandVo.setProductionLine(spdmNodeExtraVo.getPropertyValue());
|
||||
spdmDemandVo.setProduceLine(spdmNodeExtraVo.getPropertyValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2123,6 +2141,24 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
}
|
||||
spdmDemandVo.setAMemberList(spdmAUserVoList);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(projectIdList)) {
|
||||
// 利元亨定制,设置产品线(在节点拓展属性里)
|
||||
List<SpdmNodeExtraVo> nodeExtraList = nodeMapper.getNodeExtraListByNodeIdList(projectIdList);
|
||||
if (CollectionUtils.isNotEmpty(nodeExtraList)) {
|
||||
for (SpdmDemandVo spdmDemandVo : demandList) {
|
||||
if (StringUtils.isBlank(spdmDemandVo.getProjectId())) {
|
||||
continue;
|
||||
}
|
||||
SpdmNodeExtraVo spdmNodeExtraVo = nodeExtraList.stream()
|
||||
.filter(nodeExtra -> PRODUCE_LINE.equals(nodeExtra.getPropertyName()) && spdmDemandVo.getProjectId().equals(nodeExtra.getNodeId())).findFirst().orElse(null);
|
||||
if (spdmNodeExtraVo == null) {
|
||||
log.info("项目拓展属性中没有产品线数据");
|
||||
}else {
|
||||
spdmDemandVo.setProduceLine(spdmNodeExtraVo.getPropertyValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
jsonObject.put("data", demandList);
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
|
||||
@@ -1,150 +0,0 @@
|
||||
server:
|
||||
port: 7101
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: project
|
||||
datasource:
|
||||
username: root
|
||||
password: mysql
|
||||
jdbc-url: jdbc:mysql://192.168.30.146:3306/spdm_baseline?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
hikari:
|
||||
# 设置连接池能够容纳的最大连接数。建议值:CPU核心数 * 2 + 有效磁盘I/O数。一个常见的经验值是 10-20。
|
||||
maximum-pool-size: 20
|
||||
# 连接池在空闲时保持的最小连接数。
|
||||
minimum-idle: 5
|
||||
# 一个连接在被标记为空闲之前可以保持空闲状态的最长时间(毫秒)。当连接的空闲时间超过此值后,它可能会被连接池 evict(驱逐)。
|
||||
idle-timeout: 60000 # 1 min
|
||||
# 一个连接从被创建开始,其生命周期的最大时长(毫秒)。HikariCP的默认值就是30分钟,这是一个非常合理的设置。
|
||||
max-lifetime: 1800000 # 30 min(Hikari 默认)
|
||||
# 应用程序尝试从连接池获取一个连接时,等待的最长时间(毫秒)。建议值:30-60秒。
|
||||
connection-timeout: 30000 # 30s
|
||||
master:
|
||||
username: root
|
||||
password: mysql
|
||||
jdbc-url: jdbc:mysql://192.168.30.146:3306/spdm_baseline?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
slave:
|
||||
username: root
|
||||
password: mysql
|
||||
jdbc-url: jdbc:mysql://192.168.30.146:3306/spdm_baseline?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
enable: true
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 192.168.30.146:8848
|
||||
enabled: true
|
||||
group: PROD_GROUP
|
||||
# username: nacos
|
||||
# password: ENC(+QKYnI6gAYu1SbLaZQTkZA==)
|
||||
data:
|
||||
redis:
|
||||
# Redis默认情况下有16个分片(库),这里配置具体使用的分片,默认是0
|
||||
database: 0
|
||||
# redis服务器地址(填写自己的服务器地址)
|
||||
host: 192.168.2.166
|
||||
# redis端口(默认6379)
|
||||
port: 6379
|
||||
#redis连接超时等待,10秒
|
||||
timeout: PT10S
|
||||
# redis访问密码(默认为空)
|
||||
password:
|
||||
lettuce:
|
||||
pool:
|
||||
# 连接池最大连接数(使用负值表示没有限制) 默认 8
|
||||
max-active: 50
|
||||
# 连接池中的最大空闲连接 默认 8
|
||||
max-idle: 20
|
||||
# 连接池中的最小空闲连接 默认 0
|
||||
min-idle: 1
|
||||
# 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1,这里配置10s
|
||||
max-wait: PT10S
|
||||
# password:
|
||||
# sentinel:
|
||||
# master: mymaster
|
||||
# nodes: 10.18.109.50:26379,10.18.109.51:26379,10.18.109.52:26379
|
||||
servlet:
|
||||
multipart:
|
||||
# 单个文件的最大值
|
||||
max-file-size: 500MB
|
||||
# 上传文件总的最大值
|
||||
max-request-size: 10240MB
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health,info
|
||||
endpoint:
|
||||
health:
|
||||
show-details: always
|
||||
group:
|
||||
readiness:
|
||||
include: discoveryComposite,ping,refreshScope
|
||||
health:
|
||||
redis:
|
||||
enabled: false
|
||||
db:
|
||||
enabled: false
|
||||
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
auto-mapping-behavior: full
|
||||
cache-enabled: true
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
mapper-locations: classpath*:mapper/**/*.xml
|
||||
global-config:
|
||||
# 逻辑删除配置
|
||||
db-config:
|
||||
# 删除前
|
||||
logic-not-delete-value: 1
|
||||
# 删除后
|
||||
logic-delete-value: 0
|
||||
|
||||
#showSql
|
||||
logging:
|
||||
level:
|
||||
com.sdm.dao: debug
|
||||
|
||||
lombok:
|
||||
anyConstructor:
|
||||
addConstructorProperties: true
|
||||
|
||||
file:
|
||||
rootPath: /data/home/sdm
|
||||
scriptPath : /opt/script
|
||||
|
||||
security:
|
||||
whitelist:
|
||||
paths:
|
||||
- /run/deliverableApproveCallback
|
||||
- /run/getSimulationKeyResultFileIds
|
||||
- /run/generateReportInternal
|
||||
- /dataManager/tree/node/listUserByIds
|
||||
#logging:
|
||||
# config: ./config/logback.xml
|
||||
|
||||
YA:
|
||||
backend:
|
||||
backendPublicKey : MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo4hmt4m5CpMIE5DL8G60cg63X6nEiNPt1yWB+kXDXQA0RaiqXhT4O78HT9BldrQVpyj6g4Z2mwPMfLBP6LjR8QyLlwfMBJ2uUV5B4PlEWiF9pUK9tU0lPlByS+p0oIxX8XlvzbbGbkyWQaOQ6SflFxB7eHu3r/hDOYtsMDcNe4hsuz1BnrAuRY6Yj+Hq2d4zPDetDgXeXs066z3qO6bLN9r/2UkHZc4tdkpMJgxucwTuvAvmgRgdDfnd6sAVDHYPaIVuJHqWnEnEcQzq6zWb1YPItc2FgDbXWpi8noz7wSjXDfBiTHU11nU5vv//xLVF83h5mbhk8dWHKq7bLUGp9QIDAQAB
|
||||
|
||||
frontend:
|
||||
#publicKeyUrl : http://s279983e.natappfree.cc/api-auth/clients/getPublicKey
|
||||
publicKeyUrl : http://pisxwh.8866.org:8015/gateway/api-auth/clients/getPublicKey
|
||||
frontendPrivateKey : MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjz2pItCtM2Itf3knLhA1ZWzTVtKKY692Eptk3ZUy4qjlv+2e6u78/cBYZsVa/1nOyHPtb2j9xZAsHYGKZGoh64UWSewUhRdUO15xBRr5DyGEdTWHjwc1GHf7c99rKCjKDO2Xdp7cpqYABOAxgkSA2vP5zqhSCq0FCqwleEPLG1aAa/kh/oUzCZLUoSjZIdqQOgHJTZojqNeQCOC6U8Q+kUcHdKbptewu1A6XK8DHV0WqiJJEG3kyaoAZ1kGtr6ETtGy++aRvJT9gZN4M4bIgucKtAu2dcqQHj9jZ1i2xwhY3nmLjqaz3y313/IEYpMTG8pnPb8eP5usHDaDmH8RqJAgMBAAECggEAAzz05WYGWxkGvEjpHYhJOUR3yWeuNSaodNhVf+ZVO2tGAmQuWz8d2zOshCqAw/8Jv3IaN+kbCvNG0okBufQP0ZoFZY1f/xXhzc7OTG4JEc7yuIEQl897btDl+lk97nOAJx7z9ws7MCwlFyEUAY6s29glkYTBrgmTmy1FXKIqImsLfVV3LgfL2Mkixn0YSSsbUh2b+dki1zxjct3hTGZVh29bKOpbflOaG0LqEO0UwSX92Y/ir+fKmC8zEFbi5HZANYODivm8DiwF7khpraayf78kG3liccOTMMLVxIHwNiS9wcLG8WPuVEphlXMT4Ev4lq5VFM3mVxtd9g21ESbuvwKBgQDmsgE8u66qKVBsndp2K9FV9VWYDA4fYfRswDAWnZDCzIdanT0NFPp8s3nZCVU4FfX4m958yOrJ/MVp6d58z6fgkYQh2qL2Wy6zRPaIxCc6JG3FheFSxfWyULU/mBBK02ntUZCXEs8XKjAfDvmxaVVeonv0nCSgVwxJ4ypB5BZ+owKBgQC1x0GDnWtMbNGUMx6tYtFGWQIgop4hVQe6ZNgkKaQX7gtMa5egEda6ga6wCTV3+ZvQ9tBa1DxUFb5N/TrtQdFm39gOSXyhWSrntUKqaSFo03GvXXvvze2D3+uXpk7S8yzWuuD3OYyYj9S3nFVZffymabfukuY7oY3AN0E0PALw4wKBgQDQiyGrMU6X7HkTdy9BnCLEvd7+cAdkPzyiAqp2B0IRlqrVM0c5SDmX+PaxSEqNROzyLJVX4Ji+t44OTKgf0+hCjckQgYDHi24QCMuEny2G1d+Vq40hMmsFIwh10JUJz0v2iMFYkFw86JpPuU3nHv1ZazD60xwZBhfJw10z62iaWQKBgH+EVgsUJS8pryO9cKnFBnXI/tsR+Mf9NDynfZBwvbIjxT1IxMb/fJi9XGQVMbMGIS5H1gXBmMiLsEJZgDrrzw/Ru2jaWFl/ib+dwjR1J4C3w6p3c/fXh+TY8hYiDm2hNTU1R5dmgaCMVXawbpcm8FN1Ghh8aJIwVJYgrNcNuiptAoGAO14DHGqUXZZ//erIYWVfL0CAMXqy38dqNmfbzSAXYyLDl6cn49CCHF0GXOfCOesQN9ToQbqpLrntFgcFe0hil5dIWYafk9fHjjR8N8g74ijErQmCEAQy22b06V0q7rLzEsU/HDVL+RZg2aY4hDN+ODHRdpdFkOxsCYV73gevVeo=
|
||||
default:
|
||||
tenantId: 1999362907622948866
|
||||
userId: 1999363561237610497
|
||||
|
||||
scheduler:
|
||||
todo: 10.10.00
|
||||
project: 10.11.00
|
||||
|
||||
# 通过标识判断是否走查询现场视图逻辑(0不查询,1查询)
|
||||
lyricFlag : 1
|
||||
|
||||
# 同步待办时,查询待办的最大时间间隔,单位:天
|
||||
lyricTodoInterval : 7
|
||||
Reference in New Issue
Block a user