|  |  |  | 
|---|
|  |  |  | import com.doumee.core.exception.BusinessException; | 
|---|
|  |  |  | import com.doumee.core.model.LoginUserInfo; | 
|---|
|  |  |  | import com.doumee.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.dao.business.model.CompanyPermission; | 
|---|
|  |  |  | import com.doumee.dao.system.model.SystemPermission; | 
|---|
|  |  |  | import com.doumee.dao.system.model.SystemRole; | 
|---|
|  |  |  | import com.doumee.dao.system.model.SystemUser; | 
|---|
|  |  |  | import com.doumee.service.business.CompanyPermissionService; | 
|---|
|  |  |  | import com.doumee.service.system.SystemDataPermissionService; | 
|---|
|  |  |  | import com.doumee.service.system.SystemPermissionService; | 
|---|
|  |  |  | import com.doumee.service.system.SystemRoleService; | 
|---|
|  |  |  | 
|---|
|  |  |  | import org.springframework.context.annotation.Lazy; | 
|---|
|  |  |  | import org.springframework.stereotype.Component; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | @Lazy | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SystemUserService systemUserService; | 
|---|
|  |  |  | @Lazy | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CompanyPermissionService companyPermissionService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Lazy | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 
|---|
|  |  |  | List<SystemRole> roles = systemRoleService.findByUserId(user.getId()); | 
|---|
|  |  |  | List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId()); | 
|---|
|  |  |  | LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions); | 
|---|
|  |  |  | CompanyPermission c = new CompanyPermission(); | 
|---|
|  |  |  | c.setUserId(user.getId()); | 
|---|
|  |  |  | c.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | List<CompanyPermission> pList = companyPermissionService.findList(c); | 
|---|
|  |  |  | if(pList!=null){ | 
|---|
|  |  |  | for (CompanyPermission cc : pList){ | 
|---|
|  |  |  | if(user.getCompanyIdList() == null){ | 
|---|
|  |  |  | user.setCompanyIdList(new ArrayList<>()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | user.getCompanyIdList().add(cc.getCompanyId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 验证用户 | 
|---|
|  |  |  | return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName()); | 
|---|
|  |  |  | } | 
|---|