docs: 用户数据同步之企业微信同步方案说明文档
author刘洪青 <hongqing.liu@supwisdom.com>
Wed, 19 May 2021 06:32:59 +0000 (14:32 +0800)
committer刘洪青 <hongqing.liu@supwisdom.com>
Wed, 19 May 2021 06:32:59 +0000 (14:32 +0800)
docs/用户数据同步之企业微信同步方案说明文档.md [new file with mode: 0644]
docs/用户数据同步之企业微信同步方案说明文档.pdf [new file with mode: 0644]

diff --git a/docs/用户数据同步之企业微信同步方案说明文档.md b/docs/用户数据同步之企业微信同步方案说明文档.md
new file mode 100644 (file)
index 0000000..47cc062
--- /dev/null
@@ -0,0 +1,135 @@
+
+# 用户数据同步之企业微信同步方案说明文档
+
+
+[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
+
+重启 同步程序
+
+
diff --git a/docs/用户数据同步之企业微信同步方案说明文档.pdf b/docs/用户数据同步之企业微信同步方案说明文档.pdf
new file mode 100644 (file)
index 0000000..7b181e9
Binary files /dev/null and "b/docs/\347\224\250\346\210\267\346\225\260\346\215\256\345\220\214\346\255\245\344\271\213\344\274\201\344\270\232\345\276\256\344\277\241\345\220\214\346\255\245\346\226\271\346\241\210\350\257\264\346\230\216\346\226\207\346\241\243.pdf" differ