You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
160 lines
5.6 KiB
160 lines
5.6 KiB
package com.community.pocket.api.android;
|
|
|
|
import com.community.pocket.entity.po.android.Token;
|
|
import com.community.pocket.entity.vo.Result;
|
|
import com.community.pocket.entity.vo.android.*;
|
|
import com.community.pocket.repository.EmailDao;
|
|
import com.community.pocket.repository.android.TokenDao;
|
|
import com.community.pocket.repository.android.UserDao;
|
|
import com.community.pocket.util.EmailService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
/**
|
|
* 用户接口
|
|
*/
|
|
@RestController
|
|
public class UserController {
|
|
|
|
@Autowired
|
|
private UserDao userDao;
|
|
|
|
@Autowired
|
|
private EmailDao emailDao;
|
|
|
|
@Autowired
|
|
private EmailService emailService;
|
|
|
|
@Autowired
|
|
private TokenDao tokenDao;
|
|
|
|
/**
|
|
* 用户注册
|
|
* @param userRegister 注册表单信息
|
|
*/
|
|
@PostMapping("/register")
|
|
public RegisterResponse register(UserRegister userRegister){
|
|
if(userDao.hasUser(userRegister.getUsername())){
|
|
return new RegisterResponse(Result.FAIL, RegisterResponse.Msg.name,userRegister.getUsername());
|
|
}else if(userDao.hasMobie(userRegister.getMobie())){
|
|
return new RegisterResponse(Result.FAIL, RegisterResponse.Msg.mobie,userRegister.getMobie());
|
|
}else if(userDao.hasEmail(userRegister.getEmail())){
|
|
return new RegisterResponse(Result.FAIL,RegisterResponse.Msg.email,userRegister.getEmail());
|
|
}else{
|
|
userDao.save(userRegister);
|
|
return new RegisterResponse(Result.OK,RegisterResponse.Msg.ok);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 检查用户邮箱
|
|
*/
|
|
@PostMapping("/resetpwd/checkUser")
|
|
public ResetPwdResponse checkUser(UserResetPwd userResetPwd){
|
|
if(userDao.hasUseWithEmail(userResetPwd.getUsername(),userResetPwd.getEmail())){
|
|
return new ResetPwdResponse(Result.OK,ResetPwdResponse.Msg.step1_ok);
|
|
}else{
|
|
return new ResetPwdResponse(Result.FAIL,ResetPwdResponse.Msg.step1_fail);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 发送重置密码验证码
|
|
*/
|
|
@PostMapping("/resetpwd/sendCode")
|
|
public ResetPwdResponse sendCode(UserResetPwd userResetPwd) {
|
|
if(emailService.sendUserCode(userResetPwd.getEmail())){
|
|
return new ResetPwdResponse(Result.OK,ResetPwdResponse.Msg.step2_ok);
|
|
}else{
|
|
return new ResetPwdResponse(Result.FAIL,ResetPwdResponse.Msg.step2_fail);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 检查验证码
|
|
*/
|
|
@PostMapping("/resetpwd/checkCode")
|
|
public ResetPwdResponse checkCode(UserResetPwd userResetPwd) {
|
|
if(emailDao.checkCode(userResetPwd.getEmail(),userResetPwd.getCode())){
|
|
return new ResetPwdResponse(Result.OK, ResetPwdResponse.Msg.step2_valid_ok);
|
|
}else{
|
|
return new ResetPwdResponse(Result.FAIL, ResetPwdResponse.Msg.step2_valid_fail);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 重置密码
|
|
*/
|
|
@PostMapping("/resetpwd/resetPwd")
|
|
public ResetPwdResponse resetPwd(UserResetPwd userResetPwd) {
|
|
if(userDao.resetPwd(userResetPwd.getUsername(),userResetPwd.getPassword())){
|
|
return new ResetPwdResponse(Result.OK, ResetPwdResponse.Msg.step3_ok);
|
|
}else{
|
|
return new ResetPwdResponse(Result.FAIL, ResetPwdResponse.Msg.step3_fail);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 用户登录
|
|
* @param username 用户
|
|
* @param password 密码
|
|
*/
|
|
@PostMapping("/login")
|
|
public LoginResponse login(String username, String password) {
|
|
if(userDao.login(username, password)){
|
|
Token token=tokenDao.save(username);
|
|
LoginResponse response;
|
|
if(token!=null) {
|
|
response=new LoginResponse(Result.OK, LoginResponse.Msg.ok,username);
|
|
response.setToken(token);
|
|
}else{
|
|
response=new LoginResponse(Result.FAIL,LoginResponse.Msg.fail);
|
|
}
|
|
return response;
|
|
}else{
|
|
return new LoginResponse(Result.FAIL,LoginResponse.Msg.fail);
|
|
}
|
|
}
|
|
|
|
@PostMapping("/login/token")
|
|
public LoginResponse check(String token){
|
|
if(tokenDao.checkToken(token)){
|
|
Token t=tokenDao.get(token);
|
|
if(t!=null){
|
|
LoginResponse response= new LoginResponse(Result.OK, LoginResponse.Msg.ok,t.getUsername());
|
|
response.setToken(t);
|
|
return response;
|
|
}
|
|
}
|
|
return new LoginResponse(Result.FAIL, LoginResponse.Msg.fail);
|
|
}
|
|
|
|
//检索投诉人
|
|
@GetMapping("/query/user")
|
|
public QueryUserResponse searchPeople(QueryUserForm userForm) {
|
|
QueryUserResponse queryUserResponse=new QueryUserResponse(Result.OK, QueryUserResponse.Msg.ok);
|
|
queryUserResponse.setPeopleList(userDao.queryUser(userForm));
|
|
return queryUserResponse;
|
|
}
|
|
|
|
//修改密码
|
|
@PostMapping("/my/info/modifyPwd")
|
|
public InfoResponse modifyPwd(ModifyPwdForm modifyPwdForm) {
|
|
if(tokenDao.checkToken(modifyPwdForm.getToken())){
|
|
if(userDao.login(modifyPwdForm.getUsername(),modifyPwdForm.getOldPassword())){
|
|
if(userDao.modifyPwd(modifyPwdForm)){
|
|
return new InfoResponse(Result.OK,InfoResponse.Msg.modify_pwd_ok);
|
|
}else{
|
|
return new InfoResponse(Result.FAIL,InfoResponse.Msg.modify_pwd_fail);
|
|
}
|
|
}else{
|
|
return new InfoResponse(Result.FAIL,InfoResponse.Msg.modify_oldpwd_fail);
|
|
}
|
|
}else {
|
|
return new InfoResponse(Result.FAIL,InfoResponse.Msg.token);
|
|
}
|
|
}
|
|
|
|
}
|
|
|