| package com.zy.asrs.wms.system.controller;  | 
|   | 
| import com.zy.asrs.wms.common.domain.BaseParam;  | 
| import com.zy.asrs.wms.system.entity.User;  | 
| import com.zy.asrs.wms.system.entity.UserLogin;  | 
| import com.zy.asrs.wms.system.service.UserLoginService;  | 
| import com.zy.asrs.wms.system.service.UserRoleService;  | 
| import com.zy.asrs.wms.system.service.UserService;  | 
| import org.springframework.beans.factory.annotation.Autowired;  | 
| import org.springframework.security.core.Authentication;  | 
| import org.springframework.security.core.context.SecurityContextHolder;  | 
| import java.util.*;  | 
|   | 
| /**  | 
|  * Created by vincent on 1/30/2024  | 
|  */  | 
| public class BaseController {  | 
|   | 
|     protected static final String RANGE_TIME_LINK = " - ";  | 
|   | 
|     @Autowired  | 
|     private UserLoginService userLoginService;  | 
|     @Autowired  | 
|     private UserRoleService userRoleService;  | 
|     @Autowired  | 
|     private UserService userService;  | 
|   | 
|     public User getLoginUser() {  | 
|         try {  | 
|             Authentication authentication = SecurityContextHolder.getContext().getAuthentication();  | 
|             if (authentication != null) {  | 
|                 Object object = authentication.getPrincipal();  | 
|                 if (object instanceof User) {  | 
|                     return (User) object;  | 
|                 }  | 
|                 if(object instanceof UserLogin) {  | 
|                     UserLogin userLogin = (UserLogin) object;  | 
|                     User user = userService.superGetById(userLogin.getUserId());  | 
|                     return user;  | 
|                 }  | 
|             }  | 
|         } catch (Exception e) {  | 
|             System.out.println(e.getMessage());  | 
|         }  | 
|         return null;  | 
|     }  | 
|   | 
|     public Long getLoginUserId() {  | 
|         User loginUser = getLoginUser();  | 
|         return loginUser == null ? 1 : loginUser.getId();  | 
|     }  | 
|   | 
|     public Long getHostId() {  | 
|         User loginUser = getLoginUser();  | 
|         return loginUser == null ? 1 : loginUser.getHostId();  | 
|     }  | 
|   | 
|     public <T extends BaseParam> T buildParam(Map<String, Object> map, Class<T> clz) {  | 
|         T t  = null;  | 
|         try {  | 
|             t = clz.getDeclaredConstructor().newInstance();  | 
|             t.syncMap(map);  | 
|         } catch (Exception e) {  | 
|             e.printStackTrace();  | 
|         }  | 
|         return t;  | 
|     }  | 
|   | 
| }  |