# 动态参数管理

# 1. 概述

动态参数功能为统一维护后端可获取的当前登录用户的相关数据,包括后端实现和页面维护两部分功能。 本文主要讲解关于后端的使用, 页面维护请参考动态参数管理

# 2. 自定义动态参数

自定义实现DynamicCustomParam接口,接口为:

public interface DynamicCustomParam {

    /**
     * 获取编码,对应已维护的动态参数的编码,若自定的编码重复,取@Order较小的
     * @return
     */
    String getCode();

    /**
     * 获取数值
     * @return
     */
    String getValue();

}

重写getCode()getValue()方法,getCode()中返回自定义的编码(对应在动态参数页面中维护的编码),若自定的编码重复,取@Order较小的。 getValue()中自定义数据获取的逻辑,并返回结果。

注意,实现的类需要注册为组件(添加@Service注解),例如,岗位的实现:

/**
 * 岗位
 */
@Service
public class DynamicCustomParamPost implements DynamicCustomParam {

    @Override
    public String getCode() {
        return "post";
    }

    @Override
    public String getValue() {
        return ThreadLocalParamUtil.getPostId();
    }
}

# 3. 获取动态参数数值

已经维护好的动态参数可通过工具类DynamicParamsUtil获取,其方法包括

    /**
     * 根据编码获取动态参数中的值
     * @param code 编码
     * @return
     */
    public String getValueByCode(String code);

    /**
     * 获取所有的动态参数编码以及其数据值
     * @return
     */
    public Map<String,String> getAllValueMap(){

使用示例:


@Autowired
private DynamicParamsUtil dynamicParamsUtil;

private void getData() {
    
    //根据编码获取数据
    String data=dynamicParamsUtil.getValueByCode("post");
    
    //获取所有
    Map<String,String> allValueMap= dynamicParamsUtil.getAllValueMap();
}


# 4. 已提供的动态参数获取功能

弃用状态的参数,后续将删除。

编码 动态参数实现类 描述
account DynamicCustomParamAccount 当前用户的账号ID
account_code DynamicCustomParamAccountCode 当前用户登录名
busi_domain DynamicCustomParamBusiDomain 当前业务域ID
busi_domain_code DynamicCustomParamBusiDomainCode 当前业务域编码
busi_unit DynamicCustomParamBusiUnit 当前业务单元ID(不支持简版)
busi_unit_code DynamicCustomParamBusiUnitCode 当前业务单元编码(不支持简版)
dept DynamicCustomParamDept 当前用户所属行政部门ID
dept_code DynamicCustomParamDeptCode 当前用户所属行政部门编码
org DynamicCustomParamOrg 当前用户所属行政部门的机构ID
org_code DynamicCustomParamOrgCode 当前用户所属行政部门的机构编码
post DynamicCustomParamPost 当前业务岗位ID,可能多个,多个时以逗号分隔(不支持简版)
post_code DynamicCustomParamPost 当前业务岗位编码(多个时以逗号分隔,不支持简版)
post_dict_code DynamicCustomParamPostDictCode 当前岗位字典编码
current_language DynamicCustomParamLanguage 当前请求语言编码
accessToken DynamicCustomParamAccessToken 当前请求token值
all_dept_code DynamicCustomParamAllDeptCode 当前用户的所属部门编码(多个时以逗号分隔)
all_dept_id DynamicCustomParamAllDept 当前用户的所属部门id(多个时以逗号分隔)
all_org_code DynamicCustomParamAllOrgCode 当前用户的所属机构编码(多个时以逗号分隔)
all_org_id DynamicCustomParamAllOrg 当前用户的所属机构id(多个时以逗号分隔)
pa_person_id DynamicCustomParamPaPersonId 当前用户的所属人员唯一标识