保誠-保戶業務員媒合平台
wayne
2022-02-10 d54da4786548ef4c4ea4d62b2754cfed2b24a698
pamapi/src/main/java/com/pollex/pam/security/SecurityUtils.java
@@ -1,8 +1,12 @@
package com.pollex.pam.security;
import java.util.Arrays;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Stream;
import com.pollex.pam.enums.ConsultantDetailEnum;
import com.pollex.pam.enums.CustomerDetailEnum;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContext;
@@ -97,4 +101,23 @@
    private static Stream<String> getAuthorities(Authentication authentication) {
        return authentication.getAuthorities().stream().map(GrantedAuthority::getAuthority);
    }
    public static String getAgentNo() {
        Map<String, String> userDetails = getCurrentUserDetails();
        return userDetails.get(ConsultantDetailEnum.AGENT_NO.getValue());
    }
    public static Long getCustomerDBId() {
       Map<String, String> userDetails = getCurrentUserDetails();
       return Long.parseLong(userDetails.get(CustomerDetailEnum.DB_ID.getValue()));
    }
    public static Map<String, String> getCurrentUserDetails() {
       SecurityContext securityContext = SecurityContextHolder.getContext();
       if(securityContext.getAuthentication()==null ||
             securityContext.getAuthentication().getDetails() ==null) {
          return null;
       }
       return (Map<String, String>) securityContext.getAuthentication().getDetails();
   }
}