@@ -261,7 +261,6 @@ public class EmployeeBatchGetTask { | |||||
iUserInfoService.save(userInfo); | iUserInfoService.save(userInfo); | ||||
}else{ | }else{ | ||||
userInfo.setAvatar(dingEmployeeInfo.getAvatar()); | userInfo.setAvatar(dingEmployeeInfo.getAvatar()); | ||||
userInfo.setUpdateOn(LocalDateTime.now()); | |||||
iUserInfoService.updateById(userInfo); | iUserInfoService.updateById(userInfo); | ||||
} | } | ||||
} | } | ||||
@@ -108,37 +108,35 @@ public class AppIrsManage { | |||||
ApiResponse body = forEntity.getBody(); | ApiResponse body = forEntity.getBody(); | ||||
if(Objects.isNull(body)){ | |||||
if(Objects.isNull(body) || Objects.isNull(body.getCode()) | |||||
|| 0 != body.getCode()){ | |||||
return Boolean.FALSE; | return Boolean.FALSE; | ||||
} | } | ||||
if(Objects.nonNull(body.getSuccess()) | |||||
&& body.getSuccess()){ | |||||
//保存关系 | |||||
app.setAppCode(appCode); | |||||
if(applicationService.updateById(app)){ | |||||
/** | |||||
* 判断下 如果成功的话 那么判断下 这个项目的初次创建的app 是否都已经被注册 | |||||
* 如果都已经注册 要调用状态机 进入下一个状态 | |||||
*/ | |||||
List<ProjectApplication> apps = applicationService.list(Wrappers.lambdaQuery(ProjectApplication.class) | |||||
.eq(ProjectApplication::getProjectId, project.getId())); | |||||
//筛选出 初次新建的app 但是没有appCode的 | |||||
apps = apps.stream().filter(a -> { | |||||
if(CommonEnum.YES.getCode().equals(a.getIsFirst()) && | |||||
StringUtils.isBlank(app.getAppCode())){ | |||||
return Boolean.TRUE; | |||||
} | |||||
return Boolean.FALSE; | |||||
}) | |||||
.collect(Collectors.toList()); | |||||
//如果筛选出来的 为空的话 就调用状态机 | |||||
if(CollUtil.isEmpty(apps)){ | |||||
stateMachineUtils.pass(project); | |||||
project.setUpdateOn(LocalDateTime.now()); | |||||
projectService.updateById(project); | |||||
} | |||||
//保存关系 | |||||
app.setAppCode(appCode); | |||||
if(applicationService.updateById(app)){ | |||||
/** | |||||
* 判断下 如果成功的话 那么判断下 这个项目的初次创建的app 是否都已经被注册 | |||||
* 如果都已经注册 要调用状态机 进入下一个状态 | |||||
*/ | |||||
List<ProjectApplication> apps = applicationService.list(Wrappers.lambdaQuery(ProjectApplication.class) | |||||
.eq(ProjectApplication::getProjectId, project.getId())); | |||||
//筛选出 初次新建的app 但是没有appCode的 | |||||
apps = apps.stream().filter(a -> { | |||||
if(CommonEnum.YES.getCode().equals(a.getIsFirst()) && | |||||
StringUtils.isBlank(app.getAppCode())){ | |||||
return Boolean.TRUE; | |||||
} | |||||
return Boolean.FALSE; | |||||
}) | |||||
.collect(Collectors.toList()); | |||||
//如果筛选出来的 为空的话 就调用状态机 | |||||
if(CollUtil.isEmpty(apps)){ | |||||
stateMachineUtils.pass(project); | |||||
project.setUpdateOn(LocalDateTime.now()); | |||||
projectService.updateById(project); | |||||
} | } | ||||
} | } | ||||
@@ -64,6 +64,7 @@ import com.wflow.workflow.bean.vo.ProcessDetailVO; | |||||
import lombok.RequiredArgsConstructor; | import lombok.RequiredArgsConstructor; | ||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
import org.checkerframework.checker.nullness.qual.Nullable; | |||||
import org.springframework.beans.BeanUtils; | import org.springframework.beans.BeanUtils; | ||||
import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||
@@ -213,11 +214,7 @@ public class ProjectLibManage { | |||||
String employeeCode, Project oldProject) { | String employeeCode, Project oldProject) { | ||||
Project project = saveConstructProjectNewVersion(projectDto,instanceId,employeeCode,oldProject); | Project project = saveConstructProjectNewVersion(projectDto,instanceId,employeeCode,oldProject); | ||||
// 将旧的项目状态、阶段置为null,版本置为不是最新 | |||||
oldProject.setNewest(Boolean.FALSE); | |||||
projectService.updateById(oldProject); | |||||
// 将旧的项目状态、阶段置为null,防止项目还会出现在待申报列表 | |||||
LambdaUpdateWrapper<Project> updateWrapper = Wrappers.lambdaUpdate(Project.class); | LambdaUpdateWrapper<Project> updateWrapper = Wrappers.lambdaUpdate(Project.class); | ||||
updateWrapper.set(Project::getStage,null) | updateWrapper.set(Project::getStage,null) | ||||
.set(Project::getStatus,null) | .set(Project::getStatus,null) | ||||
@@ -314,6 +311,8 @@ public class ProjectLibManage { | |||||
//为空 代表是新申报的 | //为空 代表是新申报的 | ||||
if(Objects.isNull(projectDto.getId())){ | if(Objects.isNull(projectDto.getId())){ | ||||
BeanUtils.copyProperties(projectDto, project); | BeanUtils.copyProperties(projectDto, project); | ||||
// 被撤回重新申报的项目,项目ID要置空 | |||||
project.setId(null); | |||||
project.setCreateOn(LocalDateTime.now()); | project.setCreateOn(LocalDateTime.now()); | ||||
project.setUpdateOn(LocalDateTime.now()); | project.setUpdateOn(LocalDateTime.now()); | ||||
project.setStage(ProjectStatusEnum.NOT_APPROVED.getCode()); | project.setStage(ProjectStatusEnum.NOT_APPROVED.getCode()); | ||||
@@ -326,10 +325,21 @@ public class ProjectLibManage { | |||||
// 标记为建设方案申报 | // 标记为建设方案申报 | ||||
project.setIsConstruct(Boolean.TRUE); | project.setIsConstruct(Boolean.TRUE); | ||||
// 保存初步方案项目ID | // 保存初步方案项目ID | ||||
project.setPrePlanProjectId(oldProject.getId()); | |||||
if (Boolean.TRUE.equals(oldProject.getIsConstruct())){ | |||||
// 重新提交 | |||||
project.setPrePlanProjectId(oldProject.getPrePlanProjectId()); | |||||
}else { | |||||
project.setPrePlanProjectId(oldProject.getId()); | |||||
} | |||||
projectService.save(project); | projectService.save(project); | ||||
// 将旧的项目版本置为不是最新 | |||||
projectService.update(Wrappers.lambdaUpdate(Project.class) | |||||
.set(Project::getNewest,Boolean.FALSE) | |||||
.ne(Project::getId,project.getId()) | |||||
.eq(Project::getProjectCode,project.getProjectCode())); | |||||
}else{ | }else{ | ||||
//否则是重新提交的 新生成一个新版本的项目 | |||||
//否则是被驳回,重新提交的 新生成一个新版本的项目 | |||||
project = newProjectWithVersion(projectDto); | project = newProjectWithVersion(projectDto); | ||||
if(Objects.nonNull(project)){ | if(Objects.nonNull(project)){ | ||||
project.setInstCode(instanceId); | project.setInstCode(instanceId); | ||||
@@ -341,6 +351,15 @@ public class ProjectLibManage { | |||||
//保存项目应用 | //保存项目应用 | ||||
Boolean isApp = Objects.nonNull(projectDto.getIncludeApplication()) && CommonEnum.YES.getCode().equals(projectDto.getIncludeApplication()) | Boolean isApp = Objects.nonNull(projectDto.getIncludeApplication()) && CommonEnum.YES.getCode().equals(projectDto.getIncludeApplication()) | ||||
? Boolean.TRUE : Boolean.FALSE; | ? Boolean.TRUE : Boolean.FALSE; | ||||
//采取批量删除 批量添加的方式 批量删除建设方案申报后的应用信息 | |||||
List<Long> projectIdList = projectService.list(Wrappers.lambdaQuery(Project.class) | |||||
.eq(Project::getProjectCode, oldProject.getProjectCode()) | |||||
.eq(Project::getIsConstruct, Boolean.TRUE)).stream() | |||||
.map(Project::getId).collect(Collectors.toList()); | |||||
projectApplicationService.remove(Wrappers.lambdaQuery(ProjectApplication.class) | |||||
.eq(ProjectApplication::getProjectCode,oldProject.getProjectCode()) | |||||
.in(ProjectApplication::getProjectId,projectIdList)); | |||||
if (isApp && CollUtil.isNotEmpty(projectDto.getApplicationList())) { | if (isApp && CollUtil.isNotEmpty(projectDto.getApplicationList())) { | ||||
Project finalProject = project; | Project finalProject = project; | ||||
List<ProjectApplication> applications = projectDto.getApplicationList().stream().map(application -> { | List<ProjectApplication> applications = projectDto.getApplicationList().stream().map(application -> { | ||||
@@ -353,7 +372,7 @@ public class ProjectLibManage { | |||||
projectApplication.setBuildOrgName(finalProject.getBuildOrgName()); | projectApplication.setBuildOrgName(finalProject.getBuildOrgName()); | ||||
return projectApplication; | return projectApplication; | ||||
}).collect(Collectors.toList()); | }).collect(Collectors.toList()); | ||||
projectApplicationService.saveOrUpdateBatch(applications); | |||||
projectApplicationService.saveBatch(applications); | |||||
} | } | ||||
return project; | return project; | ||||
} catch (Exception e) { | } catch (Exception e) { | ||||
@@ -454,11 +473,14 @@ public class ProjectLibManage { | |||||
.ne(Project::getId,project.getId()) | .ne(Project::getId,project.getId()) | ||||
.eq(Project::getProjectCode,project.getProjectCode())); | .eq(Project::getProjectCode,project.getProjectCode())); | ||||
//采取批量删除 批量添加的方式 | |||||
//采取批量删除 批量添加的方式 批量删除建设方案申报后的应用信息 | |||||
List<Long> projectIdList = projectService.list(Wrappers.lambdaQuery(Project.class) | |||||
.eq(Project::getProjectCode, project.getProjectCode()) | |||||
.eq(Project::getIsConstruct, Boolean.TRUE)).stream() | |||||
.map(Project::getId).collect(Collectors.toList()); | |||||
projectApplicationService.remove(Wrappers.lambdaQuery(ProjectApplication.class) | projectApplicationService.remove(Wrappers.lambdaQuery(ProjectApplication.class) | ||||
.eq(ProjectApplication::getProjectId,project.getId())); | |||||
projectApplicationService.remove(Wrappers.lambdaQuery(ProjectApplication.class) | |||||
.eq(ProjectApplication::getProjectCode,project.getProjectCode())); | |||||
.eq(ProjectApplication::getProjectCode,project.getProjectCode()) | |||||
.in(ProjectApplication::getProjectId,projectIdList)); | |||||
//app | //app | ||||
List<ProjectApplicationDTO> applicationList = projecDto.getApplicationList(); | List<ProjectApplicationDTO> applicationList = projecDto.getApplicationList(); | ||||
@@ -652,7 +674,27 @@ public class ProjectLibManage { | |||||
// 查询应用 | // 查询应用 | ||||
List<ProjectApplication> applications = applicationService.list(Wrappers.lambdaQuery(ProjectApplication.class) | List<ProjectApplication> applications = applicationService.list(Wrappers.lambdaQuery(ProjectApplication.class) | ||||
.eq(ProjectApplication::getProjectCode, vo.getProjectCode())); | .eq(ProjectApplication::getProjectCode, vo.getProjectCode())); | ||||
Optional.ofNullable(applications).ifPresent(apps -> | |||||
// 查出同一项目编号,建设方案申报前的项目ID | |||||
List<Long> projectIdList = projectService.list(Wrappers.lambdaQuery(Project.class) | |||||
.eq(Project::getProjectCode, projectInfo.getProjectCode()) | |||||
.eq(Project::getIsConstruct, Boolean.FALSE)).stream() | |||||
.map(Project::getId).collect(Collectors.toList()); | |||||
List<ProjectApplication> applicationList; | |||||
// 如果是建设方案申报后的项目,过滤掉初步方案的应用信息 | |||||
if (Boolean.TRUE.equals(projectInfo.getIsConstruct())){ | |||||
applicationList = applications.stream() | |||||
.filter(a -> !projectIdList.contains(a.getProjectId())) | |||||
.collect(Collectors.toList()); | |||||
} | |||||
// 如果不是,展示初步方案的应用信息 | |||||
else { | |||||
applicationList = applications.stream() | |||||
.filter(a -> projectIdList.contains(a.getProjectId())) | |||||
.collect(Collectors.toList()); | |||||
} | |||||
Optional.ofNullable(applicationList).ifPresent(apps -> | |||||
vo.setProjectApplications(CollUtils.convert(apps, | vo.setProjectApplications(CollUtils.convert(apps, | ||||
ProjectHelper::convertVO) | ProjectHelper::convertVO) | ||||
)); | )); | ||||
@@ -739,8 +781,17 @@ public class ProjectLibManage { | |||||
vo.buildDynamicForm(projectInfo.getDynamicForm()); | vo.buildDynamicForm(projectInfo.getDynamicForm()); | ||||
// 查询应用 | // 查询应用 | ||||
List<ProjectApplication> applications = applicationService.list(Wrappers.lambdaQuery(ProjectApplication.class) | List<ProjectApplication> applications = applicationService.list(Wrappers.lambdaQuery(ProjectApplication.class) | ||||
.eq(ProjectApplication::getProjectId, vo.getId())); | |||||
Optional.ofNullable(applications).ifPresent(apps -> | |||||
.eq(ProjectApplication::getProjectCode, vo.getProjectCode())); | |||||
// 查出同一项目编号,建设方案申报前的项目ID | |||||
List<Long> projectIdList = projectService.list(Wrappers.lambdaQuery(Project.class) | |||||
.eq(Project::getProjectCode, projectInfo.getProjectCode()) | |||||
.eq(Project::getIsConstruct, Boolean.FALSE)).stream() | |||||
.map(Project::getId).collect(Collectors.toList()); | |||||
List<ProjectApplication> applicationList = applications.stream() | |||||
.filter(a -> projectIdList.contains(a.getProjectId())) | |||||
.collect(Collectors.toList()); | |||||
Optional.ofNullable(applicationList).ifPresent(apps -> | |||||
vo.setProjectApplications(CollUtils.convert(apps, | vo.setProjectApplications(CollUtils.convert(apps, | ||||
ProjectHelper::convertVO) | ProjectHelper::convertVO) | ||||
)); | )); | ||||
@@ -0,0 +1,232 @@ | |||||
server: | |||||
port: 38888 | |||||
servlet: | |||||
context-path: /pm | |||||
spring: | |||||
mvc: | |||||
pathmatch: | |||||
matching-strategy: ant_path_matcher | |||||
session: | |||||
store-type: redis | |||||
redis: | |||||
namespace: "spring:session" | |||||
redis: | |||||
timeout: 5000 | |||||
host: 47.98.125.47 | |||||
port: 26379 | |||||
database: 5 | |||||
password: Ndkj1234 | |||||
jedis: | |||||
pool: | |||||
max-active: 200 | |||||
max-idle: 500 | |||||
min-idle: 8 | |||||
max-wait: 10000 | |||||
application: | |||||
name: pm | |||||
jackson: | |||||
default-property-inclusion: non_null | |||||
time-zone: GMT+8 | |||||
date-format: yyyy-MM-dd HH:mm:ss | |||||
jpa: | |||||
properties: | |||||
hibernate: | |||||
default_schema: PUBLIC | |||||
hbm2ddl: | |||||
auto: update | |||||
show_sql: true | |||||
show-sql: true | |||||
hibernate: | |||||
ddl-auto: update | |||||
datasource: | |||||
type: com.alibaba.druid.pool.DruidDataSource | |||||
driverClassName: com.kingbase8.Driver | |||||
# 数据源 | |||||
druid: | |||||
url: jdbc:kingbase8://10.53.172.221:54321/nd_project_management?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&nullCatalogMeansCurrent=true | |||||
username: SYSTEM | |||||
password: Ndkj1234 | |||||
# 初始连接数 | |||||
initialSize: 5 | |||||
# 最小连接池数量 | |||||
minIdle: 10 | |||||
# 最大连接池数量 | |||||
maxActive: 20 | |||||
# 配置获取连接等待超时的时间 | |||||
maxWait: 60000 | |||||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 | |||||
timeBetweenEvictionRunsMillis: 60000 | |||||
# 配置一个连接在池中最小生存的时间,单位是毫秒 | |||||
minEvictableIdleTimeMillis: 300000 | |||||
# 配置一个连接在池中最大生存的时间,单位是毫秒 | |||||
maxEvictableIdleTimeMillis: 900000 | |||||
# 配置检测连接是否有效 | |||||
#mysql使用:SELECT 1 FROM DUAL | |||||
validationQuery: SELECT 1 | |||||
testWhileIdle: true | |||||
testOnBorrow: false | |||||
testOnReturn: false | |||||
webStatFilter: | |||||
enabled: true | |||||
statViewServlet: | |||||
enabled: true | |||||
# 设置白名单,不填则允许所有访问 | |||||
allow: | |||||
url-pattern: /druid/* | |||||
# 控制台管理用户名和密码 | |||||
login-username: admin | |||||
login-password: admin | |||||
filter: | |||||
stat: | |||||
enabled: true | |||||
# 慢SQL记录 | |||||
log-slow-sql: true | |||||
slow-sql-millis: 1000 | |||||
merge-sql: true | |||||
wall: | |||||
config: | |||||
multi-statement-allow: true | |||||
#设置上传 单个文件的大小 | |||||
servlet: | |||||
multipart: | |||||
max-file-size: 100MB | |||||
max-request-size: 150MB | |||||
mybatis-plus: | |||||
configuration: | |||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl | |||||
global-config: | |||||
db-config: | |||||
logic-delete-value: true | |||||
logic-not-delete-value: false | |||||
logging: | |||||
config: classpath:logback-spring.xml | |||||
#日志配置 | |||||
level: | |||||
root: info | |||||
file: | |||||
path: logs | |||||
nd: | |||||
cache: | |||||
type: REDIS | |||||
serializerType: ProtoStuff | |||||
cacheNullVal: true | |||||
def: | |||||
keyPrefix: pm | |||||
log: | |||||
enabled: true | |||||
type: DB | |||||
# 文件存储 | |||||
file: | |||||
storage-type: ALI_OSS | |||||
ali: | |||||
protocol: http:// | |||||
bucket: projectmangmentoss | |||||
urlPrefix: oss-cn-lishui-gov-d01-a.ops.lsdx-zw.gov.cn | |||||
endpoint: oss-cn-lishui-gov-d01-a.ops.lsdx-zw.gov.cn | |||||
accessKeyId: XS3kNLtfW5i41SaC | |||||
accessKeySecret: 2cywvSZWANml7pZXxRAeAiHfisIhqm | |||||
# 日志文件配置 | |||||
log: | |||||
path: ./logs | |||||
info: | |||||
file-size: 50MB | |||||
max-size: 5 | |||||
total-size: 200MB | |||||
error: | |||||
file-size: 10MB | |||||
max-size: 5 | |||||
total-size: 50MB | |||||
swagger: | |||||
enabled: true | |||||
flowable: | |||||
async-executor-activate: true | |||||
#关闭一些不需要的功能服务 | |||||
rest-api-enabled: false | |||||
# database-schema-update: false | |||||
idm: | |||||
enabled: false | |||||
common: | |||||
enabled: false | |||||
dmn: | |||||
enabled: false | |||||
form: | |||||
enabled: false | |||||
app: | |||||
enabled: false | |||||
wflow: | |||||
file: | |||||
max-size: 20 #最大文件上传大小,MB | |||||
sa-token: | |||||
# token 名称 (同时也是cookie名称) | |||||
token-name: wflowToken | |||||
# token 有效期,单位s 默认30天, -1代表永不过期 | |||||
timeout: 172800 | |||||
# token 临时有效期 (指定时间内无操作就视为token过期) 单位: 秒 | |||||
activity-timeout: -1 | |||||
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) | |||||
is-concurrent: true | |||||
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token) | |||||
is-share: false | |||||
# token风格 | |||||
token-style: uuid | |||||
# 是否输出操作日志 | |||||
is-log: false | |||||
#浙政钉公司顶级organizationCode | |||||
organization: | |||||
dept-visible-scopes: | |||||
- GO_c1a6f8d5338e4a468337b08da76e2e31 | |||||
yxt: | |||||
wsdl-url: classpath:wsdl-prod.xml | |||||
#账号 | |||||
user-code: Lssdsjj | |||||
#密码 | |||||
password: Lssdsjj@2021 | |||||
#音信通开关 | |||||
sms-enable: true | |||||
tel-enable: true | |||||
#省局联审 请求信息 | |||||
provincial: | |||||
# host: https://pms.zj.gov.cn/prometheus-zhejiang_foreign | |||||
# pushUrl: /api/v1/foreign/importantPro | |||||
# detailUrl: /api/v1/foreign/importantProView | |||||
# key: b5b2096953534a53991be4ea95f8cffa | |||||
# secret: 1bec9b77134d4962ac466fbe9696b897 | |||||
host: http://223.4.72.75/prometheus-zhejiang_foreign | |||||
pushUrl: /api/v1/foreign/importantPro | |||||
detailUrl: /api/v1/foreign/importantProView | |||||
key: 7fb48b518c6044a5a44deddd11b445e3 | |||||
secret: ced8fff70018413c9516c58f95885624 | |||||
#天印服务器接口信息 | |||||
irs: | |||||
is-search-app: true | |||||
seal-platform: | |||||
project-id: 330001110 | |||||
project-secret: 70e512d40c8f440484db4acab181570a | |||||
access-key: 42bcb49bea174986a3bfdfba7d005566 | |||||
secret-key: bebff29877d4443abd67fc4f8fb335d8 | |||||
api-url: https://bcdsg.zj.gov.cn:8443/restapi/prod/IC33000020220309000004/seal-platform/seal/v1/rest/sign/signPdf | |||||
app-report: | |||||
url: https://bcdsg.zj.gov.cn:8443/restapi/prod/IC33000020230427000001/irs-res-bill/report/pdfUrl | |||||
appScret: BCDSGS_4ab4235d26a9a357170a39f3a13fd68c | |||||
appKey: BCDSGA_d874c8e46b541eb4e8aac6510fd3351b | |||||
push-app: | |||||
url: https://interface.zjzwfw.gov.cn/gateway/api/proxy/001003001029/dataSharing/94wbaL1I1Pbz0648.htm | |||||
appScret: 496f0f2a19994f76b4fd9dae087366c7 | |||||
appKey: A331101453557202109017383 | |||||
search-app: | |||||
url: https://interface.zjzwfw.gov.cn/gateway/api/001003001029/dataSharing/XS8daav3bcemZ3Ra.htm | |||||
appScret: 496f0f2a19994f76b4fd9dae087366c7 | |||||
appKey: A331101453557202109017383 | |||||
hostname: iZ6mx01gyeodd80imxd2gbZ | |||||
login: | |||||
phone-verify-code: | |||||
skip: true |
@@ -0,0 +1,12 @@ | |||||
#浙政钉 | |||||
integration: | |||||
zwdd: | |||||
#扫码 | |||||
app-auth-key: ls_project_managment_din-b1Y3I1g7Rr94yX76KfFkpp18Uy4WHtU0b6rINJ3 | |||||
app-auth-secret: 75e8PMHv984KYF0Mcy6v4pxt480y73dbD7kB65dD | |||||
#免登/获取信息 | |||||
app-key: ls_project-c32LNu87v60UiANZVja | |||||
app-secret: R14QgbBr21751LTGml3Vt8oX9doPl4Lk1ROzZNfG | |||||
#专有钉钉在开发管理工作台,右键查看网页源码realmId: '31141',浙政钉固定196729 | |||||
tenantId: 196729 | |||||
domain: openplatform-pro.ding.zj.gov.cn |
@@ -0,0 +1,78 @@ | |||||
security: | |||||
auth: | |||||
auth-require-url: /api/v1/user/auth/auth-require | |||||
invalid-session-url: /api/v1/user/auth/invalid-session | |||||
password-login-url: /api/v1/user/auth/login | |||||
agent-login-url: /api/v1/user/auth/agent-login | |||||
logout-url: /api/v1/user/auth/logout | |||||
common-login-url: /api/v1/user/auth/common-login | |||||
ignore-auth-urls: | |||||
- /v2/api-docs | |||||
- /swagger-ui.html | |||||
- /webjars/** | |||||
- /swagger-resources/** | |||||
- /webjars/ | |||||
- /api/v1/user/auth/register | |||||
- /api/v1/user/auth/auth-require | |||||
- /api/v1/user/auth/invalid-session | |||||
- /api/v1/user/auth/login/password | |||||
- /api/v1/user/auth/forget-password | |||||
- /api/v1/user/auth/common-login | |||||
- /doc.html | |||||
- /ok.html | |||||
- /open/api/** | |||||
- /oa/** | |||||
- /wflow/** | |||||
- /sys/** | |||||
- /api/v1/verification/** | |||||
- /api/v1/expert/registration | |||||
- /api/v1/meta/dictionary/list | |||||
- /api/v1/meta/tag | |||||
- /api/v1/organization/tree-list | |||||
- /api/v1/organization/get-child-list | |||||
- /api/v1/region/tree | |||||
- /api/v1/expert/get-zzd-info | |||||
- /file/upload | |||||
- /file/download | |||||
- /api/v1/zwdd/pull/** | |||||
- /api/v1/irs/** | |||||
ignore-csrf-urls: | |||||
- /api/v1/user/auth/** | |||||
- /v2/api-docs | |||||
- /swagger-ui.html | |||||
- /webjars/** | |||||
- /swagger-resources/** | |||||
- /webjars/ | |||||
- /doc.html | |||||
- /ok.html | |||||
- /api/v1/** | |||||
- /file/** | |||||
- /optLog/** | |||||
- /dict/** | |||||
- /oa/** | |||||
- /wflow/** | |||||
- /sys/** | |||||
- /api/v1/verification/** | |||||
- /api/v1/expert/registration | |||||
- /api/v1/meta/dictionary/list | |||||
- /api/v1/meta/tag | |||||
- /api/v1/organization/tree-list | |||||
- /api/v1/organization/get-child-list | |||||
- /api/v1/region/tree | |||||
- /api/v1/expert/get-zzd-info | |||||
- /file/upload | |||||
- /file/download | |||||
- /api/v1/zwdd/pull/** | |||||
- /api/v1/irs/** | |||||
role-map: | |||||
"engineer": | |||||
"project_manager": | |||||
- /api/v1/user-info/kick-off/** | |||||
"enterprise_admin": | |||||
"regional_general_manager": | |||||
"driver": | |||||
"super_admin": | |||||
- /api/v1/user-info/save | |||||
- /api/v1/user-info/del | |||||
- /api/v1/user-info/kick-off/** | |||||
- /api/v1/user-info/password/mod |
@@ -0,0 +1,232 @@ | |||||
server: | |||||
port: 38888 | |||||
servlet: | |||||
context-path: /pm | |||||
spring: | |||||
mvc: | |||||
pathmatch: | |||||
matching-strategy: ant_path_matcher | |||||
session: | |||||
store-type: redis | |||||
redis: | |||||
namespace: "spring:session" | |||||
redis: | |||||
timeout: 5000 | |||||
host: 47.98.125.47 | |||||
port: 26379 | |||||
database: 5 | |||||
password: Ndkj1234 | |||||
jedis: | |||||
pool: | |||||
max-active: 200 | |||||
max-idle: 500 | |||||
min-idle: 8 | |||||
max-wait: 10000 | |||||
application: | |||||
name: pm | |||||
jackson: | |||||
default-property-inclusion: non_null | |||||
time-zone: GMT+8 | |||||
date-format: yyyy-MM-dd HH:mm:ss | |||||
jpa: | |||||
properties: | |||||
hibernate: | |||||
default_schema: PUBLIC | |||||
hbm2ddl: | |||||
auto: update | |||||
show_sql: true | |||||
show-sql: true | |||||
hibernate: | |||||
ddl-auto: update | |||||
datasource: | |||||
type: com.alibaba.druid.pool.DruidDataSource | |||||
driverClassName: com.kingbase8.Driver | |||||
# 数据源 | |||||
druid: | |||||
url: jdbc:kingbase8://10.53.172.221:54321/nd_project_management?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&nullCatalogMeansCurrent=true | |||||
username: SYSTEM | |||||
password: Ndkj1234 | |||||
# 初始连接数 | |||||
initialSize: 5 | |||||
# 最小连接池数量 | |||||
minIdle: 10 | |||||
# 最大连接池数量 | |||||
maxActive: 20 | |||||
# 配置获取连接等待超时的时间 | |||||
maxWait: 60000 | |||||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 | |||||
timeBetweenEvictionRunsMillis: 60000 | |||||
# 配置一个连接在池中最小生存的时间,单位是毫秒 | |||||
minEvictableIdleTimeMillis: 300000 | |||||
# 配置一个连接在池中最大生存的时间,单位是毫秒 | |||||
maxEvictableIdleTimeMillis: 900000 | |||||
# 配置检测连接是否有效 | |||||
#mysql使用:SELECT 1 FROM DUAL | |||||
validationQuery: SELECT 1 | |||||
testWhileIdle: true | |||||
testOnBorrow: false | |||||
testOnReturn: false | |||||
webStatFilter: | |||||
enabled: true | |||||
statViewServlet: | |||||
enabled: true | |||||
# 设置白名单,不填则允许所有访问 | |||||
allow: | |||||
url-pattern: /druid/* | |||||
# 控制台管理用户名和密码 | |||||
login-username: admin | |||||
login-password: admin | |||||
filter: | |||||
stat: | |||||
enabled: true | |||||
# 慢SQL记录 | |||||
log-slow-sql: true | |||||
slow-sql-millis: 1000 | |||||
merge-sql: true | |||||
wall: | |||||
config: | |||||
multi-statement-allow: true | |||||
#设置上传 单个文件的大小 | |||||
servlet: | |||||
multipart: | |||||
max-file-size: 100MB | |||||
max-request-size: 150MB | |||||
mybatis-plus: | |||||
configuration: | |||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl | |||||
global-config: | |||||
db-config: | |||||
logic-delete-value: true | |||||
logic-not-delete-value: false | |||||
logging: | |||||
config: classpath:logback-spring.xml | |||||
#日志配置 | |||||
level: | |||||
root: info | |||||
file: | |||||
path: logs | |||||
nd: | |||||
cache: | |||||
type: REDIS | |||||
serializerType: ProtoStuff | |||||
cacheNullVal: true | |||||
def: | |||||
keyPrefix: pm | |||||
log: | |||||
enabled: true | |||||
type: DB | |||||
# 文件存储 | |||||
file: | |||||
storage-type: ALI_OSS | |||||
ali: | |||||
protocol: http:// | |||||
bucket: projectmangmentoss | |||||
urlPrefix: oss-cn-lishui-gov-d01-a.ops.lsdx-zw.gov.cn | |||||
endpoint: oss-cn-lishui-gov-d01-a.ops.lsdx-zw.gov.cn | |||||
accessKeyId: XS3kNLtfW5i41SaC | |||||
accessKeySecret: 2cywvSZWANml7pZXxRAeAiHfisIhqm | |||||
# 日志文件配置 | |||||
log: | |||||
path: ./logs | |||||
info: | |||||
file-size: 50MB | |||||
max-size: 5 | |||||
total-size: 200MB | |||||
error: | |||||
file-size: 10MB | |||||
max-size: 5 | |||||
total-size: 50MB | |||||
swagger: | |||||
enabled: true | |||||
flowable: | |||||
async-executor-activate: true | |||||
#关闭一些不需要的功能服务 | |||||
rest-api-enabled: false | |||||
# database-schema-update: false | |||||
idm: | |||||
enabled: false | |||||
common: | |||||
enabled: false | |||||
dmn: | |||||
enabled: false | |||||
form: | |||||
enabled: false | |||||
app: | |||||
enabled: false | |||||
wflow: | |||||
file: | |||||
max-size: 20 #最大文件上传大小,MB | |||||
sa-token: | |||||
# token 名称 (同时也是cookie名称) | |||||
token-name: wflowToken | |||||
# token 有效期,单位s 默认30天, -1代表永不过期 | |||||
timeout: 172800 | |||||
# token 临时有效期 (指定时间内无操作就视为token过期) 单位: 秒 | |||||
activity-timeout: -1 | |||||
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) | |||||
is-concurrent: true | |||||
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token) | |||||
is-share: false | |||||
# token风格 | |||||
token-style: uuid | |||||
# 是否输出操作日志 | |||||
is-log: false | |||||
#浙政钉公司顶级organizationCode | |||||
organization: | |||||
dept-visible-scopes: | |||||
- GO_c1a6f8d5338e4a468337b08da76e2e31 | |||||
yxt: | |||||
wsdl-url: classpath:wsdl-prod.xml | |||||
#账号 | |||||
user-code: Lssdsjj | |||||
#密码 | |||||
password: Lssdsjj@2021 | |||||
#音信通开关 | |||||
sms-enable: true | |||||
tel-enable: true | |||||
#省局联审 请求信息 | |||||
provincial: | |||||
# host: https://pms.zj.gov.cn/prometheus-zhejiang_foreign | |||||
# pushUrl: /api/v1/foreign/importantPro | |||||
# detailUrl: /api/v1/foreign/importantProView | |||||
# key: b5b2096953534a53991be4ea95f8cffa | |||||
# secret: 1bec9b77134d4962ac466fbe9696b897 | |||||
host: http://223.4.72.75/prometheus-zhejiang_foreign | |||||
pushUrl: /api/v1/foreign/importantPro | |||||
detailUrl: /api/v1/foreign/importantProView | |||||
key: 7fb48b518c6044a5a44deddd11b445e3 | |||||
secret: ced8fff70018413c9516c58f95885624 | |||||
#天印服务器接口信息 | |||||
irs: | |||||
is-search-app: true | |||||
seal-platform: | |||||
project-id: 330001110 | |||||
project-secret: 70e512d40c8f440484db4acab181570a | |||||
access-key: 42bcb49bea174986a3bfdfba7d005566 | |||||
secret-key: bebff29877d4443abd67fc4f8fb335d8 | |||||
api-url: https://bcdsg.zj.gov.cn:8443/restapi/prod/IC33000020220309000004/seal-platform/seal/v1/rest/sign/signPdf | |||||
app-report: | |||||
url: https://bcdsg.zj.gov.cn:8443/restapi/prod/IC33000020230427000001/irs-res-bill/report/pdfUrl | |||||
appScret: BCDSGS_4ab4235d26a9a357170a39f3a13fd68c | |||||
appKey: BCDSGA_d874c8e46b541eb4e8aac6510fd3351b | |||||
push-app: | |||||
url: https://interface.zjzwfw.gov.cn/gateway/api/proxy/001003001029/dataSharing/94wbaL1I1Pbz0648.htm | |||||
appScret: 496f0f2a19994f76b4fd9dae087366c7 | |||||
appKey: A331101453557202109017383 | |||||
search-app: | |||||
url: https://interface.zjzwfw.gov.cn/gateway/api/001003001029/dataSharing/XS8daav3bcemZ3Ra.htm | |||||
appScret: 496f0f2a19994f76b4fd9dae087366c7 | |||||
appKey: A331101453557202109017383 | |||||
hostname: iZ6mx01gyeodd80imxd2gbZ | |||||
login: | |||||
phone-verify-code: | |||||
skip: true |