|
|
@@ -85,22 +85,36 @@ class LoginForm extends Model {
|
|
|
* @throws \Exception
|
|
|
*/
|
|
|
private function _updateFailTimes($transaction,$returnResult){
|
|
|
- Admin::updateAllCounters([
|
|
|
- 'FAIL_NUMS' => 1,
|
|
|
- ], 'ADMIN_NAME=:ADMIN_NAME', ['ADMIN_NAME' => $this->adminName]);
|
|
|
+ $admin = Admin::findOneAsArray('ADMIN_NAME=:ADMIN_NAME', ['ADMIN_NAME' => $this->adminName]);
|
|
|
+ if ($admin['FAIL_NUMS'] > 0) {
|
|
|
+ Admin::updateAllCounters([
|
|
|
+ 'FAIL_NUMS' => 1,
|
|
|
+ ], 'ADMIN_NAME=:ADMIN_NAME', ['ADMIN_NAME' => $this->adminName]);
|
|
|
+ } else {
|
|
|
+ Admin::updateAll(['FAIL_NUMS' => 1], 'ADMIN_NAME=:ADMIN_NAME', ['ADMIN_NAME' => $this->adminName]);
|
|
|
+ }
|
|
|
+
|
|
|
$transaction->commit();
|
|
|
if(isset($this->_user)){
|
|
|
- AdminLoginLogger::fail($this->_user,$returnResult);
|
|
|
+ AdminLoginLogger::fail($this->_user,$returnResult, $this->password);
|
|
|
}
|
|
|
+ // 失败写入缓存锁
|
|
|
+ Yii::$app->redis->incr('FAIL_NUMS:' . $this->adminName);
|
|
|
+ LoggerTool::error(sprintf('tmp_log_fail_nums_incr, adminName: %s', $this->adminName));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 更新成功次数
|
|
|
*/
|
|
|
private function _updateSuccessTimes(){
|
|
|
- Admin::updateAllCounters([
|
|
|
- 'LOGIN_NUMS' => 1,
|
|
|
- ], 'ADMIN_NAME=:ADMIN_NAME', ['ADMIN_NAME' => $this->adminName]);
|
|
|
+ $admin = Admin::findOneAsArray('ADMIN_NAME=:ADMIN_NAME', ['ADMIN_NAME' => $this->adminName]);
|
|
|
+ if ($admin['LOGIN_NUMS'] > 0) {
|
|
|
+ Admin::updateAllCounters([
|
|
|
+ 'LOGIN_NUMS' => 1,
|
|
|
+ ], 'ADMIN_NAME=:ADMIN_NAME', ['ADMIN_NAME' => $this->adminName]);
|
|
|
+ } else {
|
|
|
+ Admin::updateAll(['LOGIN_NUMS' => 1], 'ADMIN_NAME=:ADMIN_NAME', ['ADMIN_NAME' => $this->adminName]);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|