ad7ab308338e750709fdcfcf6d5af1bc6e97f91c.svn-base 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package org.jeecg.modules.base.service.impl;
  2. import com.baomidou.mybatisplus.core.toolkit.IdWorker;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.apache.shiro.SecurityUtils;
  5. import org.jeecg.common.api.dto.LogDTO;
  6. import org.jeecg.common.constant.CacheConstant;
  7. import org.jeecg.modules.base.mapper.BaseCommonMapper;
  8. import org.jeecg.modules.base.service.BaseCommonService;
  9. import org.jeecg.common.system.vo.LoginUser;
  10. import org.jeecg.common.system.vo.SysPermissionDataRuleModel;
  11. import org.jeecg.common.system.vo.SysUserCacheInfo;
  12. import org.jeecg.common.util.IPUtils;
  13. import org.jeecg.common.util.SpringContextUtils;
  14. import org.jeecg.common.util.oConvertUtils;
  15. import org.springframework.cache.annotation.Cacheable;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.util.AntPathMatcher;
  18. import org.springframework.util.PathMatcher;
  19. import javax.annotation.Resource;
  20. import javax.servlet.http.HttpServletRequest;
  21. import java.util.*;
  22. @Service
  23. @Slf4j
  24. public class BaseCommonServiceImpl implements BaseCommonService {
  25. @Resource
  26. private BaseCommonMapper baseCommonMapper;
  27. @Override
  28. public void addLog(LogDTO logDTO) {
  29. if(oConvertUtils.isEmpty(logDTO.getId())){
  30. logDTO.setId(String.valueOf(IdWorker.getId()));
  31. }
  32. //保存日志(异常捕获处理,防止数据太大存储失败,导致业务失败)JT-238
  33. try {
  34. baseCommonMapper.saveLog(logDTO);
  35. } catch (Exception e) {
  36. log.warn(" LogContent length : "+logDTO.getLogContent().length());
  37. log.warn(e.getMessage());
  38. }
  39. }
  40. @Override
  41. public void addLog(String logContent, Integer logType, Integer operatetype, LoginUser user) {
  42. LogDTO sysLog = new LogDTO();
  43. sysLog.setId(String.valueOf(IdWorker.getId()));
  44. //注解上的描述,操作日志内容
  45. sysLog.setLogContent(logContent);
  46. sysLog.setLogType(logType);
  47. sysLog.setOperateType(operatetype);
  48. try {
  49. //获取request
  50. HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
  51. //设置IP地址
  52. sysLog.setIp(IPUtils.getIpAddr(request));
  53. } catch (Exception e) {
  54. sysLog.setIp("127.0.0.1");
  55. }
  56. //获取登录用户信息
  57. if(user==null){
  58. try {
  59. user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
  60. } catch (Exception e) {
  61. //e.printStackTrace();
  62. }
  63. }
  64. if(user!=null){
  65. sysLog.setUserid(user.getUsername());
  66. sysLog.setUsername(user.getRealname());
  67. }
  68. sysLog.setCreateTime(new Date());
  69. //保存日志(异常捕获处理,防止数据太大存储失败,导致业务失败)JT-238
  70. try {
  71. baseCommonMapper.saveLog(sysLog);
  72. } catch (Exception e) {
  73. log.warn(" LogContent length : "+sysLog.getLogContent().length());
  74. log.warn(e.getMessage());
  75. }
  76. }
  77. @Override
  78. public void addLog(String logContent, Integer logType, Integer operateType) {
  79. addLog(logContent, logType, operateType, null);
  80. }
  81. }