Compare commits

..

24 Commits

Author SHA1 Message Date
joshen
5fe9019d87 Merge branch 'master-20250227-lyc' into test 2025-03-19 13:20:33 +08:00
670788339
500fb090fb 在线课-外部讲师报错 添加讲师类型 2025-03-19 13:17:06 +08:00
joshen
be8c4464dc Merge branch 'master-20250227-lyc' into test 2025-03-19 13:09:42 +08:00
670788339
ee95435d01 在线课-外部讲师报错 添加供应商 2025-03-19 13:08:54 +08:00
joshen
c7f1a1e810 Merge branch 'master-20250227-lyc' into test 2025-03-19 11:59:14 +08:00
670788339
76f0d1933a 在线课-外部讲师报错 2025-03-19 11:56:48 +08:00
joshen
87350c74f9 Merge remote-tracking branch 'yx/master-20250318-lyc' into test 2025-03-18 11:51:26 +08:00
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
joshen
67f55c51b8 Merge branch 'master-20250227-lyc' into test 2025-03-13 10:04:24 +08:00
670788339
58d6f49006 考试提交调用加catch 2025-03-13 10:03:21 +08:00
joshen
645c58e8c4 Merge branch 'master-20250227-lyc' into test 2025-03-10 16:05:19 +08:00
670788339
c8ffdd561f 考试提交调用course项目同步 2025-03-10 16:03:10 +08:00
670788339
98611edcaa 考试提交调用course项目同步 2025-03-10 16:02:19 +08:00
joshen
dd6e64d6ac Merge branch 'master-20250227-lyc' into test 2025-03-10 14:42:39 +08:00
670788339
8aea21bde7 参数转换 2025-03-10 14:32:21 +08:00
joshen
754d41e087 Merge remote-tracking branch '121/test' into test 2025-03-10 14:26:08 +08:00
joshen
fedf8ec527 Merge branch 'master-20250227-lyc' of https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers into test 2025-03-10 14:25:19 +08:00
670788339
a79f6b43b2 日志 2025-03-10 14:22:03 +08:00
670788339
e2ac6a5b96 日志 2025-03-10 13:45:34 +08:00
670788339
66320dab97 Merge branch 'master-20250227-lyc' into test 2025-03-10 09:30:05 +08:00
670788339
81ea19f0f3 study-video-time redis优化 2025-03-03 17:49:49 +08:00
hui
5312d9f5f4 boe_new库该boe库--生产切不可合并这个提交!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2025-01-18 16:09:37 +08:00
11 changed files with 280 additions and 166 deletions

View File

