添加运行日志处理,频率为每天对error和info级别的日志进行文件保存

实现判断注册用户名是否已存在
This commit is contained in:
F嘉阳
2018-02-24 20:42:20 +08:00
parent 99aca7d6c8
commit fc3ef4f9af
9 changed files with 171 additions and 7 deletions

View File

@@ -61,6 +61,11 @@
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>

View File

@@ -20,6 +20,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.math.BigInteger;
import java.util.Optional;
@Controller
public class RegisterController {
@@ -72,4 +73,18 @@ public class RegisterController {
return false;
}
/**
* 查询用户名是否存在
* @param name
* @return
*/
@GetMapping("/CheckUserName")
@ResponseBody
public boolean doUserName(@RequestParam(value = "name") String name){
Optional<TbUser> user = userService.findByColname(name);
if (user.isPresent())
return false;
return true;
}
}

View File

@@ -26,4 +26,6 @@ public class StudentService {
return tbStudentListRepository.findByColstudentnoAndColrealname(studentno,realname);
}
}

View File

@@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;
@Service
@@ -23,7 +24,15 @@ public class UserService {
public TbUser doLoginService(String name,String password){
TbUser user = (TbUser)tbUserRepository.findByColname(name).get();
//TbUser user = (TbUser)tbUserRepository.findByColname(name).get();
Optional<TbUser> tbUser = tbUserRepository.findByColname(name);
TbUser user = new TbUser();
if (tbUser.isPresent()){
user = (TbUser)tbUser.get();
}else {
throw new UserException(ResultEnum.EMPTY_DATA);
}
if (user!=null){
if (password.equals(user.getColpassword())){
return user;
@@ -53,4 +62,8 @@ public class UserService {
return vUserinfoRepository.findById(coluserid).get();
}
public Optional<TbUser> findByColname(String name){
return tbUserRepository.findByColname(name);
}
}

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<!--<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>-->
<!--每天输出一个文件使用RollingFileAppender滚动输出策略-->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--根据范围仅保留info的日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%d - %msg%n
</pattern>
<charset>utf8</charset>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径文件名,文件名包含时间-->
<fileNamePattern>F:\JAVA Workspace\Temp\log\info.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--根据范围过滤ERROR等级以下的日志-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%d - %msg%n
</pattern>
<charset>utf8</charset>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径文件名,文件名包含时间-->
<fileNamePattern>F:\JAVA Workspace\Temp\log\error.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="info">
<!--<appender-ref ref="consoleLog"/>-->
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>

View File

@@ -1,6 +1,30 @@
var Main = {
data() {
var checkName = (rule, value, callback) => {
if (!value) {
return callback(new Error('用户名不能为空'));
}else {
//判断用户名是否已存在
axios.get(getRootPath_web() + '/CheckUserName', {
params: {
name: value
}
})
.then(function (response) {
console.log(response.data);
if (response.data === true) {
callback()
} else {
return callback(new Error('用户名已存在'));
}
})
.catch(function (error) {
console.log(error);
this.errorNotify(error.message);
});
}
};
var checkName1 = (rule, value, callback) => {
if (!value) {
return callback(new Error('用户名不能为空'));
} else {
@@ -76,6 +100,10 @@ var Main = {
}
};
return {
ruleForm1: {
colname: '',
colpassword: '',
},
ruleForm2: {
colname: '',
colpassword: '',
@@ -84,6 +112,14 @@ var Main = {
colrealname: '',
colemail: ''
},
rules1: {
colpassword: [
{required: true,validator: validatePass, trigger: 'blur'}
],
colname: [
{required: true,validator: checkName1, trigger: 'blur'}
],
},
rules2: {
colpassword: [
{required: true, validator: validatePass, trigger: 'blur'}

View File

@@ -22,20 +22,20 @@
@tab-click="handleClick">
<el-tab-pane label="登录"
name="login">
<el-form :model="ruleForm2" status-icon
:rules="rules2" ref="ruleForm2" label-width="100px"
<el-form :model="ruleForm1" status-icon
:rules="rules1" ref="ruleForm1" label-width="100px"
class="demo-ruleForm"
action="/cms/login/dologin"
method="POST" name="login">
<el-form-item label="用户名"
prop="colname">
<el-input
v-model="ruleForm2.colname" name="colname"></el-input>
v-model="ruleForm1.colname" name="colname"></el-input>
</el-form-item>
<el-form-item
label="密码" prop="colpassword">
<el-input type="password"
v-model="ruleForm2.colpassword" auto-complete="off" name="colpassword"></el-input>
v-model="ruleForm1.colpassword" auto-complete="off" name="colpassword"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary"

View File

@@ -0,0 +1,23 @@
package com.fjy.spring;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class LoggerTest {
@Test
public void test1(){
String name ="fjy";
String date = "2018-2-24";
log.debug("debug...");
log.info("info...");
log.info("name:{}, data:{}",name,date);
log.error("error...");
}
}

View File

@@ -51,14 +51,26 @@ public class RegisterControllerTest {
@Test
public void doCheckStudent()throws Exception {
//测试学号与姓名不匹配
mvc.perform(MockMvcRequestBuilders.post("/CheckStudent")
mvc.perform(MockMvcRequestBuilders.get("/CheckStudent")
.param("studentno","15251101238")
.param("realname","符嘉"))
.andExpect(MockMvcResultMatchers.content().string("false"));
//测试学号与姓名匹配
mvc.perform(MockMvcRequestBuilders.post("/CheckStudent")
mvc.perform(MockMvcRequestBuilders.get("/CheckStudent")
.param("studentno","15251101238")
.param("realname","符嘉阳"))
.andExpect(MockMvcResultMatchers.content().string("true"));
}
@Test
public void doUserName()throws Exception {
//测试用户名已存在
mvc.perform(MockMvcRequestBuilders.get("/CheckUserName")
.param("name","root"))
.andExpect(MockMvcResultMatchers.content().string("false"));
//测试用户名不存在
mvc.perform(MockMvcRequestBuilders.get("/CheckUserName")
.param("name","root1"))
.andExpect(MockMvcResultMatchers.content().string("true"));
}
}