Compare commits

...

14 Commits

Author SHA1 Message Date
670788339
3d9b26982c 在线课-外部讲师报错 2025-03-18 11:49:53 +08:00
emcchui
a65fa797cc dev 2025-03-16 13:29:06 +08:00
emcchui
feba3237ab dev 2025-03-16 13:27:05 +08:00
670788339
2919fceef1 boenewlogin band处理 2025-02-25 17:35:47 +08:00
670788339
f7dcda551d 登录异常处理 2025-02-22 13:12:31 +08:00
hui
cdf5d2a052 修复生产案例显示null的问题 2025-01-21 18:08:33 +08:00
joshen
ba45fc53d9 test 2025-01-18 15:48:30 +08:00
joshen
5272e15449 test 2025-01-18 14:30:47 +08:00
joshen
d1fe0dc37f test 2025-01-18 14:25:03 +08:00
joshen
c886f05309 log 2025-01-17 22:06:48 +08:00
joshen
046886521d log 2025-01-17 21:11:30 +08:00
joshen
25e9043bea log 2025-01-17 21:07:38 +08:00
joshen
6d3a9955af log 2025-01-17 21:03:12 +08:00
joshen
2651d256a6 log 2025-01-17 11:06:17 +08:00
13 changed files with 423 additions and 168 deletions

View File