@@ -8,9 +8,11 @@ import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.boe.feign.api.courseweb.entity.ExamTestDto; import com.boe.feign.api.courseweb.entity.ExamTestDto;
import com.boe.feign.api.courseweb.entity.ProjectStudyDto; import com.boe.feign.api.courseweb.entity.ProjectStudyDto;
import com.boe.feign.api.courseweb.remote.ExternalRemoteClient;
import com.boe.feign.api.courseweb.remote.OffCourseRemoteClient; import com.boe.feign.api.courseweb.remote.OffCourseRemoteClient;
import com.boe.feign.api.courseweb.remote.ProjectAdminRemoteClient; import com.boe.feign.api.courseweb.remote.ProjectAdminRemoteClient;
import com.boe.feign.api.courseweb.remote.ProjectRemoteClient; import com.boe.feign.api.courseweb.remote.ProjectRemoteClient;
import com.boe.feign.api.courseweb.reps.ExamStudyRecordParam;
import com.boe.feign.api.infrastructure.entity.CommonSearchVo; import com.boe.feign.api.infrastructure.entity.CommonSearchVo;
import com.boe.feign.api.infrastructure.entity.Dict; import com.boe.feign.api.infrastructure.entity.Dict;
import com.boe.feign.api.infrastructure.remote.DictRemoteClient; import com.boe.feign.api.infrastructure.remote.DictRemoteClient;
@@ -73,6 +75,8 @@ public class ThirdApi {
@Resource @Resource
private ProjectRemoteClient projectRemoteClient; private ProjectRemoteClient projectRemoteClient;
@Resource
ExternalRemoteClient externalRemoteClient;
@Resource @Resource
private DictRemoteClient dictRemoteClient; private DictRemoteClient dictRemoteClient;
@@ -262,11 +266,19 @@ public class ThirdApi {
} }
public List<StudyCourse> getStudyCourseList(String studyId, String courseId, String token) { public List<StudyCourse> getStudyCourseList(String studyId, String courseId, String token) {
log.info(" 1 studyId = "+ studyId + " ,courseId = " + courseId );
if ( studyId == null || courseId == null ){
log.error(" 在线课学习记录 参数不能为空 ");
return new ArrayList<>();
}
StudyCourseVo studyCourseVo = new StudyCourseVo(); StudyCourseVo studyCourseVo = new StudyCourseVo();
studyCourseVo.setStudyId(studyId); studyCourseVo.setStudyId(studyId);
studyCourseVo.setCourseId(courseId); studyCourseVo.setCourseId(courseId);
ProjectStudyDto projectStudyDto = new ProjectStudyDto(); ProjectStudyDto projectStudyDto = new ProjectStudyDto();
BeanUtil.copyProperties(studyCourseVo, studyCourseVo); // BeanUtil.copyProperties(studyCourseVo, studyCourseVo);
projectStudyDto.setStudyId(Long.parseLong(studyId));
projectStudyDto.setCourseId(Long.parseLong(courseId));
log.info(" 12 在线课学习记录 studyId = "+ projectStudyDto.getStudyId() + " ,courseId = " + projectStudyDto.getCourseId() );
projectRemoteClient.updateStudyStatus(projectStudyDto); projectRemoteClient.updateStudyStatus(projectStudyDto);
return new ArrayList<>(); return new ArrayList<>();
} }
@@ -382,4 +394,8 @@ public class ThirdApi {
.body()).orElseThrow(() -> new RuntimeException("token校验失败")); .body()).orElseThrow(() -> new RuntimeException("token校验失败"));
log.info("updateOrSaveCourse = " + resp); log.info("updateOrSaveCourse = " + resp);
} }
public void syncExamStudyRecord(ExamStudyRecordParam param) {
externalRemoteClient.syncExamStudyRecord(param);
}
} }

View File

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

View File

@@ -49,4 +49,12 @@ public class CourseTeacher extends IdBaseEntity {
@Transient @Transient
private String code; private String code;
/**供应商*/
@Transient
private String supplier;
/**讲师类型 1 内部讲师 2外部讲师*/
@Transient
private Integer teacherType;
} }

View File

