diff --git a/src/main/java/xyz/playedu/api/controller/backend/LoginController.java b/src/main/java/xyz/playedu/api/controller/backend/LoginController.java index 1bd2538..03baf70 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/LoginController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/LoginController.java @@ -62,7 +62,7 @@ public class LoginController { data.put("token", token.getToken()); data.put("expire", token.getExpire()); - applicationContext.publishEvent(new AdminUserLoginEvent(this, adminUser.getId(), new Date(), token.getToken(), IpUtil.getHostIp(), adminUser.getLoginTimes())); + applicationContext.publishEvent(new AdminUserLoginEvent(this, adminUser.getId(), new Date(), token.getToken(), IpUtil.getIpAddress(), adminUser.getLoginTimes())); return JsonResponse.data(data); } diff --git a/src/main/java/xyz/playedu/api/listener/AdminUserLoginListener.java b/src/main/java/xyz/playedu/api/listener/AdminUserLoginListener.java index 931a29c..5d651b5 100644 --- a/src/main/java/xyz/playedu/api/listener/AdminUserLoginListener.java +++ b/src/main/java/xyz/playedu/api/listener/AdminUserLoginListener.java @@ -5,8 +5,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.event.EventListener; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; +import xyz.playedu.api.domain.AdminUser; import xyz.playedu.api.event.AdminUserLoginEvent; import xyz.playedu.api.service.AdminUserService; +import xyz.playedu.api.util.IpUtil; @Component @Slf4j @@ -17,14 +19,23 @@ public class AdminUserLoginListener { @Order(1) @EventListener - public void updateLoginAtAndTimes(AdminUserLoginEvent event) { - adminUserService.updateLoginTimesAndLoginAt(event.getAdminId(), event.getLoginAt(), event.getLoginTimes() + 1); + public void updateLoginInfo(AdminUserLoginEvent event) { + AdminUser adminUser = new AdminUser(); + + adminUser.setId(event.getAdminId()); + adminUser.setLoginAt(event.getLoginAt()); + adminUser.setLoginTimes(event.getLoginTimes() + 1); + adminUser.setLoginIp(event.getIp()); + + adminUserService.updateById(adminUser); } @Order(10) @EventListener public void recordLoginIp(AdminUserLoginEvent event) { - log.info("我执行了:recordLoginIp"); + String area = IpUtil.getRealAddressByIP(event.getIp()); + log.info("地区:" + area); } + } diff --git a/src/main/java/xyz/playedu/api/mapper/AdminUserMapper.java b/src/main/java/xyz/playedu/api/mapper/AdminUserMapper.java index 0e22d39..07b8c5d 100644 --- a/src/main/java/xyz/playedu/api/mapper/AdminUserMapper.java +++ b/src/main/java/xyz/playedu/api/mapper/AdminUserMapper.java @@ -4,8 +4,6 @@ import org.apache.ibatis.annotations.Mapper; import xyz.playedu.api.domain.AdminUser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import java.util.Date; - @Mapper /** * @author tengteng @@ -13,7 +11,6 @@ import java.util.Date; * @createDate 2023-02-11 10:58:52 * @Entity xyz.playedu.api.domain.AdminUser */ public interface AdminUserMapper extends BaseMapper { - Integer updateLoginAtAndLoginTimes(Integer id, Date loginAt, Integer loginTimes); } diff --git a/src/main/java/xyz/playedu/api/service/AdminUserService.java b/src/main/java/xyz/playedu/api/service/AdminUserService.java index 3ec67ab..b9ff615 100644 --- a/src/main/java/xyz/playedu/api/service/AdminUserService.java +++ b/src/main/java/xyz/playedu/api/service/AdminUserService.java @@ -18,6 +18,4 @@ public interface AdminUserService extends IService { AdminUser findByEmail(String email); AdminUser findById(Integer id); - - Integer updateLoginTimesAndLoginAt(Integer id, Date loginAt, Integer loginTimes); } diff --git a/src/main/java/xyz/playedu/api/service/impl/AdminUserServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/AdminUserServiceImpl.java index ce55bdb..3339bf2 100644 --- a/src/main/java/xyz/playedu/api/service/impl/AdminUserServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/AdminUserServiceImpl.java @@ -39,11 +39,6 @@ public class AdminUserServiceImpl extends ServiceImpl - - - UPDATE `admin_users` - SET `login_at` = #{loginAt}, - `login_times`= #{loginTimes} - where id = #{id} - and `login_times` = ${loginTimes - 1} limit 1 -