From: 刘洪青 Date: Wed, 19 May 2021 06:32:59 +0000 (+0800) Subject: docs: 用户数据同步之企业微信同步方案说明文档 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=881305b02f7b4f2e2e48948cb412a953a6d400a1;p=institute%2Fdeploy-authx-service.git docs: 用户数据同步之企业微信同步方案说明文档 --- diff --git "a/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.md" "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.md" new file mode 100644 index 0000000..47cc062 --- /dev/null +++ "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.md" @@ -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/\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" "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" new file mode 100644 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