实现个人中心数据校验,修复个人中心修改姓名和学号不会更新用户列表标识问题

This commit is contained in:
2018-03-13 18:11:18 +08:00
parent f83b39361b
commit 4c7cc402be
7 changed files with 175 additions and 25 deletions

View File

@@ -69,10 +69,21 @@ public class LoginController {
@PostMapping("/beforeLogin")
@ResponseBody
public boolean beforeLogin(TbUser tbUser)throws Exception{
System.out.println(tbUser.toString());
//加密用户密码
tbUser.setColpassword(new BigInteger(CodingUtil.encryptSHA(tbUser.getColpassword().getBytes())).toString(32));
TbUser user = userService.doLoginService(tbUser.getColname(),tbUser.getColpassword());
return user!=null;
}
/**
* 登录时判断用户名是否存在若不存在则返回false
* @param name
* @return
* @throws Exception
*/
@GetMapping("/beforeLoginCheckNameExist")
@ResponseBody
public boolean beforeLoginCheckNameExist(@RequestParam(value = "name") String name)throws Exception{
Optional<TbUser> user = userService.findByColname(name);
return user.isPresent();
}
}

View File

@@ -50,7 +50,7 @@ public class RegisterController {
tbUser.setColpassword(new BigInteger(CodingUtil.encryptSHA(tbUser.getColpassword().getBytes())).toString(32));
if (userService.doRegisterService(tbUser)){
//更新用户列表是否注册的标记
studentService.UpdateStudentListRegistered(tbUser.getColrealname(),tbUser.getColstudentno());
studentService.UpdateStudentListRegistered(tbUser.getColrealname(),tbUser.getColstudentno(),RegisteredEnum.REGISTERED.getCode());
return true;
/*return "redirect:" + request.getScheme() + "://" + request.getServerName() + ":"
+ serverProperties.getPortNum() + request.getContextPath() + "/index";*/

View File

@@ -1,9 +1,12 @@
package com.fjy.spring.controller;
import com.fjy.spring.domain.TbUser;
import com.fjy.spring.domain.VUserinfo;
import com.fjy.spring.enums.RegisteredEnum;
import com.fjy.spring.enums.ResultEnum;
import com.fjy.spring.exception.UserException;
import com.fjy.spring.properties.ServerProperties;
import com.fjy.spring.service.StudentService;
import com.fjy.spring.service.UserService;
import com.fjy.spring.untils.CodingUtil;
import lombok.extern.slf4j.Slf4j;
@@ -11,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -22,6 +26,9 @@ public class UpdateController {
@Autowired
private UserService userService;
@Autowired
private StudentService studentService;
@Autowired
private ServerProperties serverProperties;
@@ -29,20 +36,28 @@ public class UpdateController {
HttpServletRequest request;
@PostMapping(value = "/home/userUpdate")
public String doUserUpdate(TbUser tbUser)throws Exception{
@ResponseBody
public boolean doUserUpdate(TbUser tbUser)throws Exception{
if (tbUser.getColuserid()==null){
throw new UserException(ResultEnum.ID_NULLPOINT);
}
if (tbUser.getColpassword()!=null){
userService.updateColpasswordByColname(tbUser.getColpassword(),tbUser.getColname());
}
//注销原本的注册标记
VUserinfo tempUser = userService.findUserInfo(tbUser.getColuserid());
studentService.UpdateStudentListRegistered(tempUser.getColrealname(),tempUser.getColstudentno(),
RegisteredEnum.UNREGISTERED.getCode());
if (userService.doRegisterService(tbUser)){
studentService.UpdateStudentListRegistered(tbUser.getColrealname(),tbUser.getColstudentno(),
RegisteredEnum.REGISTERED.getCode());
log.info(tbUser.getColname()+" 信息更新成功");
return "redirect:" + request.getScheme() + "://" + request.getServerName() + ":"
+ serverProperties.getPortNum() + request.getContextPath() + "/home/user";
return true;
/*return "redirect:" + request.getScheme() + "://" + request.getServerName() + ":"
+ serverProperties.getPortNum() + request.getContextPath() + "/home/user";*/
// return "login";
}
log.error(tbUser.getColname()+" 信息更新失败");
throw new UserException(ResultEnum.UNKOWN_ERROR);
return false;
}
}

View File

@@ -27,10 +27,10 @@ public class StudentService {
return tbStudentListRepository.findByColstudentnoAndColrealname(studentno,realname);
}
public TbStudentlist UpdateStudentListRegistered(String realname,String studentno){
public TbStudentlist UpdateStudentListRegistered(String realname,String studentno,Integer code){
TbStudentlist studentlist = new TbStudentlist();
studentlist = findByColstudentnoAndColrealname(studentno,realname);
studentlist.setRegistered(RegisteredEnum.REGISTERED.getCode());
studentlist.setRegistered(code);
return tbStudentListRepository.save(studentlist);
}

View File

@@ -64,8 +64,25 @@ var Main = {
var checkName1 = (rule, value, callback) => {
if (!value) {
return callback(new Error('用户名不能为空'));
} else {
}else {
//判断用户名是否已存在
axios.get(getRootPath_web() + '/beforeLoginCheckNameExist', {
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);
that.errorNotify(error.message);
});
}
};
var checkNo = (rule, value, callback) => {

View File

@@ -1,5 +1,6 @@
var dt = new Date();
let th = this;
/*let username = this.ruleForm2.colname.value;*/
var month = dt.getMonth()+1;
var day = dt.getDate();
var year = dt.getFullYear();
@@ -30,25 +31,80 @@ var Main = {
}
};
var checkName = (rule, value, callback) => {
let that= this;
if (!value) {
return callback(new Error('用户名不能为空'));
}else {
callback()
//判断用户名是否已存在
axios.get(getRootPath_web() + '/CheckUserName', {
params: {
name: value
}
})
.then(function (response) {
console.log(response.data);
if (response.data === true) {
callback();
} else if(value!==that.ruleForm2.colname){
return callback(new Error('用户名已存在'));
}else {
callback();
}
})
.catch(function (error) {
console.log(error);
that.errorNotify(error.message);
});
}
};
var checkNo = (rule, value, callback) => {
if (!value) {
return callback(new Error('学号不能为空'));
}else {
} else {
//判断是否为指定班级的合法用户
axios.get(getRootPath_web() + '/CheckStudentNo', {
params: {
studentno: 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 checkRealName = (rule, value, callback) => {
if (!value) {
return callback(new Error('真实姓名不能为空'));
}else {
} else {
//判断用户名与学号是否匹配
axios.get(getRootPath_web() + '/CheckStudent', {
params: {
realname: value,
studentno: this.ruleForm2.colstudentno
}
})
.then(function (response) {
console.log(response.data);
if (response.data === false) {
return callback(new Error('姓名与学号不匹配或该用户已注册'));
} else {
callback()
}
})
.catch(function (error) {
console.log(error);
this.errorNotify(error.message);
});
}
};
var validatePass = (rule, value, callback) => {
if (value === '') {
@@ -157,6 +213,12 @@ var Main = {
}
},
methods: {
errorNotify(content) {
this.$notify.error({
title: '错误',
message: content
})
},
openNotiSuccess(title, content) {
this.$notify({
title: title,
@@ -176,15 +238,12 @@ var Main = {
submitForm(formName, url) {
this.$refs[formName].validate((valid) => {
var that = this;
if (valid) {//此处暂时去除校验
if (valid) {
axios({
url: getRootPath_web()+'/' + url,
url: getRootPath_web()+'/home/userUpdate',
method: 'post',
data: {
userid:th.ruleForm3.userid.value,
question:th.ruleForm3.question.value,
answer:th.ruleForm3.answer.value
},
data: that.ruleForm2
,
transformRequest: [function (data) {
// Do whatever you want to transform the data
let ret = ''
@@ -199,7 +258,7 @@ var Main = {
}).then(function (response) {
console.log(response.data);
if (response.data===true){
that.openNotiSuccess("成功", "修改成功!");
that.openNotiSuccess("成功", "修改成功,刷新页面即可查看新信息");
}else if (response.data===false){
that.openNotiError("失败", "修改失败!");
}else {
@@ -220,6 +279,54 @@ var Main = {
}
});
},
clickToSubmit(formName) {
this.$refs[formName].validate((valid) => {
var that = this;
if (valid) {
axios({
url: getRootPath_web() + '/beforeLogin',
method: 'post',
data: {
colname: outSideThis.ruleForm1.colname.value,
colpassword: outSideThis.ruleForm1.colpassword.value
},
transformRequest: [function (data) {
// Do whatever you want to transform the data
let ret = '';
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(function (response) {
console.log(response.data);
if (response.data === true) {
//that.$refs[formName].submit;
//return true;
document.getElementById('ruleForm1').submit();
} else if (response.data === false) {
that.openNotiError("失败", response.data.message);
} else {
that.openNotiError("错误", response.data.message);
}
}).catch(function (error) {
console.log(error);
that.openNotiError("错误", "服务器错误!");
});
//console.log(this.$refs.content.value)
//this.openNotiSuccess("成功", "修改成功!")
//this.$options.methods.openNotiSuccess.bind(this)();
//alert('submit!');
} else {
console.log('error submit!!');
that.openNotiError("错误", "表单填写错误!");
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
},

View File

@@ -60,7 +60,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary"
native-type="submit">提交
@click="submitForm('ruleForm2')">提交
</el-button>
<el-button @click="resetForm('ruleForm2')">重置</el-button>
</el-form-item>