[内部]综合平台相关实体事件插件使用说明

1、构建插件类库,.net版本4.5.2,项目名称任意,比如Supcon.UnifiedPlatform.ExtendEventsTest

2、添加平台相关依赖程序集,一般需三个:
Castle.Core.dll、Supcon.Utilities.dll、
SupconMes.dll、
Supcon.UnifiedPlatform.ExtendEvents.dll
不足请自行在附件lib下引用添加。

3、构建插件注册类,实现AbpModule,该类主要告诉系统有插件模块存在,且实现了具体类的依赖注入注册:

namespace Supcon.UnifiedPlatform.ExtendEventsTest
{
    public class ExtendEventsTestModule:AbpModule
    {
        public override void Initialize()
        {
             //实现事件类注册,见第四点
            IocManager.Register();
        }
    }
}

4、实现事件调用类:

    public class MyEventHandle : ICustomEventHandle
    {
        public ILogger Logger { get; set; }

        public MyEventHandle()
        {
            this.Logger = NullLogger.Instance;
        }

        public void EventHandle(CustomEventData data)
        {
            //可以通过方法调用平台配置中心参数获取方法
            //var someCfg =data.CfgHelper.GetConfigValueByKey("cfgKey");
            //获取发生变化类型,新增、修改和删除
            // var changetype = data.ChangeType;

         
            if (data.EntityName.Equals("OrganizationEntity"))
            {
                //如果是组织机构发生变化

                //获取发生变化实体
                OrganizationEventDto dto = data.Dto as OrganizationEventDto;

            }
            else if(data.EntityName.Equals("PositionEntity"))
            {
                //职位发生变化
                PositionEventDto dto = data.Dto as PositionEventDto;
            }
            else if (data.EntityName.Equals("JobEntity"))
            {
                //岗位发生变化
                JobEventDto dto = data.Dto as JobEventDto;
            }
            else if (data.EntityName.Equals("EmployeeMainEntity"))
            {
                //人员发生变化
                EmployeeEventDto dto = data.Dto as EmployeeEventDto;
            }
            else if (data.EntityName.Equals("UserEntity"))
            {
                //账号发生变化
                UserEventDto dto = data.Dto as UserEventDto;
            }

            Logger.Info("调试阶段可以输出日志到平台logs文件下");
        }
    }

5、编译成程序集,拷贝到平台MESIP站点下Plugin文件夹,如果没有改文件夹则新建即可。

6、测试可以通过日志输出查看是否发生了事件调用,如果需要关闭插件,请删除插件DLL即可。

你可能感兴趣的:([内部]综合平台相关实体事件插件使用说明)