package com.changhong.epc.constter.system.prop;
|
|
import com.iemsoft.framework.cloud.core.tools.MsgTool;
|
import com.iemsoft.framework.cloud.core.tools.ObjectUtil;
|
import lombok.Data;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.http.client.utils.URIBuilder;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.PostConstruct;
|
import java.net.URISyntaxException;
|
import java.util.HashMap;
|
import java.util.Map;
|
import java.util.Objects;
|
|
@Data
|
@Slf4j
|
@Component
|
@ConfigurationProperties("epc.changhong")
|
public class ChangHongProperties {
|
|
/**
|
* 系统名称
|
*/
|
private String systemName;
|
|
/**
|
* 登录后转发路径
|
*/
|
private String loginSendRedirect;
|
|
/**
|
* 登录url
|
*/
|
private String loginUrl;
|
|
/**
|
* 登陆后跳转
|
*/
|
private String loginCallBack;
|
|
/**
|
* 跳转主页面
|
*/
|
private String homeUrl;
|
|
/**
|
* 国际化信息路径
|
*/
|
private String msgPath;
|
|
/**
|
* 标识 0:测试,1:生产
|
*/
|
private String ssoLivemode;
|
|
/**
|
* 单点访问地址
|
*/
|
private String ssoServerHost;
|
|
/**
|
* 单点-系统id
|
*/
|
private String ssoAppId;
|
|
/**
|
* 单点-系统key
|
*/
|
private String ssoAppKey;
|
|
/**
|
* 单点-私钥
|
*/
|
private String ssoSecretKey;
|
|
/**
|
* 云尚行请求接口id
|
*/
|
private String cscId;
|
|
/**
|
* 云尚行私钥
|
*/
|
private String cscPrivateKey;
|
|
/**
|
* 云尚行地址
|
*/
|
private String ysx;
|
|
|
/**
|
* 权限中心appKey
|
*/
|
private String permissionAppKey;
|
|
/**
|
* 权限中心host
|
*/
|
private String permissionHost;
|
|
/**
|
* 权限中心预分配权限数据
|
*/
|
private String permissionIds;
|
|
/**
|
* 权限中心私钥
|
*/
|
private String permissionSecretKey;
|
|
/**
|
* url地址
|
*/
|
private String permissionUrl;
|
|
/**
|
* 版本
|
*/
|
private String permissionVersion;
|
|
|
/**
|
* 自定义表单服务URL
|
*/
|
private String formServiceUrl;
|
|
/**
|
* 自定义表单服务post
|
*/
|
private String formServicePost;
|
|
|
/**
|
* 流程引擎业务系统id
|
*/
|
private String processServiceId;
|
|
/**
|
* 流程引擎介入编号
|
*/
|
private String processAccessId;
|
|
/**
|
* 流程引擎系统key
|
*/
|
private String processAppKey;
|
|
/**
|
* 流程引擎安全验证key
|
*/
|
private String processSecurityKey;
|
|
/**
|
* 报表-接入编号
|
*/
|
private String reportAccessId;
|
|
/**
|
* 报表-安全验证key
|
*/
|
private String reportSecurityKey;
|
|
/**
|
* 报表-业务系统id
|
*/
|
private Integer reportServiceId;
|
|
/**
|
* 大用户中心接口url
|
*/
|
private Map<PassPortName, ApiInfo> passPort;
|
|
/**
|
* token超时时间
|
*/
|
private String tokenTimeOut;
|
|
@Data
|
public static class ApiInfo{
|
|
private String url;
|
|
private Map<String, String> defaultParam;
|
}
|
|
/**
|
* 用户中心接口code
|
* @author WangYX
|
*
|
*/
|
public static enum PassPortName{
|
|
/*---- 通行证 ----*/
|
/**
|
* 获取用户信息
|
*/
|
USER_DETIAL,
|
|
|
/*---- 云尚行 ----*/
|
|
// 租户相关接口
|
|
/**
|
* 根据租户id查询租户下的公司列表
|
*/
|
FIND_TENANT_TENANTCOMPANYS,
|
|
/**
|
* 获得当前公司组织机构下所有人员
|
*/
|
FIND_USERS,
|
|
/**
|
* 根据租户id查询租户对应的组织机构信息
|
*/
|
FIND_TENANT_ORGANIZATION,
|
|
/**
|
* 票据纠偏
|
*/
|
REST_TENANT_BILLDATA_BILLCORRECT ,
|
|
|
//公司相关接口
|
|
/**
|
* 根据公司id获取所有业务系统
|
*/
|
FIND_COMPANY_SYSTEMLIST,
|
|
/**
|
* 根据公司ID和公司父系统appKey获取对应子系统的Key
|
*/
|
FIND_TENANT_SUBCOMPANYSYSTEM,
|
|
/**
|
* 根据公司id获取该公司对应的组织结构信息
|
*/
|
FIND_COMPANY_ORGANIZATION,
|
|
//企业用户相关接口
|
|
/**
|
* 通过openId查询用户所属的租户和公司信息
|
*/
|
FIND_USER_TENANTSANDCOMPANYS,
|
|
/**
|
* 通过openId查询用户所属组织机构
|
*/
|
FIND_USER_USERORGS,
|
|
/**
|
* 向云尚行同步用户
|
*/
|
ADD_USER_USERTOCSC,
|
|
//组织机构相关接口
|
|
/**
|
* 根据组织机构code查询改组织机构及所有的下级
|
*/
|
GET_USER_ORGSOFTREE,
|
|
/**
|
* 根据组织机构code查询该组织机构对应岗位信息
|
*/
|
FIND_ORGANIZATION_POSITIONLIST,
|
|
/**
|
* 根据组织机构code查询该组织机构对应用户信息
|
*/
|
FIND_ORGANIZATION_USERLIST,
|
|
/**
|
* 根据组织机构code集合查询组织机构名称集合
|
*/
|
FIND_ORGANIZATION_NAMELIST,
|
|
/**
|
* 根据公司id获取公司下的组织机构用户岗位信息
|
*/
|
FIND_ORGANIZATION_RELATIONDETAIL,
|
|
/**
|
* 根据职位id集合查询职位名称集合
|
*/
|
FIND_ORGANIZATION_IDNAMES,
|
|
/**
|
* 获取组织机构版本号
|
*/
|
FIND_ORGANIZATION_VERSION,
|
|
/**
|
* 重新审单
|
*/
|
ORDER_BACKRULE,
|
|
|
/**
|
* 创建订单
|
*/
|
JSON_ORDER_ADDORDER,
|
|
/**
|
* 固定资产记账
|
*/
|
JSON_ORDER_ORDERACCOUNTFYY,
|
|
/**
|
* 不需要参数查询所有租户公司
|
*/
|
FIND_TENANT_TENANTANDORG,
|
|
|
/*---- 权限中心 ----*/
|
/**
|
* 功能权限
|
*/
|
FUNCTION_PERMISSION,
|
/**
|
* 创建权限
|
*/
|
CREATE_PERMISSION,
|
|
|
/*----流程引擎接口大全 ----*/
|
|
/**
|
* 创建流程定义
|
*/
|
DEF_CREATE,
|
|
/**
|
* 删除流程定义
|
*/
|
DEF_DELETE,
|
|
/**
|
* 部署流程定义
|
*/
|
DEF_DEPLOY,
|
|
/**
|
* 流程定义分页查询
|
*/
|
DEF_SEACHE,
|
|
/**
|
* 退回流程实例
|
*/
|
INST_BACK,
|
|
/**
|
* 设置代理
|
*/
|
CREATE_AGENT,
|
|
/**
|
* 创建流程实例
|
*/
|
INST_CREATE,
|
|
/**
|
* 撤销流程实例
|
*/
|
INST_DRAWBACK,
|
|
/**
|
* 删除代理关系
|
*/
|
AGENT_DELETE,
|
|
/**
|
* 结束流程实例
|
*/
|
INST_OVER,
|
|
/**
|
* 设置代办
|
*/
|
CREATE_CHARGE,
|
|
/**
|
* 执行流程实例
|
*/
|
INST_FINISH,
|
|
/**
|
* 修改代理关系
|
*/
|
AGENT_UPDATE,
|
|
/**
|
* 查询流程待办(都为空查询所有待办信息)
|
*/
|
SEACHE_HANDLE,
|
|
/**
|
* 流程实例log(参数为空即查询所有)
|
*/
|
INST_LOG,
|
|
/**
|
* 获取所有可退回项目
|
*/
|
GET_BACK,
|
|
/**
|
* 查询代理(参数为空即查询所有信息)
|
*/
|
INST_AGENT,
|
|
/**
|
* 查询代理去除流程定义信息
|
*/
|
AGENT_DEFMSG,
|
|
/**
|
* 查询流程实例(参数都为空,即查询所有)
|
*/
|
INST_SEACHE,
|
|
/**
|
* 返回安全码,用于拼接流程图路径
|
*/
|
GET_USERINFO,
|
|
/**
|
* 租户注册中心
|
*/
|
APP_CREATE,
|
|
/**
|
* 初始化租户
|
*/
|
UBP_INITIALIZATION,
|
|
/**
|
* 检查租户是否初始化
|
*/
|
UBP_CHECK,
|
|
|
/*----差旅接口大全 ----*/
|
|
/**
|
* 差旅系统订单电子数据记账接口
|
*/
|
ORDER_ORDERACCOUNT,
|
|
/**
|
* 订单规则检查接口
|
*/
|
ORDER_RULE_CHECK,
|
|
/**
|
* 获取订单图片数据接口
|
*/
|
GET_ORDERPIC,
|
|
/**
|
* 获取云尚行管理中心的业务类型数据
|
*/
|
GET_ORDER_TYPEDEFINELIST,
|
|
/**
|
* 获取云尚行指定公司的业务类型数据
|
*/
|
GET_BUS_TYPEBYCOMP,
|
|
/**
|
* 获取租户主数据定义
|
*/
|
GET_TENANT_DEFINEMASTER,
|
|
/**
|
* 获取租户主数据元素
|
*/
|
GET_TENANT_ELEMASTER,
|
|
/**
|
* 获得租户主数据value
|
*/
|
GET_TENANT_VALUEMASTER,
|
|
/**
|
* 获取通用主数据定义
|
*/
|
GET_CURRENCY_DEFINEMASTER,
|
|
/**
|
* 获取通用主数据元素
|
*/
|
GET_CURRENCY_ELEMASTER,
|
|
/**
|
* 获得通用主数据value
|
*/
|
GET_CURRENCY_VALUEMASTER,
|
|
/**
|
* 修改用户信息
|
*/
|
UPDATE_USERINFO,
|
|
/**
|
* 引用报表、图表、透视图
|
*/
|
REPORT_WIDGET_SAVEREF,
|
|
/**
|
* 预览报表、图表、透视图
|
*/
|
REPORT_WIDGET_PREVIEW
|
|
}
|
|
public String getPassUrl(PassPortName ppn, Map<String, Object> param){
|
ApiInfo ai = passPort.get(ppn);
|
if(ai == null){
|
return "";
|
}
|
Map<String, Object> allParam = ai.defaultParam == null ? new HashMap<>() : new HashMap<>(ai.defaultParam);
|
if(ObjectUtil.notEmpty(param)){
|
allParam.putAll(param);
|
}
|
if(ObjectUtil.empty(allParam)){
|
return ai.url;
|
}
|
return getParam(ai.url, allParam);
|
}
|
|
@SuppressWarnings("deprecation")
|
public String getParam(String url, Map<String, Object> param){
|
try {
|
URIBuilder uriBuilder = new URIBuilder();
|
param.entrySet().stream().forEach(p->uriBuilder.addParameter(p.getKey(), Objects.toString(p.getValue(), "")));
|
return url + uriBuilder.build().toString();
|
} catch (URISyntaxException e) {
|
log.error(e.getMessage(), e);
|
return "";
|
}
|
}
|
|
@PostConstruct
|
public void init(){
|
if(ObjectUtil.notEmpty(msgPath)){
|
MsgTool.setPrefix(msgPath);
|
}else{
|
log.error("msg-path === null");
|
}
|
}
|
}
|