package com.ycl.utils.auth; import com.ycl.entity.auth.Operator; import com.ycl.enums.common.ResultCode; import com.ycl.exception.ApiException; import org.springframework.stereotype.Component; import org.springframework.stereotype.Controller; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; /** * @author Lyq * @version 1.0 * @date 2022/9/9 */ @Component public class OperatorAuthUtil { @Resource private UserAuthUtil userAuthUtil; private static Map platformMap = new HashMap<>(); /** * 获取操作者 * * @param request * @return * @throws ApiException */ public Operator fetchUser(HttpServletRequest request) throws ApiException { try { long memberId = userAuthUtil.fetchUserId(request); Operator operator = platformMap.get(memberId); if (operator != null) { return operator; } String memberName = userAuthUtil.fetchUserName(request); operator = new Operator(memberId, memberName); platformMap.put(memberId, operator); return operator; } catch (Exception e) { throw new ApiException(e.getMessage()); } } }