@@ -480,7 +480,7 @@ public class CourseServiceImpl implements ICourseService {
String sql = "SELECT DISTINCT\n" + String sql = "SELECT DISTINCT\n" +
"rt.course_id\n" + "rt.course_id\n" +
"FROM\n" + "FROM\n" +
"boe_new.student s INNER JOIN boe_new.router_task rt on s.pid=rt.router_id inner join boe_course c on c.id=rt.course_id\n" + "boe.student s INNER JOIN boe.router_task rt on s.pid=rt.router_id inner join boe_course c on c.id=rt.course_id\n" +
"\n" + "\n" +
"WHERE\n" + "WHERE\n" +
"\n" + "\n" +
@@ -503,7 +503,7 @@ public class CourseServiceImpl implements ICourseService {
String sql = "SELECT DISTINCT\n" + String sql = "SELECT DISTINCT\n" +
"pt.course_id\n" + "pt.course_id\n" +
"FROM\n" + "FROM\n" +
"boe_new.student s INNER JOIN boe_new.project_task pt on s.pid=pt.project_id inner join boe_course c on c.id=pt.course_id\n" + "boe.student s INNER JOIN boe.project_task pt on s.pid=pt.project_id inner join boe_course c on c.id=pt.course_id\n" +
"\n" + "\n" +
"WHERE\n" + "WHERE\n" +
"\n" + "\n" +
@@ -560,8 +560,8 @@ public class CourseServiceImpl implements ICourseService {
String sql = "SELECT DISTINCT\n" + String sql = "SELECT DISTINCT\n" +
"\tc.id \n" + "\tc.id \n" +
"FROM\n" + "FROM\n" +
"\tboe_new.student s\n" + "\tboe.student s\n" +
"\tINNER JOIN boe_new.grow_task gt ON s.pid = gt.grow_id\n" + "\tINNER JOIN boe.grow_task gt ON s.pid = gt.grow_id\n" +
"\tINNER JOIN boe_course c ON gt.course_id = c.id \n" + "\tINNER JOIN boe_course c ON gt.course_id = c.id \n" +
"WHERE\n" + "WHERE\n" +
"\ts.type = 14 \n" + "\ts.type = 14 \n" +

View File

@@ -8,6 +8,8 @@ import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;
import com.boe.feign.api.courseweb.reps.ExamStudyRecordParam;
import com.xboe.api.ThirdApi;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -37,6 +39,9 @@ public class AloneExamServiceImpl implements IAloneExamService{
@Resource @Resource
AloneExamDao aeDao; AloneExamDao aeDao;
@Resource
private ThirdApi thirdApi;
@Override @Override
@Transactional @Transactional
@@ -101,6 +106,17 @@ public class AloneExamServiceImpl implements IAloneExamService{
// //这种情况汶是不存在的 // //这种情况汶是不存在的
// } // }
} }
try {
ExamStudyRecordParam param = new ExamStudyRecordParam();
param.setTestId(aea.getTestId());
param.setAid(aea.getAid());
thirdApi.syncExamStudyRecord(param);
} catch (Exception e) {
throw new RuntimeException(e);
}
} }
@Override @Override

View File

@@ -204,6 +204,8 @@ public class StudyCourseApi extends ApiBaseController{
Teacher t = teacherService.get(ct.getTeacherId()); Teacher t = teacherService.get(ct.getTeacherId());
if(t!=null) { if(t!=null) {
ct.setRemark(t.getDescription()); ct.setRemark(t.getDescription());
ct.setSupplier(t.getSupplier());
ct.setTeacherType(t.getTeacherType());
} }
if(redisTemplate.opsForValue().get(ct.getTeacherId())==null){ if(redisTemplate.opsForValue().get(ct.getTeacherId())==null){
List<String>list=new ArrayList<>(); List<String>list=new ArrayList<>();
@@ -212,11 +214,11 @@ public class StudyCourseApi extends ApiBaseController{
redisTemplate.opsForValue().set(teacherVo.get(0).getTeacherId(), teacherVo.get(0).getStatus()); redisTemplate.opsForValue().set(teacherVo.get(0).getTeacherId(), teacherVo.get(0).getStatus());
//设置过期时间为1天 //设置过期时间为1天
redisTemplate.expire(teacherVo.get(0).getTeacherId(), 24 * 60 * 60, TimeUnit.SECONDS); redisTemplate.expire(teacherVo.get(0).getTeacherId(), 24 * 60 * 60, TimeUnit.SECONDS);
if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1")){ if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1") && t.getTeacherType() == 1 ){
ct.setTeacherName("BOE教师"); ct.setTeacherName("BOE教师");
} }
} }
if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1")){ if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1") && t.getTeacherType() == 1 ){
ct.setTeacherName("BOE教师"); ct.setTeacherName("BOE教师");
} }
} }
@@ -343,6 +345,8 @@ public class StudyCourseApi extends ApiBaseController{
} }
//追加学习时长 //追加学习时长
studyService.appendStudyDuration(sci.getStudyId(),item.getId(),sci.getContentId(),sci.getDuration()); studyService.appendStudyDuration(sci.getStudyId(),item.getId(),sci.getContentId(),sci.getDuration());
log.info(" 1 在线课学习记录 sci.getStudyId() = "+ sci.getStudyId() + " , sci.getCourseId() = " + sci.getCourseId() );
List<StudyCourse> allUserList = thirdApi.getStudyCourseList(sci.getStudyId() ,sci.getCourseId(), token); List<StudyCourse> allUserList = thirdApi.getStudyCourseList(sci.getStudyId() ,sci.getCourseId(), token);
log.info("在线课学习记录"+allUserList); log.info("在线课学习记录"+allUserList);
return success(item.getId()); return success(item.getId());
@@ -363,6 +367,8 @@ public class StudyCourseApi extends ApiBaseController{
studyService.saveStudyInfo(sci,token); studyService.saveStudyInfo(sci,token);
//学习记录成功后处理 //学习记录成功后处理
studyService.appendStudyDuration(sci.getStudyId(),sci.getStudyItemId(),sci.getContentId(),sci.getDuration()); studyService.appendStudyDuration(sci.getStudyId(),sci.getStudyItemId(),sci.getContentId(),sci.getDuration());
log.info("在线课学习记录 sci.getStudyId() = "+ sci.getStudyId() + " , sci.getCourseId() = " + sci.getCourseId() );
List<StudyCourse> allUserList = thirdApi.getStudyCourseList(sci.getStudyId() ,sci.getCourseId(), token); List<StudyCourse> allUserList = thirdApi.getStudyCourseList(sci.getStudyId() ,sci.getCourseId(), token);
log.info("在线课学习记录"+allUserList); log.info("在线课学习记录"+allUserList);
//System.out.println("在线课学习记录"+allUserList); //System.out.println("在线课学习记录"+allUserList);

View File

@@ -0,0 +1,99 @@
package com.xboe.school.study.api;
import com.xboe.school.study.service.IStudyService;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.Cursor;
import org.springframework.data.redis.core.ScanOptions;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
/**
* @author by lyc
* @date 2025/3/3
*/
@Component
@Slf4j
@RequiredArgsConstructor
public class StudyCourseTask {
private final IStudyService studyService;
private final StringRedisTemplate redisTemplate;
/**
* 定时任务
* 获取redis 中学习结束的数据更新入库
* */
@XxlJob("saveStudyCourseItemLastTime")
public void saveStudyCourseItemLastTime() {
// 1. 定义匹配模式匹配所有目标key
final String KEY_PATTERN = "studyContentId:*:last_active";
// 2. 使用SCAN安全遍历避免阻塞
ScanOptions options = ScanOptions.scanOptions()
.match(KEY_PATTERN)
.count(100) // 分页大小
.build();
try (RedisConnection connection = Objects.requireNonNull(redisTemplate.getConnectionFactory()).getConnection()) {
Cursor<byte[]> cursor = connection.scan(options);
// 3. 遍历处理符合条件的key
while (cursor.hasNext()) {
String redisKey = new String(cursor.next());
// 4. 获取剩余TTL
Long ttl = redisTemplate.getExpire(redisKey, TimeUnit.SECONDS);
// 5. 过滤条件:剩余时间 >= 29天23小时30分钟转换为秒
// 总需时间 = (30天 - 30分钟) = 29天23小时30分钟 = 2590200秒
// 5分钟 300秒 || 2592000 - 300 = 2591700
if (ttl <= 2590200) {
try {
// 6. 提取studyContentId
String[] parts = redisKey.split(":");
if (parts.length < 2) continue;
String studyContentId = parts[1];
// 7. 获取存储的时间点(示例逻辑)
String lastStudyTimeStr = redisTemplate.opsForValue().get(redisKey);
if (lastStudyTimeStr == null) continue;
int lastStudyTime = Integer.parseInt(lastStudyTimeStr);
// 8. 更新数据库(调用已有服务方法)
studyService.updateStudyCourseItemLastTime(studyContentId, lastStudyTime, "system_job");
// 9. 删除Redis键原子操作
redisTemplate.delete(redisKey);
log.info("处理成功 key: {}, lastStudyTime: {}", redisKey, lastStudyTime);
} catch (Exception e) {
log.error("处理失败 key: {}", redisKey, e);
}
}
}
cursor.close();
} catch (Exception e) {
log.error("定时任务执行异常", e);
}
/* // 新增日志逻辑
if (ttl <= 172800) {
studyService.saveCourseExpireLog(
studyContentId,
lastStudyTime,
redisKey,
ttl,
"system_job"
);
}*/
}
}

View File

@@ -99,4 +99,5 @@ public interface IStudyService {
List<StudyCourseItem> getList(String courseId, String contentId, String name, Integer status); List<StudyCourseItem> getList(String courseId, String contentId, String name, Integer status);
void updateStudyCourseItemLastTime(String studyContentId, int lastStudyTime, String systemJob);
} }

