| | |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import com.ruoyi.common.core.service.IUserExtInfoService; |
| | | import com.ruoyi.common.core.service.ISatisfactionCategoryService; |
| | | import com.ruoyi.system.mapper.SysUserDeptMapper; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | |
| | | @Value("${isAdmin}") |
| | | private List<Long> isAdmin; |
| | | |
| | | |
| | | @Value("${spring.profiles.active}") |
| | | private String active; |
| | | |
| | | /** |
| | | * 根据条件分页查询用户列表 |
| | |
| | | } |
| | | sysUser.setBelongDepts(list); |
| | | // 设置满意度分类(走缓存) |
| | | sysUser.setSatisfactionCategories(userExtInfoService.getSatisfactionCategories(sysUser.getOrgid())); |
| | | // 满意度模块化后:不再经由 smartor 的 IUserExtInfoService, |
| | | // 改为按 ruoyi-common 的 ISatisfactionCategoryService 接口查找实现 |
| | | // (实现在 ruoyi-satisfaction,由常驻门面保证"模块关闭/缺失时返回空 Map") |
| | | sysUser.setSatisfactionCategories(loadSatisfactionCategories(sysUser.getOrgid())); |
| | | } |
| | | return sysUser; |
| | | } |
| | | |
| | | /** |
| | | * 安全地获取满意度分类。 |
| | | * <p> |
| | | * 满意度模块可以被配置关闭({@code sys_config} 参数 {@code satisfaction.enabled=false}),也可以整体不在依赖里; |
| | | * 这两种情况下都必须<b>不影响登录主流程</b>,因此这里: |
| | | * <ul> |
| | | * <li>容器里没有 {@code ISatisfactionCategoryService} 实现时返回空 Map;</li> |
| | | * <li>调用过程中抛任何异常也只记日志并返回空 Map。</li> |
| | | * </ul> |
| | | * |
| | | * @param orgid 机构ID |
| | | * @return 满意度分类;不可用时返回空 Map(不会返回 null) |
| | | */ |
| | | private Map<String, Object> loadSatisfactionCategories(String orgid) { |
| | | try { |
| | | ISatisfactionCategoryService satisfactionCategoryService = |
| | | SpringUtils.getBean(ISatisfactionCategoryService.class); |
| | | if (satisfactionCategoryService == null) { |
| | | return Collections.emptyMap(); |
| | | } |
| | | Map<String, Object> categories = satisfactionCategoryService.getSatisfactionCategories(orgid); |
| | | return categories == null ? Collections.emptyMap() : categories; |
| | | } catch (Exception e) { |
| | | log.warn("获取满意度分类失败,已降级为空结果(不影响登录)。orgid={}", orgid, e); |
| | | return Collections.emptyMap(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | @Override |
| | | public SysUser selectUserByUserNameAndDeptId(String userName) { |
| | | String[] split = userName.split("&"); |
| | | if (split[2].contains("null")) { |
| | | //南华附一也不验证dept_id了 |
| | | if (split[2].contains("null") || active.equals("nhfy")) { |
| | | split[2] = null; |
| | | } |
| | | SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], split[2]); |