From 95f9ea7eb339c36cade6c67d0385c49ec2d81477 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Wed, 14 Apr 2021 19:39:45 +0800 Subject: [PATCH] Merge branch 'score_shop' into api_score_meger --- zq-erp/src/main/java/com/matrix/system/common/authority/strategy/ScanQrCodeLogin.java | 82 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 82 insertions(+), 0 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/common/authority/strategy/ScanQrCodeLogin.java b/zq-erp/src/main/java/com/matrix/system/common/authority/strategy/ScanQrCodeLogin.java new file mode 100644 index 0000000..b9cd2ac --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/common/authority/strategy/ScanQrCodeLogin.java @@ -0,0 +1,82 @@ +package com.matrix.system.common.authority.strategy; + +import com.matrix.component.websoket.WebSoketScanQrCodeLoginObserver; +import com.matrix.core.constance.MatrixConstance; +import com.matrix.core.exception.GlobleException; +import com.matrix.core.tools.LogUtil; +import com.matrix.core.tools.WebUtil; +import com.matrix.system.common.bean.SysUserLoginRecord; +import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.common.constance.AppConstance; +import com.matrix.system.common.constance.AppMessageCode; +import com.matrix.system.common.service.SysUsersService; + +import java.util.Date; + +/** + * 账号密码登录策略 + * + * @author JIANGYOUYAO + * @email 935090232@qq.com + * @date 2017年12月9日 + */ +public class ScanQrCodeLogin implements LoginStrategy { + + private SysUsersService sysUsersService; + + + private String loginQrCodeKey; + + public ScanQrCodeLogin(SysUsersService sysUsersService, String loginQrCodeKey) { + + this.sysUsersService = sysUsersService; + this.loginQrCodeKey = loginQrCodeKey; + } + + @Override + public Object login() { + + Long loginUserId = WebSoketScanQrCodeLoginObserver.getScanCashValue(loginQrCodeKey); + + if (loginUserId != null) { + SysUsers loginUser = sysUsersService.findById(loginUserId); + if (loginUser != null) { + addErrorLoginRecord(loginUser,AppConstance.LOGIN_SUCCESS); + return loginUser; + } else { + LogUtil.error("登录失败"); + throw new GlobleException(AppMessageCode.User.ACCOUNT_NOT_EXIST); + } + } + + LogUtil.error("登录失败"); + throw new GlobleException(AppMessageCode.User.ACCOUNT_NOT_EXIST); + } + + + /** + * 添加登录记录 + * + * @param loginUser + * @param loginResult + * @author JIANGYOUYAO + * @email 935090232@qq.com + * @date 2017年12月12日 + */ + private void addErrorLoginRecord(SysUsers loginUser, int loginResult) { + + if (AppConstance.LOGIN_SUCCESS.equals(loginResult)) { + sysUsersService.cleanUserTodayErrorLoginTime(loginUser.getSuAccount()); + } + SysUserLoginRecord loginRecord = new SysUserLoginRecord(); + loginRecord.setCreateBy(MatrixConstance.SYSTEM_USER); + loginRecord.setUpdateBy(MatrixConstance.SYSTEM_USER); + loginRecord.setLrLoginTime(new Date()); + loginRecord.setLrId(null); + loginRecord.setUserAccount(loginUser.getSuAccount()); + loginRecord.setLrResult(loginResult); + loginRecord.setLrIp(WebUtil.getCustomerIp()); + loginRecord.setLrValid(AppConstance.RECORD_VALID); + sysUsersService.addUserLoginRecord(loginRecord); + } +} -- Gitblit v1.9.1