@@ -122,13 +122,20 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
//这里应该是单独的线程去处理
user.setId(getNodeText(result.get("userId")));//最新接口变化id改成userId
String band=getNodeText(result.get("bandCode"));
if(StringUtils.isNotBlank(band) && band.length()>4) {
String bandNum=band.substring(4);
user.setBandLevel(Integer.valueOf(bandNum));
}else {
user.setBandLevel(0);
}
user.setAvatar(getNodeText(result.get("avatar")));
try {
if(StringUtils.isNotBlank(band) && band.length()>4 && band.contains("band")) {
String bandNum=band.substring(4);
user.setBandLevel(Integer.valueOf(bandNum));
}else if (StringUtils.isNotBlank(band) && band.length()>4 && band.contains("Level")) {
String bandNum=band.substring(5);
user.setBandLevel(Integer.valueOf(bandNum));
}else {
user.setBandLevel(0);
}
} catch (NumberFormatException e) {
user.setBandLevel(0);
}
user.setAvatar(getNodeText(result.get("avatar")));
user.setCode(getNodeText(result.get("userNo")));
if(StringUtils.isBlank(user.getCode())) {

View File

@@ -140,6 +140,9 @@ public class CasesApi extends ApiBaseController {
List<Cases> cases = views.getList();
if (CollUtil.isNotEmpty(cases)) {
for (Cases c : cases) {
if ("null".equals(c.getSummary())) {
c.setSummary(null);
}
StringBuffer stringBuffer = new StringBuffer();
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", c.getId()));
if (caseId != null && !caseId.isEmpty()) {

View File

@@ -327,7 +327,9 @@ public class CoursePortalApi extends ApiBaseController{
teacherCourseDto.setSysCreateBy(ct.getSysCreateBy());
teacherCourseDto.setSysCreateTime(ct.getSysCreateTime());
teacherCourseDto.setId(ct.getId());
teacherCourseDto.setUserNo(user.getUserNo());
if(user!=null){
teacherCourseDto.setUserNo(user.getUserNo());
}
teacherCourseDtos.add(teacherCourseDto);
}else if (redisTemplate.opsForValue().get(ct.getTeacherId())==null){
List<String> list=new ArrayList<>();
@@ -345,7 +347,9 @@ public class CoursePortalApi extends ApiBaseController{
teacherCourseDto.setSysCreateBy(ct.getSysCreateBy());
teacherCourseDto.setSysCreateTime(ct.getSysCreateTime());
teacherCourseDto.setId(ct.getId());
teacherCourseDto.setUserNo(user.getUserNo());
if(user!=null){
teacherCourseDto.setUserNo(user.getUserNo());
}
teacherCourseDtos.add(teacherCourseDto);
}
}

View File

@@ -1,159 +1,102 @@
boe:
domain: http://192.168.0.253
spring:
# application.yml
servlet:
multipart:
max-file-size: 500MB
max-request-size: 500MB
redis:
database: 1
host: 192.168.0.101
password: boe@123
port: 6379
lettuce:
pool:
max-active: 8
min-idle: 0
max-idle: 30
max-wait: 10000ms
shutdown-timeout: 100ms
jpa:
database: MYSQL
properties:
hibernate:
naming_strategy: org.hibernate.cfg.EJB3NamingStrategy
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
current_session_context_class: org.springframework.orm.hibernate5.SpringSessionContext
show-sql: true
hibernate:
ddl-auto: update
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.0.101:3306/boe_base?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull
username: root
password: boe#1234A
max-file-size: 1000MB
max-request-size: 1000MB
web:
resources:
static-locations: file:E:/Projects/BOE/10/static
server:
port: 9090
servlet:
multipart:
max-file-size: 500MB
max-request-size: 500MB
session:
timeout: 30m
encoding:
charset: UTF-8
enabled: true
force: true
tomcat:
uri-encoding: UTF-8
servlet:
multipart:
maxFileSize: 1024MB
maxRequestSize: 1024MB
mvc:
static-path-pattern: /cdn/**
#logging.level.org.hibernate.SQL=DEBUG
#logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
#logging.config=classpath:log/logback-@profileActive@.xml
# logging:
# config: classpath:log/logback-${spring.profiles.active}.xml
# level:
# org:
# hibernate:
# SQL: DEBUG
# type:
# descriptor:
# sql:
# BasicBinder: TRACE
xcaching:
specs:
favorites:
timeout: 10s
praises:
timeout: 10s
shares:
timeout: 10s
static-locations: file:E:/Projects/BOE/java/static
cloud:
nacos:
discovery:
server-addr: 192.168.0.253:8848
config:
server-addr: 192.168.0.253:8848
redis:
database: 1
host: 192.168.0.253
password: boe@123
port: 6379
jpa:
hibernate:
ddl-auto: none
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.0.253:3306/boe_base?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull
username: root
password: boe#1234A
type: com.zaxxer.hikari.HikariDataSource
hikari:
auto-commit: true
minimum-idle: 5
idle-timeout: 60000
connection-timeout: 30000
max-lifetime: 1800000
maximum-pool-size: 20
logging:
level:
org:
hibernate:
SQL: ERROR
config: classpath:log/logback-@profileActive@.xml
xboe:
api:
cross_filter: true
local:
dev: true
upload:
file:
temp_path: D:/Projects/BOE/10/static/temp
temp_path: /tmp
save_path: /home/www/elearning/upload
http_path: http://127.0.0.1/upload
http_path: http://192.168.0.253/upload
externalinterface:
url:
system: http://localhost:9091
system: http://127.0.0.1:9091
old:
base:
url: http://192.168.0.101
server:
userbasic:
url: http://192.168.0.101/userbasic
url: http://192.168.0.253
stat:
base:
url: http://127.0.0.1:9080
server:
userbasic:
url: http://192.168.0.253/userbasic
elasticsearch:
server:
ip: 192.168.0.101
ip: 192.168.0.253
port: 9200
user:
password:
email:
url: http://192.168.0.101/api/b1/email/send
url: http://192.168.0.253/api/b1/email/send
from: boeu_learning@boe.com.cn
user:
security:
jasypt:
encryptor:
algorithm: PBEWithMD5AndDES
iv-generator-classname: org.jasypt.iv.NoIvGenerator
boe:
domain: http://127.0.0.1
ok:
http:
connect-timeout: 30
read-timeout: 30
write-timeout: 30
max-idle-connections: 200
keep-alive-duration: 300
orgTree:
orgTreeList: ${boe.domain}/userbasic/org/list
orgChildTreeList: ${boe.domain}/userbasic/org/childOrgs
userBasic:
searchUserList: ${boe.domain}/userbasic/user/list
getUserBasicInfo: ${boe.domain}/userbasic/user/getUserBasicInfo
getTeacherIds: ${boe.domain}/userbasic/user/getTeacherInfo
audience:
usersByAudienceList: ${boe.domain}/userbasic/audience/memberList
getOrgUsers: ${boe.domain}/userbasic/user/getOrgUsers
statApi:
userdynamicList: ${boe.domain}/statApi/xboe/m/stat/userdynamic/list
infrasApi:
dict: ${boe.domain}/infrasApi/dict/list
manageApi:
stu:
offcourse: ${boe.domain}/manageApi/stu/offcourse/getOffCourseId
editExam: ${boe.domain}/manageApi/admin/project/editExam
getStudyStatus: ${boe.domain}/manageApi/stu/project/completeStatus
coursesuilt:
getStudyStatus: ${boe.domain}/manageApi/stu/project/completeStatus
jasypt:
encryptor:
algorithm: PBEWithMD5AndDES
iv-generator-classname: org.jasypt.iv.NoIvGenerator
xxl:
job:
accessToken: 65ddc683-22f5-83b4-de3a-3c97a0a29af0
admin:
addresses: http://192.168.0.253/jobAdmin
executor:
appname: java-servers-job-api
port: 9995
address:
ip:
logpath: /var/log/xxl-job/dw/
logretentiondays: 30
aop-log-record:
#是否开启日志记录
enabled: true
#不进行拦截的包或者类
excludeClassNames:
activemq:
broker-url: tcp://192.168.0.253:61616
user: admin
password: admin
elasticsearch:
host: 192.168.0.253
port: 9200

View File

@@ -76,9 +76,9 @@ xboe:
iv-generator-classname: org.jasypt.iv.NoIvGenerator
xxl:
job:
accessToken: 65ddc683-22f5-83b4-de3a-3c97a0a29af0
admin:
addresses: http://u.boe.com/jobAdmin
accessToken: 65ddc683-22f5-83b4-de3a-3c97a0a29af0
executor:
appname: java-servers-job-api
port: 9995

View File

@@ -0,0 +1,183 @@
spring:
# application.yml
servlet:
multipart:
max-file-size: 1000MB
max-request-size: 1000MB
cloud:
nacos:
discovery:
server-addr: 10.251.186.27:8848
config:
server-addr: 10.251.186.27:8848
redis:
database: 1
host: 10.251.160.38
password: qwert!W577
port: 6379
lettuce:
pool:
max-active: 8
min-idle: 0
max-idle: 30
max-wait: 10000ms
shutdown-timeout: 100ms
jpa:
database: MYSQL
properties:
hibernate:
naming_strategy: org.hibernate.cfg.EJB3NamingStrategy
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
current_session_context_class: org.springframework.orm.hibernate5.SpringSessionContext
show-sql: true
hibernate:
ddl-auto: update
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://10.251.160.40:3306/boe_base?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull
username: admin
password: boeRds01
web:
resources:
static-locations: file:E:/Projects/BOE/10/static
server:
port: 9090
tomcat:
uri-encoding: UTF-8
servlet:
multipart:
maxFileSize: 1024MB
maxRequestSize: 1024MB
mvc:
static-path-pattern: /cdn/**
#logging.level.org.hibernate.SQL=DEBUG
#logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
#logging.config=classpath:log/logback-@profileActive@.xml
# logging:
# config: classpath:log/logback-${spring.profiles.active}.xml
# level:
# org:
# hibernate:
# SQL: DEBUG
# type:
# descriptor:
# sql:
# BasicBinder: TRACE
xcaching:
specs:
favorites:
timeout: 10s
praises:
timeout: 10s
shares:
timeout: 10s
xboe:
api:
cross_filter: true
local:
dev: true
upload:
file:
temp_path: /tmp
save_path: /home/www/elearning/upload
http_path: http://10.251.186.27/upload
externalinterface:
url:
system: http://localhost:9091
old:
base:
url: http://10.251.186.27
server:
userbasic:
url: http://10.251.186.27/userbasic
stat:
base:
url: http://10.251.186.27:9080
elasticsearch:
server:
ip: 10.251.129.25
port: 9200
user: elastic
password: Boe@es123
email:
url: http://10.251.186.27/api/b1/email/send
from: boeu_learning@boe.com.cn
user:
security:
jasypt:
encryptor:
algorithm: PBEWithMD5AndDES
iv-generator-classname: org.jasypt.iv.NoIvGenerator
boe:
domain: http://10.251.186.27
ok:
http:
connect-timeout: 30
read-timeout: 30
write-timeout: 30
max-idle-connections: 200
keep-alive-duration: 300
orgTree:
orgTreeList: ${boe.domain}/userbasic/org/list
orgChildTreeList: ${boe.domain}/userbasic/org/childOrgs
userBasic:
searchUserList: ${boe.domain}/userbasic/user/list
getUserBasicInfo: ${boe.domain}/userbasic/user/getUserBasicInfo
getTeacherIds: ${boe.domain}/userbasic/user/getTeacherInfo
audience:
usersByAudienceList: ${boe.domain}/userbasic/audience/memberList
getOrgUsers: ${boe.domain}/userbasic/user/getOrgUsers
statApi:
userdynamicList: ${boe.domain}/statApi/xboe/m/stat/userdynamic/list
infrasApi:
dict: ${boe.domain}/infrasApi/dict/list
manageApi:
stu:
offcourse: ${boe.domain}/manageApi/stu/offcourse/getOffCourseId
editExam: ${boe.domain}/manageApi/admin/project/editExam
getStudyStatus: ${boe.domain}/manageApi/stu/project/completeStatus
coursesuilt:
getStudyStatus: ${boe.domain}/manageApi/stu/project/completeStatus
xxl:
job:
admin:
addresses: http://10.251.186.27/jobAdmin
accessToken: 65ddc683-22f5-83b4-de3a-3c97a0a29af0
executor:
appname: java-servers-job-api
port: 9995
address:
ip:
logpath: /var/log/xxl-job/system/
logretentiondays: 30
aop-log-record:
#是否开启日志记录
enabled: true
#不进行拦截的包或者类
excludeClassNames:
activemq:
broker-url: tcp://10.251.129.25:61616
user: admin
password: admin
elasticsearch:
host: 10.251.129.25
port: 9200
user: elastic
password: Boe@es123

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="false">
<springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
<property name="log.path" value="/home/logs/${spring.application.name}"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
<!-- Console log output -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- Log file debug output -->
<appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
</appender>
<!-- Log file error output -->
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="INFO">
<appender-ref ref="info"/>
<!-- <appender-ref ref="console"/>-->
<!-- <appender-ref ref="error"/> -->
</root>
</configuration>

View File

@@ -51,5 +51,6 @@
<root level="INFO">
<appender-ref ref="debug"/>
<appender-ref ref="error"/>
<appender-ref ref="console"/>
</root>
</configuration>

View File

@@ -98,7 +98,7 @@
<filtering>true</filtering>
<directory>src/main/resources</directory>
<includes>
<include>application-${profileActive}.yml</include>
<include>application-*.yml</include>
<include>application.yml</include>
</includes>
</resource>

View File

@@ -1,13 +1,13 @@
# application-dev.yml
# application-pro.yml
spring:
redis:
database: 2
port: 6379
host: 192.168.0.101
database: 1
host: 192.168.0.253
password: boe@123
port: 6379
jpa:
hibernate:
ddl-auto: none
ddl-auto: update
open-in-view: false
properties:
hibernate:
@@ -16,41 +16,46 @@ spring:
driverClassName: com.mysql.jdbc.Driver
db1:
driverClassName: com.mysql.jdbc.Driver
jdbc-url: jdbc:mysql://192.168.0.101:3306/boe_basic?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull
jdbc-url: jdbc:mysql://192.168.0.253:3306/boe_basic?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull
username: root
password: boe#1234A
db2:
driverClassName: com.mysql.jdbc.Driver
jdbc-url: jdbc:mysql://192.168.0.101:3306/boe_base?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull
jdbc-url: jdbc:mysql://192.168.0.253:3306/boe_base?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull
username: root
password: boe#1234A
web:
resources:
static-locations: file:E:/Projects/BOE/java/static
web:
resources:
static-locations: file:E:/Projects/BOE/java/static
logging:
level:
org:
hibernate:
SQL: DEBUG
type:
descriptor:
sql:
BasicBinder: TRACE
SQL: ERROR
# type:
# descriptor:
# sql:
# BasicBinder: TRACE
config: classpath:log/logback-dev.xml
xboe:
api:
cross_filter: true
upload:
file:
temp_path: E:/Projects/BOE/java/static/temp
save_path: E:/Projects/BOE/java/static/upload
http_path: http://localhost:9090/upload
temp_path: /tmp
save_path: /home/www/elearning/upload
http_path: http://192.168.0.253/upload
inner:
data:
sync:
baseurl: http://localhost:9090
baseurl: http://127.0.0.1:9090
jasypt:
encryptor:
algorithm: PBEWithMD5AndDES
iv-generator-classname: org.jasypt.iv.NoIvGenerator
iv-generator-classname: org.jasypt.iv.NoIvGenerator

View File

@@ -1,9 +1,7 @@
# application-pro.yml
spring:
profiles:
active: pro
redis:
database: 3
database: 1
host: 10.251.88.213
password: qwert!W588
port: 6379

View File

@@ -1,7 +1,7 @@
# application.yml
spring:
profiles:
active: @profileActive@
active: dev
application:
name: boe-server-basic
jackson:
@@ -62,4 +62,4 @@ ok:
# 设置logback.xml位置
logging:
config: classpath:log/logback-@profileActive@.xml
config: classpath:log/logback-${spring.profiles.active}.xml

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="false">
<springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
<property name="log.path" value="/home/logs/${spring.application.name}"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
<!-- Console log output -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- Log file debug output -->
<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
</appender>
<!-- Log file error output -->
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="WARN">
<appender-ref ref="debug"/>
<appender-ref ref="error"/>
</root>
</configuration>