|
@ -7,6 +7,7 @@ import com.yihu.jw.healthyhouse.service.user.LoginService;
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
import com.yihu.jw.restmodel.web.ObjEnvelop;
|
|
import com.yihu.jw.restmodel.web.ObjEnvelop;
|
|
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
|
|
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
|
|
|
|
import com.yihu.jw.util.security.RandomValidateCode;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiParam;
|
|
import io.swagger.annotations.ApiParam;
|
|
@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
|
|
|
@ -45,24 +47,38 @@ public class LoginController extends EnvelopRestEndpoint {
|
|
@ApiParam(name = "msgType", value = "消息类型(login:登录验证,checkPhone:验证安全手机,resetPhone:重设安全手机", required = true)@RequestParam(required = true, name = "msgType") String msgType,
|
|
@ApiParam(name = "msgType", value = "消息类型(login:登录验证,checkPhone:验证安全手机,resetPhone:重设安全手机", required = true)@RequestParam(required = true, name = "msgType") String msgType,
|
|
@ApiParam(name = "username", value = "手机账号", required = true)@RequestParam(required = true, name = "username") String username ) throws Exception{
|
|
@ApiParam(name = "username", value = "手机账号", required = true)@RequestParam(required = true, name = "username") String username ) throws Exception{
|
|
if (StringUtils.isEmpty(clientId)) {
|
|
if (StringUtils.isEmpty(clientId)) {
|
|
throw new InvalidRequestException("clientId");
|
|
|
|
|
|
failed("clientId 为空!");
|
|
}
|
|
}
|
|
if (StringUtils.isEmpty(username)){
|
|
if (StringUtils.isEmpty(username)){
|
|
throw new InvalidRequestException("username");
|
|
|
|
|
|
failed("username 为空!");
|
|
}
|
|
}
|
|
//验证请求间隔超时,防止频繁获取验证码
|
|
//验证请求间隔超时,防止频繁获取验证码
|
|
// if (!wlyyRedisVerifyCodeService.isIntervalTimeout(clientId, username)) {
|
|
|
|
// throw new IllegalAccessException("SMS request frequency is too fast");
|
|
|
|
// }
|
|
|
|
|
|
if (!wlyyRedisVerifyCodeService.isIntervalTimeout(clientId, username)) {
|
|
|
|
throw new IllegalAccessException("SMS request frequency is too fast");
|
|
|
|
}
|
|
//发送短信获取验证码
|
|
//发送短信获取验证码
|
|
ResponseEntity<HashMap> result = loginService.sendDemoSms(clientId,msgType,username);
|
|
|
|
|
|
ResponseEntity<HashMap> result = loginService.sendSms(clientId,msgType,username);
|
|
return result;
|
|
return result;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@PostMapping("/captcha/check")
|
|
|
|
@ApiOperation(value = "验证短信验证码")
|
|
|
|
public Envelop checkCaptcha(
|
|
|
|
HttpServletRequest request,
|
|
|
|
@ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
|
|
|
|
@ApiParam(name = "username", value = "登录账号", required = true)@RequestParam(required = true, name = "username") String username,
|
|
|
|
@ApiParam(name = "captcha", value = "短信验证码", required = true)@RequestParam(required = true, name = "captcha") String captcha) throws ManageException, ParseException {
|
|
|
|
if (wlyyRedisVerifyCodeService.verification(clientId, username, captcha)) {
|
|
|
|
return success("验证码正确");
|
|
|
|
} else {
|
|
|
|
return failed("验证码错误");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
@PostMapping("/mobile/login")
|
|
@PostMapping("/mobile/login")
|
|
@ApiOperation(value = "【普通用户】-手机登录注册")
|
|
@ApiOperation(value = "【普通用户】-手机登录注册")
|
|
public ObjEnvelop<User> mobileLogin(
|
|
|
|
|
|
public Envelop mobileLogin(
|
|
HttpServletRequest request,
|
|
HttpServletRequest request,
|
|
@ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
|
|
@ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
|
|
@ApiParam(name = "username", value = "账号", required = true)@RequestParam(required = true, name = "username") String username,
|
|
@ApiParam(name = "username", value = "账号", required = true)@RequestParam(required = true, name = "username") String username,
|
|
@ -76,26 +92,22 @@ public class LoginController extends EnvelopRestEndpoint {
|
|
return success(user);
|
|
return success(user);
|
|
|
|
|
|
} else {
|
|
} else {
|
|
return ObjEnvelop.getError("验证码错误");
|
|
|
|
|
|
return failed("验证码错误");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@PostMapping("/ijk/login")
|
|
@PostMapping("/ijk/login")
|
|
@ApiOperation(value = "【普通用户】-i健康用户登陆")
|
|
@ApiOperation(value = "【普通用户】-i健康用户登陆")
|
|
public ObjEnvelop ijkLogin(
|
|
|
|
|
|
public Envelop ijkLogin(
|
|
HttpServletRequest request,
|
|
HttpServletRequest request,
|
|
@ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
|
|
@ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
|
|
@ApiParam(name = "username", value = "账号", required = true)@RequestParam(required = true, name = "username") String username,
|
|
@ApiParam(name = "username", value = "账号", required = true)@RequestParam(required = true, name = "username") String username,
|
|
@ApiParam(name = "password", value = "密码", required = true)@RequestParam(required = true, name = "password") String password) throws ManageException {
|
|
@ApiParam(name = "password", value = "密码", required = true)@RequestParam(required = true, name = "password") String password) throws ManageException {
|
|
User user = loginService.iJklogin(request,clientId,username, password);
|
|
User user = loginService.iJklogin(request,clientId,username, password);
|
|
if (user !=null) {
|
|
if (user !=null) {
|
|
ObjEnvelop envelop = new ObjEnvelop();
|
|
|
|
envelop.setStatus(200);
|
|
|
|
envelop.setMessage("登录成功");
|
|
|
|
envelop.setObj(user);
|
|
|
|
return envelop;
|
|
|
|
|
|
return success("登录成功",user);
|
|
}else {
|
|
}else {
|
|
return ObjEnvelop.getError("登录失败");
|
|
|
|
|
|
return failed("登录失败");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@ -106,10 +118,10 @@ public class LoginController extends EnvelopRestEndpoint {
|
|
@ApiParam(name = "userCode", value = "用户code", required = true)@RequestParam(required = true, name = "userCode") String userCode) {
|
|
@ApiParam(name = "userCode", value = "用户code", required = true)@RequestParam(required = true, name = "userCode") String userCode) {
|
|
try {
|
|
try {
|
|
//修改用户状态 离线
|
|
//修改用户状态 离线
|
|
return ObjEnvelop.getSuccess("登出成功");
|
|
|
|
|
|
return success("登出成功");
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
return ObjEnvelop.getError("登出成功:" + e.getMessage(), -1);
|
|
|
|
|
|
return failed("登出失败");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@ -118,31 +130,68 @@ public class LoginController extends EnvelopRestEndpoint {
|
|
|
|
|
|
@PostMapping("/mobile/manage/login")
|
|
@PostMapping("/mobile/manage/login")
|
|
@ApiOperation(value = "【管理员】-手机验证登录")
|
|
@ApiOperation(value = "【管理员】-手机验证登录")
|
|
public ObjEnvelop administratorMobileLogin(
|
|
|
|
|
|
public Envelop administratorMobileLogin(
|
|
HttpServletRequest request,
|
|
HttpServletRequest request,
|
|
@ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
|
|
@ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
|
|
@ApiParam(name = "username", value = "账号", required = true)@RequestParam(required = true, name = "username") String username,
|
|
@ApiParam(name = "username", value = "账号", required = true)@RequestParam(required = true, name = "username") String username,
|
|
@ApiParam(name = "captcha", value = "短信验证码", required = true)@RequestParam(required = true, name = "captcha") String captcha) throws ManageException, ParseException {
|
|
|
|
|
|
@ApiParam(name = "captcha", value = "短信验证码", required = true)@RequestParam(required = true, name = "captcha") String captcha) throws ParseException {
|
|
if (wlyyRedisVerifyCodeService.verification(clientId, username, captcha)) {
|
|
if (wlyyRedisVerifyCodeService.verification(clientId, username, captcha)) {
|
|
User user = loginService.managerPhoneLogin(request,username);
|
|
|
|
return ObjEnvelop.getSuccess("登录成功",user);
|
|
|
|
|
|
User user = null;
|
|
|
|
try {
|
|
|
|
user = loginService.managerPhoneLogin(request,username);
|
|
|
|
} catch (ManageException e) {
|
|
|
|
return failed(e.getMessage());
|
|
|
|
}
|
|
|
|
return success("登录成功",user);
|
|
} else {
|
|
} else {
|
|
return ObjEnvelop.getError("验证码错误");
|
|
|
|
|
|
return failed("验证码错误");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@PostMapping("/manage/login")
|
|
@PostMapping("/manage/login")
|
|
@ApiOperation(value = "【管理员】-用户账号登陆")
|
|
@ApiOperation(value = "【管理员】-用户账号登陆")
|
|
public ObjEnvelop administratorLogin(
|
|
|
|
|
|
public Envelop administratorLogin(
|
|
HttpServletRequest request,
|
|
HttpServletRequest request,
|
|
@ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
|
|
@ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
|
|
@ApiParam(name = "username", value = "账号", required = true)@RequestParam(required = true, name = "username") String username,
|
|
@ApiParam(name = "username", value = "账号", required = true)@RequestParam(required = true, name = "username") String username,
|
|
@ApiParam(name = "password", value = "密码", required = true)@RequestParam(required = true, name = "password") String password) throws ManageException {
|
|
@ApiParam(name = "password", value = "密码", required = true)@RequestParam(required = true, name = "password") String password) throws ManageException {
|
|
User user = loginService.managerLogin(request,clientId,username, password);
|
|
User user = loginService.managerLogin(request,clientId,username, password);
|
|
if (user !=null) {
|
|
if (user !=null) {
|
|
return ObjEnvelop.getSuccess("登录成功",user);
|
|
|
|
|
|
return success("登录成功",user);
|
|
|
|
}else {
|
|
|
|
return failed("登录失败");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@GetMapping(value = "/getRandomImageCode")
|
|
|
|
@ApiOperation(value = "修改密码时生成图形验证码",notes = "修改密码时生成图形验证码")
|
|
|
|
public Envelop getImageCode (HttpServletRequest request, HttpServletResponse response)throws Exception{
|
|
|
|
try {
|
|
|
|
response.setContentType("image/jpeg");//设置相应类型,告诉浏览器输出的内容为图片
|
|
|
|
response.setHeader("Pragma", "No-cache");//设置响应头信息,告诉浏览器不要缓存此内容
|
|
|
|
response.setHeader("Cache-Control", "no-cache");
|
|
|
|
response.setDateHeader("Expire", 0);
|
|
|
|
RandomValidateCode randomValidateCode = new RandomValidateCode();
|
|
|
|
randomValidateCode.getRandcode(request, response);//输出验证码图片方法
|
|
|
|
return success("获取验证码成功");
|
|
|
|
} catch (Exception e) {
|
|
|
|
return failed("获取验证码失败");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = "/checkRandomImageCode")
|
|
|
|
@ApiOperation(value = "检验图片验证码",notes = "检验图片验证码")
|
|
|
|
public Envelop checkImageCode(@ApiParam(name = "code",value = "输入的验证码")@RequestParam(value = "code",required = true)String code,
|
|
|
|
HttpServletRequest request){
|
|
|
|
if (StringUtils.isEmpty(code)){
|
|
|
|
return failed("请输入验证码!");
|
|
|
|
}
|
|
|
|
String codeRescource = String.valueOf(request.getSession().getAttribute(RandomValidateCode.RANDOMCODEKEY));
|
|
|
|
if (code.toLowerCase().equals(codeRescource.toLowerCase())){
|
|
|
|
request.getSession().removeAttribute(RandomValidateCode.RANDOMCODEKEY);
|
|
|
|
return success("验证码正确!");
|
|
}else {
|
|
}else {
|
|
return ObjEnvelop.getError("登录失败");
|
|
|
|
|
|
return failed("验证码错误!");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|