新增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用户名密码登录
|
||||
*
|
||||
* @param appLoginDefaultVO
|
||||
* @return token
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
String defaultSign(AppLoginDefaultVO appLoginDefaultVO) throws UnsupportedEncodingException;
|
||||
String defaultSign(AppLoginDefaultVO appLoginDefaultVO) throws Exception;
|
||||
|
||||
/**
|
||||
* APP手机验证码登录
|
||||
*
|
||||
* @param appLoginPhoneVO
|
||||
* @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.SearchException;
|
||||
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.AppLoginPhoneVO;
|
||||
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.appversion.IAppVersionService;
|
||||
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.service.IUserService;
|
||||
import ink.wgink.util.date.DateUtil;
|
||||
import ink.wgink.util.request.RequestUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -45,9 +48,12 @@ public class AppSignServiceImpl extends BaseAppSignService implements IAppSignSe
|
||||
private PasswordEncoder passwordEncoder;
|
||||
@Autowired
|
||||
private IUserService userService;
|
||||
@Autowired(required = false)
|
||||
private ILoginAppHandlerService loginAppHandlerService;
|
||||
|
||||
|
||||
@Override
|
||||
public String defaultSign(AppLoginDefaultVO appLoginDefaultVO) throws UnsupportedEncodingException {
|
||||
public String defaultSign(AppLoginDefaultVO appLoginDefaultVO) throws Exception {
|
||||
String userPassword = appLoginDefaultVO.getPassword();
|
||||
checkApiLock(appLoginDefaultVO);
|
||||
UserPO userPO = userService.getPOByUsername(appLoginDefaultVO.getUsername());
|
||||
@ -62,7 +68,7 @@ public class AppSignServiceImpl extends BaseAppSignService implements IAppSignSe
|
||||
}
|
||||
|
||||
@Override
|
||||
public String phoneSign(AppLoginPhoneVO appLoginPhoneVO) throws UnsupportedEncodingException {
|
||||
public String phoneSign(AppLoginPhoneVO appLoginPhoneVO) throws Exception {
|
||||
UserPO userPO = userService.getPOByUsername(appLoginPhoneVO.getUsername());
|
||||
if (userPO == null) {
|
||||
throw new SearchException("用户不存在");
|
||||
@ -77,7 +83,7 @@ public class AppSignServiceImpl extends BaseAppSignService implements IAppSignSe
|
||||
* @param appLoginVO
|
||||
* @param userPO
|
||||
*/
|
||||
private void userLogin(AppLoginVO appLoginVO, UserPO userPO) {
|
||||
private void userLogin(AppLoginVO appLoginVO, UserPO userPO) throws Exception {
|
||||
if (userPO.getUserState() == 1) {
|
||||
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())) {
|
||||
throw new AppDeviceException("非法登录设备");
|
||||
}
|
||||
if (loginAppHandlerService != null) {
|
||||
LOG.debug("自定义登录处理");
|
||||
LoginAppUser loginAppUser = new LoginAppUser();
|
||||
BeanUtils.copyProperties(userPO, loginAppUser);
|
||||
loginAppHandlerService.handle(loginAppUser);
|
||||
}
|
||||
LOG.debug("更新登录信息");
|
||||
updateLoginInfo(userPO, appLoginVO.getLongitude(), appLoginVO.getLatitude());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user