View File

@@ -1,5 +1,6 @@
package com.xboe.school.study.service.impl; package com.xboe.school.study.service.impl;
import java.time.Duration;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
@@ -15,6 +16,7 @@ import com.xboe.school.study.entity.StudyCourse;
import com.xboe.system.user.entity.User; import com.xboe.system.user.entity.User;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xboe.common.OrderCondition; import com.xboe.common.OrderCondition;
@@ -51,6 +53,9 @@ public class StudyServiceImpl implements IStudyService{
@Autowired @Autowired
UserDao userDao; UserDao userDao;
@Autowired
StringRedisTemplate redisTemplate;
@Override @Override
public StudyCourseItem checkHas(String studyId,String contentId) { public StudyCourseItem checkHas(String studyId,String contentId) {
@@ -324,8 +329,20 @@ public class StudyServiceImpl implements IStudyService{
// 更新 前端传输已学习时长 // 更新 前端传输已学习时长
@Override @Override
@Transactional
public void updateLastTime(String studyContentId, int lastStudyTime,String aid) { public void updateLastTime(String studyContentId, int lastStudyTime,String aid) {
// 20250303 优化 多次更新改一次更新
// 更新Redis中的最后活跃时间带30秒过期
redisTemplate.opsForValue().set(
"studyContentId:" + studyContentId + ":last_active",
String.valueOf(lastStudyTime),
Duration.ofSeconds(2592000)
);
// Duration.ofDays(30) 也就是 2592000秒
}
@Override
@Transactional
public void updateStudyCourseItemLastTime(String studyContentId, int lastStudyTime,String aid) {
// 更新最后的学习时间点 // 更新最后的学习时间点
LocalDateTime now=LocalDateTime.now(); LocalDateTime now=LocalDateTime.now();
UpdateBuilder update=UpdateBuilder.from(StudyCourseItem.class); UpdateBuilder update=UpdateBuilder.from(StudyCourseItem.class);
@@ -335,7 +352,6 @@ public class StudyServiceImpl implements IStudyService{
update.addUpdateField("lastStudyTime", lastStudyTime); update.addUpdateField("lastStudyTime", lastStudyTime);
update.addUpdateField("lastTime", now); update.addUpdateField("lastTime", now);
scItemDao.update(update.builder()); scItemDao.update(update.builder());
//增加用户的学习时长,在api中调用
} }
@Override @Override

View File

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

View File

@@ -1,13 +1,13 @@
# application-dev.yml # application-pro.yml
spring: spring:
redis: redis:
database: 2 database: 1
port: 6379 host: 192.168.0.253
host: 192.168.0.101
password: boe@123 password: boe@123
port: 6379
jpa: jpa:
hibernate: hibernate:
ddl-auto: none ddl-auto: update
open-in-view: false open-in-view: false
properties: properties:
hibernate: hibernate:
@@ -16,14 +16,15 @@ spring:
driverClassName: com.mysql.jdbc.Driver driverClassName: com.mysql.jdbc.Driver
db1: db1:
driverClassName: com.mysql.jdbc.Driver 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 username: root
password: boe#1234A password: boe#1234A
db2: db2:
driverClassName: com.mysql.jdbc.Driver 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 username: root
password: boe#1234A password: boe#1234A
web: web:
resources: resources:
static-locations: file:E:/Projects/BOE/java/static static-locations: file:E:/Projects/BOE/java/static
@@ -32,23 +33,27 @@ logging:
level: level:
org: org:
hibernate: hibernate:
SQL: DEBUG SQL: ERROR
type: # type:
descriptor: # descriptor:
sql: # sql:
BasicBinder: TRACE # BasicBinder: TRACE
config: classpath:log/logback-dev.xml config: classpath:log/logback-dev.xml
xboe: xboe:
api:
cross_filter: true
upload: upload:
file: file:
temp_path: E:/Projects/BOE/java/static/temp temp_path: /tmp
save_path: E:/Projects/BOE/java/static/upload save_path: /home/www/elearning/upload
http_path: http://localhost:9090/upload http_path: http://192.168.0.253/upload
inner: inner:
data: data:
sync: sync:
baseurl: http://localhost:9090 baseurl: http://127.0.0.1:9090
jasypt: jasypt:
encryptor: encryptor: