package com.moral.api.utils; import lombok.extern.slf4j.Slf4j; import java.util.Map; import java.util.Objects; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import com.moral.api.entity.UserLog; import com.moral.api.service.UserLogService; import com.moral.util.TokenUtils; import com.moral.util.WebUtils; @Slf4j @Component public class OperationLogUtils { @Autowired private UserLogService userLogService; @Transactional public void insertLog(String content, String type) { HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); Map currentUserInfo = (Map) TokenUtils.getUserInfo(); UserLog userLog = new UserLog(); userLog.setType(type); userLog.setIp(WebUtils.getIpAddr(request)); userLog.setOperateId((Integer) currentUserInfo.get("userId")); Map orgInfo = (Map) currentUserInfo.get("organization"); userLog.setOrganizationId((Integer) orgInfo.get("id")); userLog.setContent(content); userLogService.save(userLog); } }