--- /dev/null
+
+# 用户数据同步之企业微信同步方案说明文档
+
+
+[TOC]
+
+
+## 方案说明
+
+用户数据(包括组织机构、帐号) 同步到企业微信的流程
+
+1. 用户服务 中 对数据进行操作后,会将数据推送到 jobs-server 下的 rabbitmq-server
+
+2. jobs-server 从 rabbitmq-server 接收到消息后,将通过 ApplicationEvent 将 Event 事件,推送到 TRIGGER_EVENTS 指定的 EventJob
+
+3. EventJob 接收到 Event 事件后,处理相关业务逻辑
+
+
+此同步方案,涉及的 Receiver 有:
+
+* AccountUserSvc2JobsRabbitReceiver,接收用户服务的帐号数据
+
+* OrganizationUserSvc2JobsRabbitReceiver,接收用户服务的组织机构数据
+
+
+此同步方案,涉及的 Job 有:
+
+* AccountJobs2WorkWeixinEventJob,将帐号数据同步到企业微信
+
+* OrganizationJobs2WorkWeixinEventJob,将组织机构数据同步到企业微信
+
+
+## 部署说明
+
+
+1. user-data-service-goa
+
+修改 ConfigMap user-data-service-goa-env
+
+```
+ # 推送数据到 jobs-server 的配置
+ JOBS_RABBITMQ_ENABLED: "true"
+ JOBS_RABBITMQ_HOST: rabbitmq-server.jobs-server.svc.cluster.local
+ JOBS_RABBITMQ_PORT: "5672"
+ JOBS_RABBITMQ_USERNAME: guest
+ JOBS_RABBITMQ_PASSWORD: guest
+
+ JOBS_RABBITMQ_ACCOUNTUSERSVC2JOBSSYNCPASSWORDRABBITSENDER_ENABLED: "true"
+ JOBS_RABBITMQ_ORGANIZATIONUSERSVC2JOBSRABBITSENDER_ENABLED: "true"
+```
+
+将 XXX_ENABLED 修改为 true
+
+
+2. jobs-server
+
+* 帐号数据,从消息队列接收数据
+
+修改 ConfigMap jobs-server-accountusersvc2jobsrabbitreceiver-env
+
+```
+ ACCOUNTUSERSVC2JOBSRABBITRECEIVER_ENABLED: "true"
+ ACCOUNTUSERSVC2JOBSRABBITRECEIVER_TRIGGER_EVENTS: ""
+```
+
+开启后,可接收消息队列的消息(帐号数据的变更),并将数据推送到 TRIGGER_EVENTS 指定的 job
+
+
+* 组织机构数据,从消息队列接收数据
+
+修改 ConfigMap jobs-server-organizationusersvc2jobsrabbitreceiver-env
+
+```
+ ORGANIZATIONUSERSVC2JOBSRABBITRECEIVER_ENABLED: "true"
+ ORGANIZATIONUSERSVC2JOBSRABBITRECEIVER_TRIGGER_EVENTS: ""
+```
+
+开启后,可接收消息队列的消息(组织机构数据的变更),并将数据推送到 TRIGGER_EVENTS 指定的 job
+
+
+* 帐号数据,从 消息队列 同步到 企业微信 通讯录
+
+添加 ConfigMap jobs-server-accountJobs2WorkWeixinEventJob-env
+
+```
+# 密码,用户服务 - jobs
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ namespace: jobs-server
+ name: jobs-server-accountJobs2WorkWeixinEventJob-env
+data:
+ ACCOUNT_JOBS_2_WORK_WEIXIN_EVENT_JOB_ENABLED: "true"
+ ACCOUNT_JOBS_2_WORK_WEIXIN_EVENT_JOB_ORGANIZATION_QYWX_DATASOURCE_JDBC_URL: "jdbc:mysql://mysql-server.authx-service.svc.cluster.local:3306/user?serverTimezone=Asia/Shanghai"
+ ACCOUNT_JOBS_2_WORK_WEIXIN_EVENT_JOB_ORGANIZATION_QYWX_DATASOURCE_USERNAME: "user"
+ # 修改为实际的数据库密码
+ ACCOUNT_JOBS_2_WORK_WEIXIN_EVENT_JOB_ORGANIZATION_QYWX_DATASOURCE_PASSWORD: "kingstar"
+```
+
+添加后,
+修改 jobs-server-accountusersvc2jobsrabbitreceiver-env 下的 ACCOUNTUSERSVC2JOBSRABBITRECEIVER_TRIGGER_EVENTS ,添加 `accountJobs2WorkWeixinEventJob` (若多个用逗号隔开)
+
+
+* 组织机构数据,从 消息队列 同步到 企业微信 通讯录
+
+添加 ConfigMap jobs-server-organizationJobs2WorkWeixinEventJob-env
+
+```
+# 密码,用户服务 - jobs
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ namespace: jobs-server
+ name: jobs-server-organizationJobs2WorkWeixinEventJob-env
+data:
+ ORGANIZATION_JOBS_2_WORK_WEIXIN_EVENT_JOB_ENABLED: "true"
+ ORGANIZATION_JOBS_2_WORK_WEIXIN_EVENT_JOB_ORGANIZATION_QYWX_DATASOURCE_JDBC_URL: "jdbc:mysql://mysql-server.authx-service.svc.cluster.local:3306/user?serverTimezone=Asia/Shanghai"
+ ORGANIZATION_JOBS_2_WORK_WEIXIN_EVENT_JOB_ORGANIZATION_QYWX_DATASOURCE_USERNAME: "user"
+ # 修改为实际的数据库密码
+ ORGANIZATION_JOBS_2_WORK_WEIXIN_EVENT_JOB_ORGANIZATION_QYWX_DATASOURCE_PASSWORD: "kingstar"
+```
+
+添加后,
+修改 jobs-server-organizationusersvc2jobsrabbitreceiver-env 下的 ORGANIZATIONUSERSVC2JOBSRABBITRECEIVER_TRIGGER_EVENTS ,添加 `organizationJobs2WorkWeixinEventJob` (若多个用逗号隔开)
+
+
+* 同步程序 Deployment jobs-server
+
+添加 环境变量,引用其他资源
+
+添加附加资源 ConfigMap jobs-server-accountJobs2WorkWeixinEventJob-env , ConfigMap jobs-server-organizationJobs2WorkWeixinEventJob-env
+
+重启 同步程序
+
+