content: package org.jeecg.modules.base.service.impl;
  
  import com.baomidou.mybatisplus.core.toolkit.IdWorker;
  import lombok.extern.slf4j.Slf4j;
  import org.apache.shiro.SecurityUtils;
  import org.jeecg.common.api.dto.LogDTO;
  import org.jeecg.common.constant.CacheConstant;
  import org.jeecg.modules.base.mapper.BaseCommonMapper;
  import org.jeecg.modules.base.service.BaseCommonService;
  import org.jeecg.common.system.vo.LoginUser;
  import org.jeecg.common.system.vo.SysPermissionDataRuleModel;
  import org.jeecg.common.system.vo.SysUserCacheInfo;
  import org.jeecg.common.util.IPUtils;
  import org.jeecg.common.util.SpringContextUtils;
  import org.jeecg.common.util.oConvertUtils;
  import org.springframework.cache.annotation.Cacheable;
  import org.springframework.stereotype.Service;
  import org.springframework.util.AntPathMatcher;
  import org.springframework.util.PathMatcher;
  
  import javax.annotation.Resource;
  import javax.servlet.http.HttpServletRequest;
  import java.util.*;
  
  @Service
  @Slf4j
  public class BaseCommonServiceImpl implements BaseCommonService {
  
      @Resource
      private BaseCommonMapper baseCommonMapper;
  
      @Override
      public void addLog(LogDTO logDTO) {
          if(oConvertUtils.isEmpty(logDTO.getId())){
              logDTO.setId(String.valueOf(IdWorker.getId()));
          }
          //保存日志（异常捕获处理，防止数据太大存储失败，导致业务失败）JT-238
          try {
              baseCommonMapper.saveLog(logDTO);
          } catch (Exception e) {
              log.warn(" LogContent length : "+logDTO.getLogContent().length());
              log.warn(e.getMessage());
          }
      }
  
      @Override
      public void addLog(String logContent, Integer logType, Integer operatetype, LoginUser user) {
          LogDTO sysLog = new LogDTO();
          sysLog.setId(String.valueOf(IdWorker.getId()));
          //注解上的描述,操作日志内容
          sysLog.setLogContent(logContent);
          sysLog.setLogType(logType);
          sysLog.setOperateType(operatetype);
          try {
              //获取request
              HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
              //设置IP地址
              sysLog.setIp(IPUtils.getIpAddr(request));
          } catch (Exception e) {
              sysLog.setIp("127.0.0.1");
          }
          //获取登录用户信息
          if(user==null){
              try {
                  user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
              } catch (Exception e) {
                  //e.printStackTrace();
              }
          }
          if(user!=null){
              sysLog.setUserid(user.getUsername());
              sysLog.setUsername(user.getRealname());
          }
          sysLog.setCreateTime(new Date());
          //保存日志（异常捕获处理，防止数据太大存储失败，导致业务失败）JT-238
          try {
              baseCommonMapper.saveLog(sysLog);
          } catch (Exception e) {
              log.warn(" LogContent length : "+sysLog.getLogContent().length());
              log.warn(e.getMessage());
          }
      }
  
      @Override
      public void addLog(String logContent, Integer logType, Integer operateType) {
          addLog(logContent, logType, operateType, null);
      }
  
  
  
  }
  