From 7e3175b4cef97fbcdc47531b7de4cb18110f50e3 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 22 一月 2025 18:30:23 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1
---
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 38 insertions(+), 5 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index b9b8bf2..05e1749 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -1,6 +1,7 @@
package com.doumee.service.system.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.config.jwt.JwtTokenUtil;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -11,6 +12,7 @@
import com.doumee.dao.business.dao.SmsEmailMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.SmsEmail;
+import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.dto.LoginByOpenidDTO;
import com.doumee.dao.system.dto.LoginDTO;
import com.doumee.dao.system.dto.LoginPhoneDTO;
@@ -50,6 +52,9 @@
@Autowired
private SmsEmailMapper smsEmailMapper;
+ @Autowired
+ private SystemUserMapper systemUserMapper;
+
@Lazy
@Autowired
@@ -83,7 +88,7 @@
loginLog.setLoginTime(new Date());
loginLog.setSystemVersion(systemVersion);
loginLog.setIp(Utils.User_Client.getIP(request));
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
loginLog.setPlatform(Utils.User_Client.getPlatform(request));
loginLog.setClientInfo(Utils.User_Client.getBrowser(request));
loginLog.setOsInfo(Utils.User_Client.getOS(request));
@@ -124,7 +129,7 @@
loginLog.setLoginUsername(dto.getUsername());
loginLog.setLoginTime(new Date());
loginLog.setSystemVersion(systemVersion);
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
loginLog.setIp(Utils.User_Client.getIP(request));
loginLog.setPlatform(Utils.User_Client.getPlatform(request));
@@ -164,6 +169,7 @@
if(Objects.nonNull(user.getCompanyId())){
company = companyMapper.selectById(user.getCompanyId());
}
+ dealOpenIdBiz(user,dto.getOpenid());
// 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
@@ -178,6 +184,21 @@
}
+ private void dealOpenIdBiz(SystemUser user, String openid) {
+ if(StringUtils.isNotBlank(openid)){
+ //濡傛灉openId涓嶄负绌�,缁戝畾璇ョ敤鎴穙penid
+ systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+ .set(SystemUser::getOpenid,null)
+ .eq(SystemUser::getType,user.getType())
+ .eq(SystemUser::getOpenid,openid)
+ );
+ systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+ .set(SystemUser::getOpenid,openid)
+ .eq(SystemUser::getId,user.getId()));
+ }
+ }
+
+
@@ -187,7 +208,7 @@
loginLog.setLoginUsername(dto.getPhone());
loginLog.setLoginTime(new Date());
loginLog.setSystemVersion(systemVersion);
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
loginLog.setIp(Utils.User_Client.getIP(request));
loginLog.setPlatform(Utils.User_Client.getPlatform(request));
@@ -239,6 +260,9 @@
if(Objects.nonNull(user.getCompanyId())){
company = companyMapper.selectById(user.getCompanyId());
}
+
+ dealOpenIdBiz(user,dto.getOpenid());
+
// 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
@@ -259,7 +283,7 @@
loginLog.setLoginUsername(dto.getUsername());
loginLog.setLoginTime(new Date());
loginLog.setSystemVersion(systemVersion);
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
loginLog.setIp(Utils.User_Client.getIP(request));
loginLog.setPlatform(Utils.User_Client.getPlatform(request));
@@ -289,6 +313,15 @@
}
+ @Override
+ public void cleanOpenid(Integer userId){
+ systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+ .set(SystemUser::getOpenid,null)
+ .eq(SystemUser::getId,userId)
+ );
+
+ }
+
/**
* 鍐呴儴浜哄憳 涓� 鍙告満 鏍规嵁code鏌ヨopenId鍚庤繘琛岀櫥褰曟帴鍙�
* @return
@@ -298,7 +331,7 @@
SystemLoginLog loginLog = new SystemLoginLog();
loginLog.setLoginTime(new Date());
loginLog.setSystemVersion(systemVersion);
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
loginLog.setServerIp(Utils.Server.getIP());
// 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
--
Gitblit v1.9.3