Commit 01554785 by tangyi

优化

parent 73d78bb8
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
| 单位ID | 账号 | 密码 | 角色 | | 单位ID | 账号 | 密码 | 角色 |
| --------- | -------- | -------- | -------- | | --------- | -------- | -------- | -------- |
| gitee | admin | 123456 | 管理员 | | gitee | admin | ****** | 管理员 |
| gitee | preview | 123456 | 预览权限|
| gitee | student | 123456 | 学生 | | gitee | student | 123456 | 学生 |
| gitee | teacher | 123456 | 老师 | | gitee | teacher | 123456 | 老师 |
......
...@@ -80,11 +80,11 @@ public class SwaggerConfig implements WebMvcConfigurer { ...@@ -80,11 +80,11 @@ public class SwaggerConfig implements WebMvcConfigurer {
private ApiInfo apiInfo() { private ApiInfo apiInfo() {
return new ApiInfoBuilder() return new ApiInfoBuilder()
.title("Swagger API") .title("硕果云")
.description("https://gitee.com/wells2333/spring-microservice-exam") .description("https://gitee.com/wells2333/spring-microservice-exam")
.termsOfServiceUrl("https://gitee.com/wells2333/spring-microservice-exam") .termsOfServiceUrl("https://gitee.com/wells2333/spring-microservice-exam")
.contact(new Contact("tangyi", "https://gitee.com/wells2333/spring-microservice-exam", "1633736729@qq.com")) .contact(new Contact("tangyi", "https://gitee.com/wells2333/spring-microservice-exam", "1633736729@qq.com"))
.version("3.4.0") .version("3.6.0")
.build(); .build();
} }
......
...@@ -110,7 +110,6 @@ swagger: ...@@ -110,7 +110,6 @@ swagger:
preview: preview:
ignores: ignores:
- api/auth # 授权服务 - api/auth # 授权服务
- resetPassword # 重置密码
- register - register
- checkExist - checkExist
- updateInfo - updateInfo
......
...@@ -39,21 +39,21 @@ ...@@ -39,21 +39,21 @@
</filter> </filter>
</appender> </appender>
<!-- 输出到logstash的appender, ELK_DESTINATION为logstash的IP和端口,从环境变量注入--> <!-- 输出到logstash的appender, LOGSTASH_HOST为logstash的IP和端口,从环境变量注入-->
<!-- <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!--<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${ELK_DESTINATION}</destination> <destination>${LOGSTASH_HOST}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>--> </appender>-->
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 --> <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="info"> <root level="warn">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
<!--<appender-ref ref="logstash"/>--> <!--<appender-ref ref="logstash"/>-->
</root> </root>
<logger name="com.github.tangyi" level="debug" additivity="false"> <logger name="com.github.tangyi" level="info" additivity="false">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
......
...@@ -78,4 +78,4 @@ CLUSTER_DATA_CENTER_ID=1 ...@@ -78,4 +78,4 @@ CLUSTER_DATA_CENTER_ID=1
TZ=Asia/Shanghai TZ=Asia/Shanghai
# elk配置 # elk配置
ELK_DESTINATION=localhost:5044 LOGSTASH_HOST=localhost:5044
\ No newline at end of file \ No newline at end of file
SET NAMES utf8mb4; SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0; SET FOREIGN_KEY_CHECKS = 0;
......
SET NAMES utf8mb4; SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0; SET FOREIGN_KEY_CHECKS = 0;
...@@ -28,7 +27,7 @@ CREATE TABLE `sys_route` ( ...@@ -28,7 +27,7 @@ CREATE TABLE `sys_route` (
-- ---------------------------- -- ----------------------------
-- Records of sys_route -- Records of sys_route
-- ---------------------------- -- ----------------------------
INSERT INTO `sys_route` VALUES (607150228717572096, 'msc-service', '消息中心', '[{\"name\":\"Path\",\"args\":{\"_genkey_0\":\"/api/msc/**\"}}]', '[{\"name\":\"StripPrefix\",\"args\":{\"_genkey_0\":\"2\"}},{\"name\":\"RemoveRequestHeader\",\"args\":{\"_genkey_0\":\"Cookie\",\"_genkey_1\":\"Set-Cookie\"}}]', 'lb://msc-service', 4, 0, '', '2020-02-05 11:51:41', '', '2020-02-05 11:51:42', 0, 'EXAM'); INSERT INTO `sys_route` VALUES (607150228717572096, 'msc-service', '消息中心', '[{\"name\":\"Path\",\"args\":{\"_genkey_0\":\"/api/msc/**\"}}]', '[{\"name\":\"StripPrefix\",\"args\":{\"_genkey_0\":\"2\"}},{\"name\":\"RemoveRequestHeader\",\"args\":{\"_genkey_0\":\"Cookie\",\"_genkey_1\":\"Set-Cookie\"}}]', 'lb://msc-service', 4, 0, 'admin', '2020-02-23 14:42:05', '', '2020-02-05 11:51:42', 0, 'EXAM');
INSERT INTO `sys_route` VALUES (607150228717572097, 'user-service', '用户服务', '[{\"name\": \"Path\",\"args\": {\"_genkey_0\": \"/api/user/**\"}}]', '[\n {\n \"name\": \"StripPrefix\",\n \"args\": {\n \"_genkey_0\": \"2\"\n }\n },\n {\n \"name\": \"RemoveRequestHeader\",\n \"args\": {\n \"_genkey_0\": \"Cookie\",\n \"_genkey_1\": \"Set-Cookie\"\n }\n }\n]', 'lb://user-service', 2, 0, 'admin', '2020-02-04 14:15:08', '', '2019-08-03 09:58:35', 0, 'EXAM'); INSERT INTO `sys_route` VALUES (607150228717572097, 'user-service', '用户服务', '[{\"name\": \"Path\",\"args\": {\"_genkey_0\": \"/api/user/**\"}}]', '[\n {\n \"name\": \"StripPrefix\",\n \"args\": {\n \"_genkey_0\": \"2\"\n }\n },\n {\n \"name\": \"RemoveRequestHeader\",\n \"args\": {\n \"_genkey_0\": \"Cookie\",\n \"_genkey_1\": \"Set-Cookie\"\n }\n }\n]', 'lb://user-service', 2, 0, 'admin', '2020-02-04 14:15:08', '', '2019-08-03 09:58:35', 0, 'EXAM');
INSERT INTO `sys_route` VALUES (607150228717572098, 'exam-service', '考试服务', '[{\"name\":\"Path\",\"args\":{\"_genkey_0\":\"/api/exam/**\"}}]', '[{\"name\":\"StripPrefix\",\"args\":{\"_genkey_0\":\"2\"}},{\"name\":\"RemoveRequestHeader\",\"args\":{\"_genkey_0\":\"Cookie\",\"_genkey_1\":\"Set-Cookie\"}}]', 'lb://exam-service', 3, 0, 'admin', '2020-02-05 11:52:19', '', '2020-02-05 11:52:19', 0, 'EXAM'); INSERT INTO `sys_route` VALUES (607150228717572098, 'exam-service', '考试服务', '[{\"name\":\"Path\",\"args\":{\"_genkey_0\":\"/api/exam/**\"}}]', '[{\"name\":\"StripPrefix\",\"args\":{\"_genkey_0\":\"2\"}},{\"name\":\"RemoveRequestHeader\",\"args\":{\"_genkey_0\":\"Cookie\",\"_genkey_1\":\"Set-Cookie\"}}]', 'lb://exam-service', 3, 0, 'admin', '2020-02-05 11:52:19', '', '2020-02-05 11:52:19', 0, 'EXAM');
INSERT INTO `sys_route` VALUES (607150228717572099, 'auth-service', '认证授权服务', '[{\"name\":\"Path\",\"args\":{\"_genkey_0\":\"/api/auth/**\"}}]', '[\n {\n \"name\": \"StripPrefix\",\n \"args\": {\n \"_genkey_0\": \"2\"\n }\n },\n {\n \"name\": \"RemoveRequestHeader\",\n \"args\": {\n \"_genkey_0\": \"Cookie\",\n \"_genkey_1\": \"Set-Cookie\"\n }\n }\n]', 'lb://auth-service', 1, 0, 'admin', '2020-02-04 14:17:04', '', '2020-02-04 14:17:05', 0, 'EXAM'); INSERT INTO `sys_route` VALUES (607150228717572099, 'auth-service', '认证授权服务', '[{\"name\":\"Path\",\"args\":{\"_genkey_0\":\"/api/auth/**\"}}]', '[\n {\n \"name\": \"StripPrefix\",\n \"args\": {\n \"_genkey_0\": \"2\"\n }\n },\n {\n \"name\": \"RemoveRequestHeader\",\n \"args\": {\n \"_genkey_0\": \"Cookie\",\n \"_genkey_1\": \"Set-Cookie\"\n }\n }\n]', 'lb://auth-service', 1, 0, 'admin', '2020-02-04 14:17:04', '', '2020-02-04 14:17:05', 0, 'EXAM');
......
This source diff could not be displayed because it is too large. You can view the blob instead.
-- ----------------------------
-- 2019年6月21日14:32:59
-- ----------------------------
ALTER TABLE `microservice-user`.`sys_attachment`
ADD COLUMN `previewUrl` varchar(255) NULL COMMENT '预览地址' AFTER `busi_type`;
-- ----------------------------
-- 2019年10月17日21:52:01
-- ----------------------------
ALTER TABLE `dev_microservice_exam`.`exam_examination_subject`
MODIFY COLUMN `examination_id` bigint(20) NULL COMMENT '考试ID' AFTER `id`,
ADD COLUMN `category_id` bigint(20) NULL COMMENT '分类' AFTER `examination_id`;
\ No newline at end of file
...@@ -50,11 +50,10 @@ ...@@ -50,11 +50,10 @@
</template> </template>
<script> <script>
import Tinymce from '@/components/Tinymce'
import { isNotEmpty } from '@/utils/util'
import Tinymce from '@/components/Tinymce' export default {
import { isNotEmpty, message } from '@/utils/util'
export default {
name: 'Judgement', name: 'Judgement',
components: { components: {
Tinymce Tinymce
...@@ -209,8 +208,7 @@ ...@@ -209,8 +208,7 @@
this.editType = 1 this.editType = 1
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -31,7 +31,8 @@ router.beforeEach((to, from, next) => { ...@@ -31,7 +31,8 @@ router.beforeEach((to, from, next) => {
next({ path: '/' }) next({ path: '/' })
NProgress.done() NProgress.done()
} else { } else {
if (store.getters.userInfo.id === undefined) { // 判断当前用户是否已拉取完user_info信息 const userInfo = store.getters.userInfo
if (Object.keys(userInfo).length === 0) { // 判断当前用户是否已拉取完user_info信息
store.dispatch('GetUserInfo').then(res => { // 拉取user_info store.dispatch('GetUserInfo').then(res => { // 拉取user_info
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
}).catch((err) => { }).catch((err) => {
......
...@@ -83,14 +83,11 @@ ...@@ -83,14 +83,11 @@
</template> </template>
<script> <script>
import { fetchExamRecordList, exportObj, completeMarking } from '@/api/exam/examRecord' import { fetchExamRecordList, exportObj } from '@/api/exam/examRecord'
import { getAnswerByRecordId, putAnswer } from '@/api/exam/answer'
import { getSubjectIds } from '@/api/exam/exam'
import waves from '@/directive/waves' import waves from '@/directive/waves'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { exportExcel, messageFail, messageSuccess, formatDate } from '@/utils/util' import { exportExcel } from '@/utils/util'
import SpinnerLoading from '@/components/SpinnerLoading' import SpinnerLoading from '@/components/SpinnerLoading'
import Tinymce from '@/components/Tinymce'
export default { export default {
name: 'ExamRecordManagement', name: 'ExamRecordManagement',
......
...@@ -192,11 +192,11 @@ export default { ...@@ -192,11 +192,11 @@ export default {
if (subjectData.length > 0) { if (subjectData.length > 0) {
for (let i = 0; i < subjectData.length; i++) { for (let i = 0; i < subjectData.length; i++) {
const { subjectId, type } = subjectData[i] const { subjectId, type } = subjectData[i]
this.subjectIds.push({subjectId, type, index: i + 1}) this.subjectIds.push({ subjectId, type, index: i + 1 })
} }
} }
}) })
}).catch(error => { }).catch(() => {
messageFail(this, '加载答题失败') messageFail(this, '加载答题失败')
}) })
}, },
......
...@@ -352,7 +352,7 @@ export default { ...@@ -352,7 +352,7 @@ export default {
icon: '', icon: '',
sort: 30, sort: 30,
component: undefined, component: undefined,
type: '0', type: 0,
path: undefined, path: undefined,
remark: undefined remark: undefined
} }
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</template> </template>
<script> <script>
export default { export default {
name: 'Judgement', name: 'Judgement',
data () { data () {
return { return {
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
this.userAnswer = option.optionName this.userAnswer = option.optionName
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -15,7 +15,8 @@ router.beforeEach((to, from, next) => { ...@@ -15,7 +15,8 @@ router.beforeEach((to, from, next) => {
if (to.path === '/login' || to.path === '/register') { if (to.path === '/login' || to.path === '/register') {
next({ path: '/' }) next({ path: '/' })
} else { } else {
if (store.getters.roles.length === 0) { // 判断当前用户是否已拉取完user_info信息 const userInfo = store.getters.userInfo
if (Object.keys(userInfo).length === 0) { // 判断当前用户是否已拉取完user_info信息
store.dispatch('GetUserInfo').then(res => { // 拉取user_info store.dispatch('GetUserInfo').then(res => { // 拉取user_info
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
}).catch((err) => { }).catch((err) => {
...@@ -25,9 +26,10 @@ router.beforeEach((to, from, next) => { ...@@ -25,9 +26,10 @@ router.beforeEach((to, from, next) => {
}) })
}) })
// 获取系统配置信息 // 获取系统配置信息
if (store.getters.sysConfig.fdfsHttpHost === undefined) { const sysConfig = store.getters.sysConfig
if (Object.keys(sysConfig).length === 0) {
store.dispatch('GetSysConfig').then(res => {}).catch(() => { store.dispatch('GetSysConfig').then(res => {}).catch(() => {
console.log('获取附件配置失败!') console.log('获取系统配置失败!')
}) })
} }
} else { } else {
......
...@@ -25,6 +25,7 @@ const getters = { ...@@ -25,6 +25,7 @@ const getters = {
course: state => state.course.course, course: state => state.course.course,
sysConfig: state => state.sysConfig.sysConfig, sysConfig: state => state.sysConfig.sysConfig,
tenantCode: state => state.user.tenantCode, tenantCode: state => state.user.tenantCode,
incorrectRecord: state => state.exam.incorrectRecord incorrectRecord: state => state.exam.incorrectRecord,
userInfo: state => state.user.userInfo
} }
export default getters export default getters
...@@ -19,9 +19,9 @@ import java.util.Map; ...@@ -19,9 +19,9 @@ import java.util.Map;
public class PreviewConfigLoader extends CacheLoader<String, Map<String, String>> { public class PreviewConfigLoader extends CacheLoader<String, Map<String, String>> {
/** /**
* 2分钟刷新一次loadingCache * 30秒刷新一次loadingCache
*/ */
public static final int REFRESH_CACHE_DURATION = 2 * 30; public static final int REFRESH_CACHE_DURATION = 30;
public static final String PREVIEW_ENABLE = "preview_enable"; public static final String PREVIEW_ENABLE = "preview_enable";
......
...@@ -79,7 +79,7 @@ public class GatewayExceptionHandler implements ErrorWebExceptionHandler { ...@@ -79,7 +79,7 @@ public class GatewayExceptionHandler implements ErrorWebExceptionHandler {
*/ */
@Override @Override
public Mono<Void> handle(ServerWebExchange exchange, Throwable ex) { public Mono<Void> handle(ServerWebExchange exchange, Throwable ex) {
String msg = "服务器内部错误."; String msg = "Internal Server Error";
// 返回给前端用的状态码 // 返回给前端用的状态码
int keyCode = ApiMsg.KEY_UNKNOWN; int keyCode = ApiMsg.KEY_UNKNOWN;
int msgCode = ApiMsg.ERROR; int msgCode = ApiMsg.ERROR;
...@@ -112,7 +112,7 @@ public class GatewayExceptionHandler implements ErrorWebExceptionHandler { ...@@ -112,7 +112,7 @@ public class GatewayExceptionHandler implements ErrorWebExceptionHandler {
ResponseBean<String> responseBean = new ResponseBean<>(msg, keyCode, msgCode); ResponseBean<String> responseBean = new ResponseBean<>(msg, keyCode, msgCode);
// 错误记录 // 错误记录
ServerHttpRequest request = exchange.getRequest(); ServerHttpRequest request = exchange.getRequest();
log.error("[全局异常处理]异常请求路径:{}, 异常信息:{}", request.getPath(), ex.getMessage()); log.error("GatewayExceptionHandler: {}, error: {}", request.getPath(), ex.getMessage());
if (exchange.getResponse().isCommitted()) if (exchange.getResponse().isCommitted())
return Mono.error(ex); return Mono.error(ex);
exceptionHandlerResult.set(responseBean); exceptionHandlerResult.set(responseBean);
......
...@@ -39,21 +39,21 @@ ...@@ -39,21 +39,21 @@
</filter> </filter>
</appender> </appender>
<!-- 输出到logstash的appender, ELK_DESTINATION为logstash的IP和端口,从环境变量注入--> <!-- 输出到logstash的appender, LOGSTASH_HOST为logstash的IP和端口,从环境变量注入-->
<!-- <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!--<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${ELK_DESTINATION}</destination> <destination>${LOGSTASH_HOST}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>--> </appender>-->
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 --> <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="info"> <root level="warn">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
<!--<appender-ref ref="logstash"/>--> <!--<appender-ref ref="logstash"/>-->
</root> </root>
<logger name="com.github.tangyi" level="debug" additivity="false"> <logger name="com.github.tangyi" level="info" additivity="false">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
......
...@@ -39,21 +39,21 @@ ...@@ -39,21 +39,21 @@
</filter> </filter>
</appender> </appender>
<!-- 输出到logstash的appender, ELK_DESTINATION为logstash的IP和端口,从环境变量注入--> <!-- 输出到logstash的appender, LOGSTASH_HOST为logstash的IP和端口,从环境变量注入-->
<!-- <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!--<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${ELK_DESTINATION}</destination> <destination>${LOGSTASH_HOST}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>--> </appender>-->
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 --> <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="info"> <root level="warn">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
<!--<appender-ref ref="logstash"/>--> <!--<appender-ref ref="logstash"/>-->
</root> </root>
<logger name="com.github.tangyi" level="debug" additivity="false"> <logger name="com.github.tangyi" level="info" additivity="false">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
......
...@@ -39,21 +39,21 @@ ...@@ -39,21 +39,21 @@
</filter> </filter>
</appender> </appender>
<!-- 输出到logstash的appender, ELK_DESTINATION为logstash的IP和端口,从环境变量注入--> <!-- 输出到logstash的appender, LOGSTASH_HOST为logstash的IP和端口,从环境变量注入-->
<!-- <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!--<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${ELK_DESTINATION}</destination> <destination>${LOGSTASH_HOST}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>--> </appender>-->
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 --> <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="info"> <root level="warn">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
<!--<appender-ref ref="logstash"/>--> <!--<appender-ref ref="logstash"/>-->
</root> </root>
<logger name="com.github.tangyi" level="debug" additivity="false"> <logger name="com.github.tangyi" level="info" additivity="false">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
......
...@@ -39,21 +39,21 @@ ...@@ -39,21 +39,21 @@
</filter> </filter>
</appender> </appender>
<!-- 输出到logstash的appender, ELK_DESTINATION为logstash的IP和端口,从环境变量注入--> <!-- 输出到logstash的appender, LOGSTASH_HOST为logstash的IP和端口,从环境变量注入-->
<!-- <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!--<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${ELK_DESTINATION}</destination> <destination>${LOGSTASH_HOST}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>--> </appender>-->
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 --> <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="info"> <root level="warn">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
<!--<appender-ref ref="logstash"/>--> <!--<appender-ref ref="logstash"/>-->
</root> </root>
<logger name="com.github.tangyi" level="debug" additivity="false"> <logger name="com.github.tangyi" level="info" additivity="false">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
......
...@@ -59,9 +59,15 @@ public class DashboardController extends BaseController { ...@@ -59,9 +59,15 @@ public class DashboardController extends BaseController {
ResponseBean<ExaminationDashboardDto> dashboardData = examinationService.findExaminationDashboardData(tenantCode); ResponseBean<ExaminationDashboardDto> dashboardData = examinationService.findExaminationDashboardData(tenantCode);
if (!ResponseUtil.isSuccess(dashboardData)) if (!ResponseUtil.isSuccess(dashboardData))
throw new ServiceException("Get examination dashboard data failed: " + dashboardData.getMsg()); throw new ServiceException("Get examination dashboard data failed: " + dashboardData.getMsg());
dashboardDto.setExaminationNumber(dashboardData.getData().getExaminationCount().toString()); ExaminationDashboardDto examinationDashboardDto = dashboardData.getData();
dashboardDto.setExamUserNumber(dashboardData.getData().getExamUserCount().toString()); if (examinationDashboardDto != null) {
dashboardDto.setExaminationRecordNumber(dashboardData.getData().getExaminationRecordCount().toString()); if (examinationDashboardDto.getExaminationCount() != null)
dashboardDto.setExaminationNumber(examinationDashboardDto.getExaminationCount().toString());
if (examinationDashboardDto.getExamUserCount() != null)
dashboardDto.setExamUserNumber(examinationDashboardDto.getExamUserCount().toString());
if (examinationDashboardDto.getExaminationRecordCount() != null)
dashboardDto.setExaminationRecordNumber(examinationDashboardDto.getExaminationRecordCount().toString());
}
return new ResponseBean<>(dashboardDto); return new ResponseBean<>(dashboardDto);
} }
......
...@@ -503,7 +503,7 @@ public class UserService extends CrudService<UserMapper, User> { ...@@ -503,7 +503,7 @@ public class UserService extends CrudService<UserMapper, User> {
private void initUserAvatar(UserInfoDto userInfoDto, User user) { private void initUserAvatar(UserInfoDto userInfoDto, User user) {
try { try {
// 附件id不为空,获取对应的预览地址,否则获取配置默认头像地址 // 附件id不为空,获取对应的预览地址,否则获取配置默认头像地址
if (user.getAvatarId() != 0L) { if (user.getAvatarId() != null && user.getAvatarId() != 0L) {
Attachment attachment = new Attachment(); Attachment attachment = new Attachment();
attachment.setId(user.getAvatarId()); attachment.setId(user.getAvatarId());
userInfoDto.setAvatarUrl(attachmentService.getPreviewUrl(attachment)); userInfoDto.setAvatarUrl(attachmentService.getPreviewUrl(attachment));
......
...@@ -39,21 +39,21 @@ ...@@ -39,21 +39,21 @@
</filter> </filter>
</appender> </appender>
<!-- 输出到logstash的appender, ELK_DESTINATION为logstash的IP和端口,从环境变量注入--> <!-- 输出到logstash的appender, LOGSTASH_HOST为logstash的IP和端口,从环境变量注入-->
<!-- <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!--<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${ELK_DESTINATION}</destination> <destination>${LOGSTASH_HOST}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>--> </appender>-->
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 --> <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="info"> <root level="warn">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
<!--<appender-ref ref="logstash"/>--> <!--<appender-ref ref="logstash"/>-->
</root> </root>
<logger name="com.github.tangyi" level="debug" additivity="false"> <logger name="com.github.tangyi" level="info" additivity="false">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
......
...@@ -39,21 +39,21 @@ ...@@ -39,21 +39,21 @@
</filter> </filter>
</appender> </appender>
<!-- 输出到logstash的appender, ELK_DESTINATION为logstash的IP和端口,从环境变量注入--> <!-- 输出到logstash的appender, LOGSTASH_HOST为logstash的IP和端口,从环境变量注入-->
<!-- <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!--<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${ELK_DESTINATION}</destination> <destination>${LOGSTASH_HOST}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>--> </appender>-->
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 --> <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="info"> <root level="warn">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
<!--<appender-ref ref="logstash"/>--> <!--<appender-ref ref="logstash"/>-->
</root> </root>
<logger name="com.github.tangyi" level="debug" additivity="false"> <logger name="com.github.tangyi" level="info" additivity="false">
<appender-ref ref="console"/> <appender-ref ref="console"/>
<appender-ref ref="debug"/> <appender-ref ref="debug"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment