新增APP登录自定义处理
This commit is contained in:
parent
12640b9a18
commit
33d2e6b10e
@ -0,0 +1,22 @@
|
|||||||
|
package ink.wgink.interfaces.expand.login;
|
||||||
|
|
||||||
|
import ink.wgink.pojo.bos.LoginAppUser;
|
||||||
|
import ink.wgink.pojo.bos.LoginUser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName: ILoginAppHandlerService
|
||||||
|
* @Description: App登录授权处理
|
||||||
|
* @Author: wanggeng
|
||||||
|
* @Date: 2021/7/6 8:14 下午
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
public interface ILoginAppHandlerService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录处理
|
||||||
|
* @param loginAppUser
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void handle(LoginAppUser loginAppUser) throws Exception;
|
||||||
|
|
||||||
|
}
|
221
basic-pojo/src/main/java/ink/wgink/pojo/bos/LoginAppUser.java
Normal file
221
basic-pojo/src/main/java/ink/wgink/pojo/bos/LoginAppUser.java
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
package ink.wgink.pojo.bos;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName: LoginAppUser
|
||||||
|
* @Description: APP登录用户
|
||||||
|
* @Author: wanggeng
|
||||||
|
* @Date: 2021/7/6 8:25 下午
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
public class LoginAppUser implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 6055209589041482660L;
|
||||||
|
|
||||||
|
private String userId;
|
||||||
|
private String userUsername;
|
||||||
|
private String userPassword;
|
||||||
|
private String userName;
|
||||||
|
private String userPhone;
|
||||||
|
private String userEmail;
|
||||||
|
private String userUKey;
|
||||||
|
private Integer userType;
|
||||||
|
private Integer userState;
|
||||||
|
private String userExpiredDate;
|
||||||
|
private String userAvatar;
|
||||||
|
private String lastLoginAddress;
|
||||||
|
private String lastLoginTime;
|
||||||
|
private String userLongitude;
|
||||||
|
private String userLatitude;
|
||||||
|
private Integer loginType;
|
||||||
|
private String gmtPasswordModified;
|
||||||
|
private String gmtCreate;
|
||||||
|
|
||||||
|
public String getUserId() {
|
||||||
|
return userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserId(String userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserUsername() {
|
||||||
|
return userUsername;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserUsername(String userUsername) {
|
||||||
|
this.userUsername = userUsername;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserPassword() {
|
||||||
|
return userPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserPassword(String userPassword) {
|
||||||
|
this.userPassword = userPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserPhone() {
|
||||||
|
return userPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserPhone(String userPhone) {
|
||||||
|
this.userPhone = userPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserEmail() {
|
||||||
|
return userEmail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserEmail(String userEmail) {
|
||||||
|
this.userEmail = userEmail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserUKey() {
|
||||||
|
return userUKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserUKey(String userUKey) {
|
||||||
|
this.userUKey = userUKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getUserType() {
|
||||||
|
return userType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserType(Integer userType) {
|
||||||
|
this.userType = userType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getUserState() {
|
||||||
|
return userState;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserState(Integer userState) {
|
||||||
|
this.userState = userState;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserExpiredDate() {
|
||||||
|
return userExpiredDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserExpiredDate(String userExpiredDate) {
|
||||||
|
this.userExpiredDate = userExpiredDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserAvatar() {
|
||||||
|
return userAvatar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserAvatar(String userAvatar) {
|
||||||
|
this.userAvatar = userAvatar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLastLoginAddress() {
|
||||||
|
return lastLoginAddress;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLastLoginAddress(String lastLoginAddress) {
|
||||||
|
this.lastLoginAddress = lastLoginAddress;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLastLoginTime() {
|
||||||
|
return lastLoginTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLastLoginTime(String lastLoginTime) {
|
||||||
|
this.lastLoginTime = lastLoginTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserLongitude() {
|
||||||
|
return userLongitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserLongitude(String userLongitude) {
|
||||||
|
this.userLongitude = userLongitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserLatitude() {
|
||||||
|
return userLatitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserLatitude(String userLatitude) {
|
||||||
|
this.userLatitude = userLatitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getLoginType() {
|
||||||
|
return loginType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLoginType(Integer loginType) {
|
||||||
|
this.loginType = loginType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGmtPasswordModified() {
|
||||||
|
return gmtPasswordModified;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGmtPasswordModified(String gmtPasswordModified) {
|
||||||
|
this.gmtPasswordModified = gmtPasswordModified;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGmtCreate() {
|
||||||
|
return gmtCreate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGmtCreate(String gmtCreate) {
|
||||||
|
this.gmtCreate = gmtCreate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
final StringBuilder sb = new StringBuilder("{");
|
||||||
|
sb.append("\"userId\":\"")
|
||||||
|
.append(userId).append('\"');
|
||||||
|
sb.append(",\"userUsername\":\"")
|
||||||
|
.append(userUsername).append('\"');
|
||||||
|
sb.append(",\"userPassword\":\"")
|
||||||
|
.append(userPassword).append('\"');
|
||||||
|
sb.append(",\"userName\":\"")
|
||||||
|
.append(userName).append('\"');
|
||||||
|
sb.append(",\"userPhone\":\"")
|
||||||
|
.append(userPhone).append('\"');
|
||||||
|
sb.append(",\"userEmail\":\"")
|
||||||
|
.append(userEmail).append('\"');
|
||||||
|
sb.append(",\"userUKey\":\"")
|
||||||
|
.append(userUKey).append('\"');
|
||||||
|
sb.append(",\"userType\":")
|
||||||
|
.append(userType);
|
||||||
|
sb.append(",\"userState\":")
|
||||||
|
.append(userState);
|
||||||
|
sb.append(",\"userExpiredDate\":\"")
|
||||||
|
.append(userExpiredDate).append('\"');
|
||||||
|
sb.append(",\"userAvatar\":\"")
|
||||||
|
.append(userAvatar).append('\"');
|
||||||
|
sb.append(",\"lastLoginAddress\":\"")
|
||||||
|
.append(lastLoginAddress).append('\"');
|
||||||
|
sb.append(",\"lastLoginTime\":\"")
|
||||||
|
.append(lastLoginTime).append('\"');
|
||||||
|
sb.append(",\"userLongitude\":\"")
|
||||||
|
.append(userLongitude).append('\"');
|
||||||
|
sb.append(",\"userLatitude\":\"")
|
||||||
|
.append(userLatitude).append('\"');
|
||||||
|
sb.append(",\"loginType\":")
|
||||||
|
.append(loginType);
|
||||||
|
sb.append(",\"gmtPasswordModified\":\"")
|
||||||
|
.append(gmtPasswordModified).append('\"');
|
||||||
|
sb.append(",\"gmtCreate\":\"")
|
||||||
|
.append(gmtCreate).append('\"');
|
||||||
|
sb.append('}');
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
}
|
@ -22,15 +22,17 @@ public interface IAppSignService extends IAppSignBaseService {
|
|||||||
* APP用户名密码登录
|
* APP用户名密码登录
|
||||||
*
|
*
|
||||||
* @param appLoginDefaultVO
|
* @param appLoginDefaultVO
|
||||||
* @return token
|
* @return
|
||||||
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
String defaultSign(AppLoginDefaultVO appLoginDefaultVO) throws UnsupportedEncodingException;
|
String defaultSign(AppLoginDefaultVO appLoginDefaultVO) throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* APP手机验证码登录
|
* APP手机验证码登录
|
||||||
*
|
*
|
||||||
* @param appLoginPhoneVO
|
* @param appLoginPhoneVO
|
||||||
* @return token
|
* @return token
|
||||||
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
String phoneSign(AppLoginPhoneVO appLoginPhoneVO) throws UnsupportedEncodingException;
|
String phoneSign(AppLoginPhoneVO appLoginPhoneVO) throws Exception;
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import ink.wgink.exceptions.AppDeviceException;
|
|||||||
import ink.wgink.exceptions.AppVersionException;
|
import ink.wgink.exceptions.AppVersionException;
|
||||||
import ink.wgink.exceptions.SearchException;
|
import ink.wgink.exceptions.SearchException;
|
||||||
import ink.wgink.exceptions.UpdateException;
|
import ink.wgink.exceptions.UpdateException;
|
||||||
|
import ink.wgink.interfaces.expand.login.ILoginAppHandlerService;
|
||||||
import ink.wgink.login.app.pojo.vos.appsign.AppLoginDefaultVO;
|
import ink.wgink.login.app.pojo.vos.appsign.AppLoginDefaultVO;
|
||||||
import ink.wgink.login.app.pojo.vos.appsign.AppLoginPhoneVO;
|
import ink.wgink.login.app.pojo.vos.appsign.AppLoginPhoneVO;
|
||||||
import ink.wgink.login.app.pojo.vos.appsign.AppLoginVO;
|
import ink.wgink.login.app.pojo.vos.appsign.AppLoginVO;
|
||||||
@ -11,11 +12,13 @@ import ink.wgink.login.app.service.appdeviceuser.IAppDeviceUserService;
|
|||||||
import ink.wgink.login.app.service.appsign.IAppSignService;
|
import ink.wgink.login.app.service.appsign.IAppSignService;
|
||||||
import ink.wgink.login.app.service.appversion.IAppVersionService;
|
import ink.wgink.login.app.service.appversion.IAppVersionService;
|
||||||
import ink.wgink.login.base.service.BaseAppSignService;
|
import ink.wgink.login.base.service.BaseAppSignService;
|
||||||
|
import ink.wgink.pojo.bos.LoginAppUser;
|
||||||
import ink.wgink.service.user.pojo.pos.UserPO;
|
import ink.wgink.service.user.pojo.pos.UserPO;
|
||||||
import ink.wgink.service.user.service.IUserService;
|
import ink.wgink.service.user.service.IUserService;
|
||||||
import ink.wgink.util.date.DateUtil;
|
import ink.wgink.util.date.DateUtil;
|
||||||
import ink.wgink.util.request.RequestUtil;
|
import ink.wgink.util.request.RequestUtil;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -45,9 +48,12 @@ public class AppSignServiceImpl extends BaseAppSignService implements IAppSignSe
|
|||||||
private PasswordEncoder passwordEncoder;
|
private PasswordEncoder passwordEncoder;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IUserService userService;
|
private IUserService userService;
|
||||||
|
@Autowired(required = false)
|
||||||
|
private ILoginAppHandlerService loginAppHandlerService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String defaultSign(AppLoginDefaultVO appLoginDefaultVO) throws UnsupportedEncodingException {
|
public String defaultSign(AppLoginDefaultVO appLoginDefaultVO) throws Exception {
|
||||||
String userPassword = appLoginDefaultVO.getPassword();
|
String userPassword = appLoginDefaultVO.getPassword();
|
||||||
checkApiLock(appLoginDefaultVO);
|
checkApiLock(appLoginDefaultVO);
|
||||||
UserPO userPO = userService.getPOByUsername(appLoginDefaultVO.getUsername());
|
UserPO userPO = userService.getPOByUsername(appLoginDefaultVO.getUsername());
|
||||||
@ -62,7 +68,7 @@ public class AppSignServiceImpl extends BaseAppSignService implements IAppSignSe
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String phoneSign(AppLoginPhoneVO appLoginPhoneVO) throws UnsupportedEncodingException {
|
public String phoneSign(AppLoginPhoneVO appLoginPhoneVO) throws Exception {
|
||||||
UserPO userPO = userService.getPOByUsername(appLoginPhoneVO.getUsername());
|
UserPO userPO = userService.getPOByUsername(appLoginPhoneVO.getUsername());
|
||||||
if (userPO == null) {
|
if (userPO == null) {
|
||||||
throw new SearchException("用户不存在");
|
throw new SearchException("用户不存在");
|
||||||
@ -77,7 +83,7 @@ public class AppSignServiceImpl extends BaseAppSignService implements IAppSignSe
|
|||||||
* @param appLoginVO
|
* @param appLoginVO
|
||||||
* @param userPO
|
* @param userPO
|
||||||
*/
|
*/
|
||||||
private void userLogin(AppLoginVO appLoginVO, UserPO userPO) {
|
private void userLogin(AppLoginVO appLoginVO, UserPO userPO) throws Exception {
|
||||||
if (userPO.getUserState() == 1) {
|
if (userPO.getUserState() == 1) {
|
||||||
throw new SearchException("账号已冻结");
|
throw new SearchException("账号已冻结");
|
||||||
}
|
}
|
||||||
@ -88,6 +94,12 @@ public class AppSignServiceImpl extends BaseAppSignService implements IAppSignSe
|
|||||||
if (!StringUtils.isBlank(appLoginVO.getDeviceNo()) && !appDeviceUserService.canSign(userPO.getUserId(), appLoginVO.getDeviceNo())) {
|
if (!StringUtils.isBlank(appLoginVO.getDeviceNo()) && !appDeviceUserService.canSign(userPO.getUserId(), appLoginVO.getDeviceNo())) {
|
||||||
throw new AppDeviceException("非法登录设备");
|
throw new AppDeviceException("非法登录设备");
|
||||||
}
|
}
|
||||||
|
if (loginAppHandlerService != null) {
|
||||||
|
LOG.debug("自定义登录处理");
|
||||||
|
LoginAppUser loginAppUser = new LoginAppUser();
|
||||||
|
BeanUtils.copyProperties(userPO, loginAppUser);
|
||||||
|
loginAppHandlerService.handle(loginAppUser);
|
||||||
|
}
|
||||||
LOG.debug("更新登录信息");
|
LOG.debug("更新登录信息");
|
||||||
updateLoginInfo(userPO, appLoginVO.getLongitude(), appLoginVO.getLatitude());
|
updateLoginInfo(userPO, appLoginVO.getLongitude(), appLoginVO.getLatitude());
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user