Compare commits

..

1 Commits

Author SHA1 Message Date
hui
3d7f714562 smartDoc 2025-01-19 14:33:24 +08:00
22 changed files with 220 additions and 488 deletions

View File

@@ -240,6 +240,18 @@
<version>2.3.0</version> <!-- 请根据实际需求选择版本 --> <version>2.3.0</version> <!-- 请根据实际需求选择版本 -->
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.github.shalousun/smart-doc -->
<dependency>
<groupId>com.github.shalousun</groupId>
<artifactId>smart-doc</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>2.0</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
@@ -265,6 +277,28 @@
<includeSystemScope>true</includeSystemScope> <includeSystemScope>true</includeSystemScope>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>com.github.shalousun</groupId>
<artifactId>smart-doc-maven-plugin</artifactId>
<version>2.7.7</version>
<configuration>
<!--指定生成文档的使用的配置文件,配置文件放在自己的项目中-->
<configFile>./src/main/resources/smart-doc.json</configFile>
<!--指定项目名称,推荐使用动态参数,例如${project.description}-->
<!--如果smart-doc.json中和此处都未设置projectName2.3.4开始插件自动采用pom中的projectName作为设置-->
<projectName>${project.description}</projectName>
</configuration>
<executions>
<execution>
<!--如果不需要在执行编译时启动smart-doc则将phase注释掉-->
<phase>compile</phase>
<goals>
<!--smart-doc提供了html、openapi、markdown等goal可按需配置-->
<goal>html</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>
<profiles> <profiles>

View File

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

View File

@@ -2,16 +2,11 @@ package com.xboe.data.service.impl;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import javax.annotation.Resource;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import com.boe.feign.api.serverall.entity.UserData; import com.boe.feign.api.serverall.entity.UserData;
import com.xboe.constants.CacheName;
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.cache.Cache;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.retry.annotation.Recover; import org.springframework.retry.annotation.Recover;
import org.springframework.retry.annotation.Retryable; import org.springframework.retry.annotation.Retryable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -44,9 +39,6 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
@Autowired @Autowired
TeacherDao teacherDao; TeacherDao teacherDao;
@Resource
private CacheManager cacheManager;
@Override @Override
@Transactional @Transactional
@@ -67,8 +59,6 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
a.setDeleted(user.getDeleted()); a.setDeleted(user.getDeleted());
} }
a.setLoginName(user.getCode()); a.setLoginName(user.getCode());
a.setMobile(user.getMobile());
a.setEmail(user.getEmail());
log.info("更新账号code"); log.info("更新账号code");
accountDao.update(a); accountDao.update(a);
} else { } else {
@@ -81,18 +71,14 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
a.setRegTime(LocalDateTime.now()); a.setRegTime(LocalDateTime.now());
a.setSysId(user.getKid()); a.setSysId(user.getKid());
a.setStatus(1); a.setStatus(1);
a.setMobile(user.getMobile());
a.setEmail(user.getEmail());
accountDao.save(a); accountDao.save(a);
log.info("账号不存在,新添加账号【" + user.getId() + ""); log.info("账号不存在,新添加账号【" + user.getId() + "");
} }
if (u != null) { if (u != null) {
//更新部分用户字段 //更新部分用户字段
u.setDepartId(user.getDepartId()); u.setDepartId(user.getDepartId());
u.setDepartName(user.getDepartName()); u.setDepartName(user.getDepartName());
u.setName(user.getName()); u.setName(user.getName());
u.setMobileNo(user.getMobile());
//2022-12-8 去掉用户类型的更新,因为返回的数据都是学员, //2022-12-8 去掉用户类型的更新,因为返回的数据都是学员,
//u.setUserType(user.getUserType()); //u.setUserType(user.getUserType());
if (user.getLearningDuration() > 0) { //不大于0才会更新 if (user.getLearningDuration() > 0) { //不大于0才会更新
@@ -120,17 +106,9 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
} else { } else {
u.setShowHome(true);//band16以下及其它无bandLevel的信息 u.setShowHome(true);//band16以下及其它无bandLevel的信息
} }
u.setMobileNo(user.getMobile());
userDao.save(u); userDao.save(u);
log.info("添加新用户"); log.info("添加新用户");
} }
Cache cache = cacheManager.getCache(CacheName.NAME_USER);
if(cache != null) {
cache.evict(CacheName.KEY_ACCOUNT + user.getId());
cache.evict(CacheName.KEY_USER + user.getId());
}
//对机构的判断,不为空时才会处理,为空时不处理 //对机构的判断,不为空时才会处理,为空时不处理
if (StringUtils.isNotBlank(user.getDepartId())) { if (StringUtils.isNotBlank(user.getDepartId())) {
org = orgDao.get(user.getDepartId()); org = orgDao.get(user.getDepartId());

View File

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

View File

@@ -14,7 +14,7 @@ public interface ICasesRecommendPushRecordService {
/** /**
* 案例推送 * 案例推送
* *
* @param * @param boeParam
* @return * @return
*/ */
boolean launchPush(CasesRecommendLaunchVo casesRecommendLaunch, CurrentUser currentUser, String token); boolean launchPush(CasesRecommendLaunchVo casesRecommendLaunch, CurrentUser currentUser, String token);

View File

@@ -314,10 +314,8 @@ public class CoursePortalApi extends ApiBaseController{
User user = userService.get(ct.getTeacherId()); User user = userService.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){
if(Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1") && ( t==null || t.getTeacherType() == 1)){ if(Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1")){
ct.setTeacherName("BOE教师"); ct.setTeacherName("BOE教师");
} }
teacherCourseDto.setCourseId(ct.getCourseId()); teacherCourseDto.setCourseId(ct.getCourseId());
@@ -329,15 +327,13 @@ 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<>();
list.add(ct.getTeacherId()); list.add(ct.getTeacherId());
getTeacherInfo(request.getHeader("Xboe-Access-Token"),list); getTeacherInfo(request.getHeader("Xboe-Access-Token"),list);
if(Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1") && ( t==null || t.getTeacherType() == 1)){ if(Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1")){
ct.setTeacherName("BOE教师"); ct.setTeacherName("BOE教师");
} }
teacherCourseDto.setCourseId(ct.getCourseId()); teacherCourseDto.setCourseId(ct.getCourseId());
@@ -349,9 +345,7 @@ 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,11 +49,4 @@ 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

