Merge remote-tracking branch 'origin/main'

This commit is contained in:
2025-12-11 20:23:03 +08:00
30 changed files with 1287 additions and 8 deletions

View File

@@ -0,0 +1,28 @@
package com.sdm.system.model.thirdparty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "即时通消息通知参数")
public class FreeLinkParamDto {
@Schema(description = "接收人工号")
private String id;
@Schema(description = "默认66666")
private String user = "66666";
@Schema(description = "默认lyric@123")
private String pawd = "lyric@123";
@Schema(description = "消息内容")
private String msg;
@Schema(description = "消息类型 默认text")
private String type;
@Schema(description = "业务系统APPID")
private String freelinkAppId = "d7eb3ef7c8e8c93e7c6e978fee848646";
}

View File

@@ -0,0 +1,15 @@
package com.sdm.system.service;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.system.SendMsgReq;
import com.sdm.system.model.thirdparty.FreeLinkParamDto;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 对接外部第三方系统服务
*/
public interface ISimulationExternalService {
SdmResponse syncMsgToFreelink(FreeLinkParamDto req);
}

View File

@@ -0,0 +1,44 @@
package com.sdm.system.service.impl;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.system.SendMsgReq;
import com.sdm.common.utils.HttpClientUtil;
import com.sdm.system.model.thirdparty.FreeLinkParamDto;
import com.sdm.system.service.ISimulationExternalService;
import com.sdm.system.service.ISimulationMessageService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class SimulationExternalServiceImpl implements ISimulationExternalService {
@Value("${thirdparty.api.freeLinkUrl}")
private String freeLinkUrl;
@Autowired
private HttpClientUtil httpClientUtil;
@Override
public SdmResponse syncMsgToFreelink(FreeLinkParamDto req) {
String url = freeLinkUrl;
try {
log.info("[syncMsgToFreelink] url:{}, param:{}", url, JSONUtil.toJsonStr(req));
String resultString = httpClientUtil.doPostJson(url, JSON.toJSONString(req));
SdmResponse response = JSON.parseObject(resultString, SdmResponse.class);
if (response.isSuccess()) {
return response;
}
return SdmResponse.failed("同步即时通消息通知失败:");
} catch (Exception e) {
log.error("同步即时通消息通知失败", e);
return SdmResponse.failed("同步即时通消息通知失败");
}
}
}

View File

@@ -0,0 +1,180 @@
server:
port: 7103
spring:
application:
name: system
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 minHikari 默认)
# 应用程序尝试从连接池获取一个连接时等待的最长时间毫秒。建议值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
group: LYRIC_GROUP
# server-addr: 127.0.0.1:8848
enabled: true
data:
redis:
# Redis默认情况下有16个分片(库)这里配置具体使用的分片默认是0
database: 0
# redis服务器地址填写自己的服务器地址
host: 92.168.30.147
# 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
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# cache-enabled: true
mapper-locations: classpath*:mapper/**/*.xml
global-config:
# 逻辑删除配置
db-config:
# 删除前
logic-not-delete-value: 1
# 删除后
logic-delete-value: 0
# MyBatis SQL日志配置
logging:
level:
com.baomidou.mybatisplus.core.MybatisConfiguration: debug
com.baomidou.mybatisplus.core.override.MybatisMapperRegistry: trace
com.sdm.data.mapper: debug
java.sql: debug
java.sql.Connection: debug
java.sql.Statement: debug
java.sql.PreparedStatement: debug
lombok:
anyConstructor:
addConstructorProperties: true
file:
rootPath: /data/home/sdm
system:
useCidSwitch: true
userSystem:
cidUser: cid
localUser: local
roleSystem:
cidRole: cid
localRole: local
tenantSystem:
cidTenant: cid
localTenant: local
cid:
url: http://192.168.30.145:8989/honeycom-spdm # 请根据实际CID服务地址修改
#url: http://192.168.65.75:8989/honeycom-spdm # 朱欣茹地址
user:
listUser: /spdm-user/listUser
queryUserDetail: /spdm-user/queryUserDetail
listUserByIds: /spdm-user/listUserByIds
queryUserRole: /spdm-user/queryUserRole
queryGroup: /spdm-user/queryGroup
queryGroupDetail: /spdm-user/queryGroupDetail
queryGroupMember: /spdm-user/queryGroupMember
role:
getRoleByRoleName: /spdm-role/getRoleByRoleName
getRoleByRoleCode: /spdm-role/getRoleByRoleCode
getRoleById: /spdm-role/getRoleById
listRoles: /spdm-role/listRoles
tenant:
getTenantDetailById: /spdm-tenant/getTenantDetailById
listTenant: /spdm-tenant/listTenant
flow:
launchApprove: /spdm-flow/startFlow
queryFlowTemplate: /spdm-flow/listProcessByGroup
queryApproveDetail: /spdm-flow/queryFlowNodeDetail
stopApproveFlow: /spdm-flow/stopFlow
group: SPDM
# 单次批量查询cid审批流详情的条数
batchCount: 500
# 批量查询的cid 接口配合上面url使用
batchInterfacePath: /spdm-flow/listFlowNodeDetail
msg:
sendMessage: /spdm-msg/sendMessage
log:
saveLog: /spdm-log/saveLog
security:
whitelist:
paths:
- /systemApprove/approveStatusNotice
- /user/getUserToken
- /systemMsg/sendMessage