From 326a8fc1d8cc3a93f9d41f9ae180cef83379477a Mon Sep 17 00:00:00 2001 From: bian816 Date: Fri, 22 Jul 2022 11:26:44 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0url?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=8E=BB=E9=99=A4=EF=BC=8C=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?serverConfig=E8=87=AA=E5=8A=A8=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/config/FileUploadProperties.java | 35 +++++++++---------- .../project/common/config/ServerConfig.java | 32 +++++++++++++++++ .../service/impl/SysFilesServiceImpl.java | 7 +++- src/main/resources/application-dev.yml | 6 ++-- src/main/resources/application-prod.yml | 4 +-- src/main/resources/application-test.yml | 6 ++-- 6 files changed, 63 insertions(+), 27 deletions(-) create mode 100644 src/main/java/com/company/project/common/config/ServerConfig.java diff --git a/src/main/java/com/company/project/common/config/FileUploadProperties.java b/src/main/java/com/company/project/common/config/FileUploadProperties.java index 81d2560f..996e5e26 100644 --- a/src/main/java/com/company/project/common/config/FileUploadProperties.java +++ b/src/main/java/com/company/project/common/config/FileUploadProperties.java @@ -16,9 +16,25 @@ import org.springframework.util.StringUtils; public class FileUploadProperties { private String path; - private String url; + private String rootDir; private String accessUrl; + public void setRootDir(String rootDir) { + this.rootDir = rootDir; + //set accessUrl + if (StringUtils.isEmpty(rootDir)) { + this.accessUrl = null; + } + this.accessUrl = rootDir + "/**"; + } + + public String getAccessUrl() { + return accessUrl; + } + + public String getRootDir() { + return rootDir; + } public String getPath() { return path; @@ -28,23 +44,6 @@ public class FileUploadProperties { this.path = path; } - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - - //set accessUrl - if (StringUtils.isEmpty(url)) { - this.accessUrl = null; - } - this.accessUrl = url.substring(url.lastIndexOf("/")) + "/**"; - System.out.println("accessUrl=" + accessUrl); - } - public String getAccessUrl() { - return accessUrl; - } } \ No newline at end of file diff --git a/src/main/java/com/company/project/common/config/ServerConfig.java b/src/main/java/com/company/project/common/config/ServerConfig.java new file mode 100644 index 00000000..84fe5e34 --- /dev/null +++ b/src/main/java/com/company/project/common/config/ServerConfig.java @@ -0,0 +1,32 @@ +package com.company.project.common.config; + +import org.springframework.boot.web.context.WebServerInitializedEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.stereotype.Component; + +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * @author shaoqing + * @date 2022/7/21 10:00 + */ +@Component +public class ServerConfig implements ApplicationListener { + private int serverPort; + + public String getUrl() { + InetAddress address = null; + try { + address = InetAddress.getLocalHost(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + return "http://"+address.getHostAddress() +":"+this.serverPort; + } + + @Override + public void onApplicationEvent(WebServerInitializedEvent event) { + this.serverPort = event.getWebServer().getPort(); + } +} diff --git a/src/main/java/com/company/project/service/impl/SysFilesServiceImpl.java b/src/main/java/com/company/project/service/impl/SysFilesServiceImpl.java index 2537a668..65d53e24 100644 --- a/src/main/java/com/company/project/service/impl/SysFilesServiceImpl.java +++ b/src/main/java/com/company/project/service/impl/SysFilesServiceImpl.java @@ -2,6 +2,7 @@ package com.company.project.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.company.project.common.config.FileUploadProperties; +import com.company.project.common.config.ServerConfig; import com.company.project.common.exception.BusinessException; import com.company.project.common.utils.DataResult; import com.company.project.common.utils.DateUtils; @@ -27,6 +28,10 @@ import java.util.*; @EnableConfigurationProperties(FileUploadProperties.class) @Service("sysFilesService") public class SysFilesServiceImpl extends ServiceImpl implements SysFilesService { + + @Resource + private ServerConfig serverConfig; + @Resource private FileUploadProperties fileUploadProperties; @@ -48,7 +53,7 @@ public class SysFilesServiceImpl extends ServiceImpl Date: Fri, 22 Jul 2022 11:42:33 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=94=A8=E6=88=B7=E9=80=80=E5=87=BA?= =?UTF-8?q?=E7=99=BB=E5=BD=95,sys=5Flog=E7=94=A8=E6=88=B7id=E4=B8=BAnull?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/controller/UserController.java | 7 ++-- .../company/project/service/UserService.java | 7 ++++ .../project/service/impl/UserServiceImpl.java | 34 ++++++++++++++++++- 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/company/project/controller/UserController.java b/src/main/java/com/company/project/controller/UserController.java index eb5ed559..f0c74e95 100644 --- a/src/main/java/com/company/project/controller/UserController.java +++ b/src/main/java/com/company/project/controller/UserController.java @@ -128,12 +128,9 @@ public class UserController { @GetMapping("/user/logout") @ApiOperation(value = "退出接口") - @LogAnnotation(title = "用户管理", action = "退出") +// @LogAnnotation(title = "用户管理", action = "退出") public DataResult logout() { - httpSessionService.abortUserByToken(); - Subject subject = SecurityUtils.getSubject(); - subject.logout(); - return DataResult.success(); + return userService.logout(); } @PutMapping("/user/pwd") diff --git a/src/main/java/com/company/project/service/UserService.java b/src/main/java/com/company/project/service/UserService.java index 55d6d043..e3a4f45a 100644 --- a/src/main/java/com/company/project/service/UserService.java +++ b/src/main/java/com/company/project/service/UserService.java @@ -2,6 +2,7 @@ package com.company.project.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.company.project.common.utils.DataResult; import com.company.project.entity.SysUser; import com.company.project.vo.resp.LoginRespVO; import com.company.project.vo.resp.UserOwnRoleRespVO; @@ -73,4 +74,10 @@ public interface UserService extends IService { * @param vo vo */ void updateUserInfoMy(SysUser vo); + + /** + * 用户退出 + * @return + */ + DataResult logout(); } diff --git a/src/main/java/com/company/project/service/impl/UserServiceImpl.java b/src/main/java/com/company/project/service/impl/UserServiceImpl.java index d8bb4393..6a8b5d40 100644 --- a/src/main/java/com/company/project/service/impl/UserServiceImpl.java +++ b/src/main/java/com/company/project/service/impl/UserServiceImpl.java @@ -4,15 +4,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.company.project.common.exception.BusinessException; import com.company.project.common.exception.code.BaseResponseCode; +import com.company.project.common.utils.DataResult; +import com.company.project.common.utils.HttpContextUtils; +import com.company.project.common.utils.IPUtils; import com.company.project.common.utils.PasswordUtils; import com.company.project.entity.SysDept; +import com.company.project.entity.SysLog; import com.company.project.entity.SysRole; import com.company.project.entity.SysUser; import com.company.project.mapper.SysDeptMapper; +import com.company.project.mapper.SysLogMapper; import com.company.project.mapper.SysUserMapper; import com.company.project.service.*; import com.company.project.vo.req.UserRoleOperationReqVO; @@ -20,6 +24,8 @@ import com.company.project.vo.resp.LoginRespVO; import com.company.project.vo.resp.UserOwnRoleRespVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.subject.Subject; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -38,6 +44,8 @@ import java.util.List; @Slf4j public class UserServiceImpl extends ServiceImpl implements UserService { + @Resource + private SysLogMapper sysLogMapper; @Resource private SysUserMapper sysUserMapper; @Resource @@ -155,6 +163,30 @@ public class UserServiceImpl extends ServiceImpl impleme } + @Override + public DataResult logout() { + long beginTime = System.currentTimeMillis(); + + //退出记录,填写 + SysLog sysLog = new SysLog(); + sysLog.setOperation("用户管理-退出"); + sysLog.setMethod("com.company.project.controller.UserController.logout()"); + sysLog.setParams(null); + sysLog.setIp(IPUtils.getIpAddr(HttpContextUtils.getHttpServletRequest())); + sysLog.setUsername(httpSessionService.getCurrentUsername()); + sysLog.setUserId(httpSessionService.getCurrentUserId()); + + //退出操作 + httpSessionService.abortUserByToken(); + Subject subject = SecurityUtils.getSubject(); + subject.logout(); + + long time = System.currentTimeMillis() - beginTime; + sysLog.setTime((int) time); + sysLogMapper.insert(sysLog); + return DataResult.success(); + } + @Override public IPage pageInfo(SysUser vo) { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); -- Gitee