@@ -341,5 +341,8 @@ public interface ICourseService {
List<Course> mobiledelList(Integer num,CourseQueryDto courseQueryDto); List<Course> mobiledelList(Integer num,CourseQueryDto courseQueryDto);
void deletedStudyResourceBatchByCourseIdAndType(String courseId,Integer courseType);
} }

View File

@@ -1,6 +1,5 @@
package com.xboe.module.course.service.impl; package com.xboe.module.course.service.impl;
import java.io.IOException;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
@@ -20,11 +19,6 @@ import com.xboe.core.orm.*;
import com.xboe.school.study.dao.StudyCourseDao; import com.xboe.school.study.dao.StudyCourseDao;
import com.xboe.school.study.entity.StudyCourse; import com.xboe.school.study.entity.StudyCourse;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.reindex.DeleteByQueryRequest;
import org.hibernate.mapping.IdGenerator; import org.hibernate.mapping.IdGenerator;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
@@ -121,9 +115,6 @@ public class CourseServiceImpl implements ICourseService {
@Autowired(required = false) @Autowired(required = false)
private IEventDataSender eventSender; private IEventDataSender eventSender;
@Resource
RestHighLevelClient restHighLevelClient;
/** /**
@@ -457,7 +448,6 @@ public class CourseServiceImpl implements ICourseService {
List<Course> paginate = paginate(listByFilters2, pageIndex, pageSize); List<Course> paginate = paginate(listByFilters2, pageIndex, pageSize);
PageList<Course> rs = new PageList<>(); PageList<Course> rs = new PageList<>();
rs.setCount(listByFilters2.size()); rs.setCount(listByFilters2.size());
rs.setPageSize(pageSize);
rs.setList(paginate); rs.setList(paginate);
return rs; return rs;
} }
@@ -863,14 +853,12 @@ public class CourseServiceImpl implements ICourseService {
log.error("未配置事件消息发送的实现"); log.error("未配置事件消息发送的实现");
} }
} }
// 删除ES数据
deletedStudyResourceBatchByCourseIdAndType(id,c.getType());
} else { } else {
//彻底删除,课件设置为无课程状态 //彻底删除,课件设置为无课程状态
courseDao.setDeleted(id); courseDao.setDeleted(id);
} }
//记录删除日志信息 //记录删除日志信息
} }
@Override @Override
@@ -1990,17 +1978,5 @@ public class CourseServiceImpl implements ICourseService {
return courseDao.findListByHql("Select new Course(id,studys,score) from Course where id in(?1)", ids); return courseDao.findListByHql("Select new Course(id,studys,score) from Course where id in(?1)", ids);
} }
@Override
public void deletedStudyResourceBatchByCourseIdAndType(String courseId, Integer courseType) {
DeleteByQueryRequest request = new DeleteByQueryRequest("new_study_resource");
BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
boolQueryBuilder.must(QueryBuilders.matchQuery("courseId", courseId));
boolQueryBuilder.must(QueryBuilders.matchQuery("courseType", courseType));
request.setQuery(boolQueryBuilder);
try {
restHighLevelClient.deleteByQuery(request, RequestOptions.DEFAULT);
} catch (IOException e) {
e.printStackTrace();
}
}
} }

View File

@@ -104,7 +104,7 @@ public interface ICommentsService {
/** /**
* 查询案例@的评论 * 查询案例@的评论
* @param * @param boeParam
* */ * */
PageList<CommentsDto> findCasesTome(int pageIndex,int pageSize,Integer objType,String toaid,String uname,Boolean isread); PageList<CommentsDto> findCasesTome(int pageIndex,int pageSize,Integer objType,String toaid,String uname,Boolean isread);

View File

@@ -204,8 +204,6 @@ 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<>();
@@ -214,11 +212,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") && ( t==null || t.getTeacherType() == 1)){ if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1")){
ct.setTeacherName("BOE教师"); ct.setTeacherName("BOE教师");
} }
} }
if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1") && ( t==null || t.getTeacherType() == 1)){ if (Objects.equals(redisTemplate.opsForValue().get(ct.getTeacherId()), "1")){
ct.setTeacherName("BOE教师"); ct.setTeacherName("BOE教师");
} }
} }
@@ -290,7 +288,7 @@ public class StudyCourseApi extends ApiBaseController{
/** /**
* 记录学习信息,在学习每个资源时都要记录.前端用户打开课程资源按规则调用带着课程及学习信息调用此接口。 * 记录学习信息,在学习每个资源时都要记录.前端用户打开课程资源按规则调用带着课程及学习信息调用此接口。
* @param * @param boeParam
* @return 返回学习条目的id * @return 返回学习条目的id
*/ */
@PostMapping("/study") @PostMapping("/study")
@@ -452,8 +450,8 @@ public class StudyCourseApi extends ApiBaseController{
* 音视频学习保存,初始化保存学习记录. * 音视频学习保存,初始化保存学习记录.
* 如果已经保存,就不要再保存第二次了,前端注意控制 * 如果已经保存,就不要再保存第二次了,前端注意控制
* {studyId,contentId,courseId,progress,contentType,studyDuration} * {studyId,contentId,courseId,progress,contentType,studyDuration}
* @param * @param boeParam
* @param * @param boeParam
* @return * @return
*/ */
@PostMapping("/study-video-save") @PostMapping("/study-video-save")
@@ -508,8 +506,8 @@ public class StudyCourseApi extends ApiBaseController{
} }
/** /**
* 视频学习完 * 视频学习完
* @param * @param boeParam
* @param * @param boeParam
* @return * @return
*/ */
@PostMapping("/study-video-finish") @PostMapping("/study-video-finish")
@@ -541,7 +539,7 @@ public class StudyCourseApi extends ApiBaseController{
/** /**
* 记录视频的学习时间点前端可以每10秒记录一次时长是秒 * 记录视频的学习时间点前端可以每10秒记录一次时长是秒
* @param itemId 学习内容条目id * @param itemId 学习内容条目id
* @param * @param boeParam
* @return * @return
*/ */
@PostMapping("/study-video-time") @PostMapping("/study-video-time")

View File

@@ -1,102 +1,159 @@
boe:
domain: http://192.168.0.253
spring: spring:
# application.yml
servlet: servlet:
multipart: multipart:
max-file-size: 1000MB max-file-size: 500MB
max-request-size: 1000MB max-request-size: 500MB
web:
resources:
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: redis:
database: 1 database: 1
host: 192.168.0.253 host: 192.168.0.101
password: boe@123 password: boe@123
port: 6379 port: 6379
lettuce:
pool:
max-active: 8
min-idle: 0
max-idle: 30
max-wait: 10000ms
shutdown-timeout: 100ms
jpa: jpa:
database: MYSQL
properties:
hibernate: hibernate:
ddl-auto: none 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: datasource:
driverClassName: com.mysql.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.0.253:3306/boe_base?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull url: jdbc:mysql://192.168.0.101:3306/boe_base?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull
username: root username: root
password: boe#1234A password: boe#1234A
type: com.zaxxer.hikari.HikariDataSource web:
hikari: resources:
auto-commit: true static-locations: file:E:/Projects/BOE/10/static
minimum-idle: 5 server:
idle-timeout: 60000 port: 9090
connection-timeout: 30000 servlet:
max-lifetime: 1800000 multipart:
maximum-pool-size: 20 max-file-size: 500MB
logging: max-request-size: 500MB
level: session:
org: timeout: 30m
hibernate: encoding:
SQL: ERROR charset: UTF-8
config: classpath:log/logback-@profileActive@.xml 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
xboe: xboe:
api: api:
cross_filter: true cross_filter: true
local:
dev: true
upload: upload:
file: file:
temp_path: /tmp temp_path: D:/Projects/BOE/10/static/temp
save_path: /home/www/elearning/upload save_path: /home/www/elearning/upload
http_path: http://192.168.0.253/upload http_path: http://127.0.0.1/upload
externalinterface: externalinterface:
url: url:
system: http://127.0.0.1:9091 system: http://localhost:9091
old: old:
base: base:
url: http://192.168.0.253 url: http://192.168.0.101
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.253 ip: 192.168.0.101
port: 9200 port: 9200
user: user:
password: password:
email: email:
url: http://192.168.0.253/api/b1/email/send url: http://192.168.0.101/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:
job: boe:
accessToken: 65ddc683-22f5-83b4-de3a-3c97a0a29af0 domain: http://127.0.0.1
admin:
addresses: http://192.168.0.253/jobAdmin ok:
executor: http:
appname: java-servers-job-api connect-timeout: 30
port: 9995 read-timeout: 30
address: write-timeout: 30
ip: max-idle-connections: 200
logpath: /var/log/xxl-job/dw/ keep-alive-duration: 300
logretentiondays: 30
aop-log-record:
#是否开启日志记录
enabled: true orgTree:
#不进行拦截的包或者类 orgTreeList: ${boe.domain}/userbasic/org/list
excludeClassNames: orgChildTreeList: ${boe.domain}/userbasic/org/childOrgs
activemq:
broker-url: tcp://192.168.0.253:61616 userBasic:
user: admin searchUserList: ${boe.domain}/userbasic/user/list
password: admin getUserBasicInfo: ${boe.domain}/userbasic/user/getUserBasicInfo
elasticsearch: getTeacherIds: ${boe.domain}/userbasic/user/getTeacherInfo
host: 192.168.0.253
port: 9200 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

View File

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

View File

@@ -1,183 +0,0 @@
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

@@ -1,56 +0,0 @@
<?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,6 +51,5 @@
<root level="INFO"> <root level="INFO">
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
<appender-ref ref="console"/>
</root> </root>
</configuration> </configuration>

View File

@@ -0,0 +1,7 @@
{
"outPath": "src/main/resources/apidoc",
"isStrict": false,
"ignoreEmptyTag": true,
"createDebugPage": true,
"allInOne": true
}

View File

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

View File

@@ -1,13 +1,13 @@
# application-pro.yml # application-dev.yml
spring: spring:
redis: redis:
database: 1 database: 2
host: 192.168.0.253
password: boe@123
port: 6379 port: 6379
host: 192.168.0.101
password: boe@123
jpa: jpa:
hibernate: hibernate:
ddl-auto: update ddl-auto: none
open-in-view: false open-in-view: false
properties: properties:
hibernate: hibernate:
@@ -16,15 +16,14 @@ 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.253:3306/boe_basic?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull jdbc-url: jdbc:mysql://192.168.0.101: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.253:3306/boe_base?useSSL=false&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull jdbc-url: jdbc:mysql://192.168.0.101: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
@@ -33,27 +32,23 @@ logging:
level: level:
org: org:
hibernate: hibernate:
SQL: ERROR SQL: DEBUG
# 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: /tmp temp_path: E:/Projects/BOE/java/static/temp
save_path: /home/www/elearning/upload save_path: E:/Projects/BOE/java/static/upload
http_path: http://192.168.0.253/upload http_path: http://localhost:9090/upload
inner: inner:
data: data:
sync: sync:
baseurl: http://127.0.0.1:9090 baseurl: http://localhost:9090
jasypt: jasypt:
encryptor: encryptor:

View File

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

View File

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

View File

@@ -1,55 +0,0 @@
<?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>