123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package wework
- import (
- "fmt"
- "github.com/silenceper/wechat/v2"
- "github.com/silenceper/wechat/v2/cache"
- "github.com/silenceper/wechat/v2/work/config"
- "github.com/silenceper/wechat/v2/work/msgaudit"
- "github.com/xen0n/go-workwx"
- _ "github.com/xen0n/go-workwx" // package workwx
- )
- var (
- WeWorkCorpID = "ww5008ae926e352838"
- WeWorkFinanceCorpSecret = "-A48aGB1zZYURAPJBgYk5Lpaqx_j7sGgUL7gUVfzfcc" //企业微信 会话存档secret
- WeWorkExternalContactCorpSecret = "LgKgtar8gxnKlh_GO8VcvDa9V1oEO_A8o5qPjQoj4to" //企业微信 客户联系 secret
- //WeWorkContactCorpSecret = "ER4eEIski4oGVXjSwZ2uCTL_r0h5qERQz8vvOxE3xsM" //企业微信 通讯录 secret
- agentID = int64(0)
- UserNameAgentID = int64(1000011)
- WeWorkUserNameAgentSecret = "fkzl42sVb4OuwePxJ1WaUvhCAfpwiCyIG_1hLJzF8Qc" //企业微信 自建应用的获取员工姓名的 secret
- NotifyToken = "uPK8fG9xHfQaWuhNnGGEhN"
- NotifyEncodingAESKey = "N57BVy29HoxTlSlCJfm7cwLWu1KUjvEu5oqnyJXuMfm"
- WeWorkFinanceCorpRasPrivateKey = `
- -----BEGIN RSA PRIVATE KEY-----
- MIIEpAIBAAKCAQEAtbdCeRcXRrq/4sa8k/1aCRmSjZxHYKy/wG/iqX5GkX86T8xi
- ZOUgD+2eVKGwa8PJK2aH6DGWnGTDUgPr4/vTyToSf4roA+pJADOA4dtIlxUv3Rh2
- n+fI/O8spk+IZnZshhQIkpfYQUH9XKOm8EHAA9yYk3fmZh60iJ9R3cvQoscqEC+6
- K0VnlKvfiz3XpB+zK9yIOWWpqdtjIHWOCKzwZKqTjSheLBfDDKmu7N/YMquFBLvf
- rIPW9A1cBAo4b4tR8fbciuhlQymZQjn1RQAidZDwjnGZCTm10G/3xZSw8BNeTqjt
- TThTk0YTxE1fnEVKwfSFk6BxQDVcg40u3K960QIDAQABAoIBAAOMCHbjIb/ucMTt
- Mqyj1yBS2La9bHJBZPvNY0wCLD/2Tw3UND56b3oIHh1SS6aK25Amj/QTFbjHSb29
- 2FqqpXtp0Acfz8AV0Gd52ePuuxfB4N2MtvIPnO98/q7fYg739E3YscMkxiKd9mNa
- yW0qp2Qb5/mG718ibc016OvuqMuolYy96M6hmlLhbE0n6WQbw5i1t2QUPhLbABpa
- crBWSdWtJwku7WVETX9TGe3LZDNnjFWv95UnBsyajkI21NTLmY4VlqvUeT/ASftG
- su2aujY3EjNu++aGeAcI5f1kPi+w0cI02GDUA9VAe8tsR9GZ8G53K/kAUAfmwHKG
- 81e8wi0CgYEAt5UwxXbCYS7aAVaselAm4U+uP8yAi+S+/kOZYCn4x2j/ceTSLAKT
- vhcsj1+f5Y3ScmLZXin58hkG3v7xS5B0WJ+yR8i8PEarEmbrttY707P5mfsXJS2x
- b7R5zhcIs3mvkHOH1dhZkyNlqo2YCMkUxCZdWnxde5DOx64Lz0X3v+UCgYEA/WWK
- oL9vrDK9kdhFaSGC6OD4lM+gS6CTHzOAKrYI00o3kkGiRlXNTzob9zLuzRzeU/k5
- wMXoAj8pvI2b/jTNws12G+dqVKq9He6hgHXwntCLGQnixACuIrAQLFNL/Kze4unE
- XtBLiIA5DbqSEfVO1kYFC4mr6i+E7e4ws8AfKH0CgYBmDyjH/lfd00AbUmYcsYaL
- 59JFYZltLEQJ8ubHkU3e/j5UwRMeqGgeW5/ILS8lXQzLzqxtLwTnVIZ/Xlgi3DHy
- OwXP5obPM7JTTqhoQv2Lmhh/RBn/70EfisPUkPWjYVj7A19WwSo7JIiWopUM/Uzw
- Jyvq7AzEbyKl29pw5sLvCQKBgQC0GZuyLN4+UcITCtgqpLrasit7+SZBGlv27S/H
- K6KSKkndFfE0dH98NBz0UasQ9de/b3/w17jS//m2HiAlSXqFXmr34j7c9o173MPE
- /g6LkkWLAk++Z41c8i5MkteLO4MfXG9JxForJpdmfpibUvM5sIKddLhPtn6QbZ8H
- 4yFCMQKBgQCgojMUEo3YQLh35sFFGuUemqmCU7/xj6BrjRX49o90MWXIeDIR2EhP
- nCGRqeOfiUR69ZrjOohlt//2PWmlE1Y8v/pKmwfqZdB/xtn3klxJaAy708TrjDe2
- +0PzPXuFP5iyIxa44mEakRvw9RbCvXg5VNiwztHoWj+Om8P9+LMCgw==
- -----END RSA PRIVATE KEY-----`
- )
- type WeWorkMsgAuditClient struct {
- Client *msgaudit.Client
- }
- type WeWorkExternalContactClient struct {
- Client *workwx.WorkwxApp
- }
- type WeWorkMsgAuditApiClient struct {
- Client *workwx.WorkwxApp
- }
- type WeWorkUserNameClient struct {
- Client *workwx.WorkwxApp
- }
- func NewWeWorkMsgAuditClient() *WeWorkMsgAuditClient {
- wc := wechat.NewWechat()
- memory := cache.NewMemory()
- //memory := cache.NewRedis(global.Redis)
- cfg := &config.Config{
- CorpID: WeWorkCorpID,
- CorpSecret: WeWorkFinanceCorpSecret,
- AgentID: "",
- Cache: memory,
- RasPrivateKey: WeWorkFinanceCorpRasPrivateKey,
- Token: "",
- EncodingAESKey: "",
- }
- wework := wc.GetWork(cfg)
- client, err := wework.GetMsgAudit()
- if err != nil {
- return nil
- }
- return &WeWorkMsgAuditClient{
- Client: client,
- }
- }
- func NewWeWorkExternalContactClient() *WeWorkExternalContactClient {
- client := workwx.New(WeWorkCorpID)
- // work with individual apps
- app := client.WithApp(WeWorkExternalContactCorpSecret, agentID)
- return &WeWorkExternalContactClient{
- Client: app,
- }
- }
- func NewWeWorkUserNameClient() *WeWorkUserNameClient {
- client := workwx.New(WeWorkCorpID)
- // work with individual apps
- app := client.WithApp(WeWorkUserNameAgentSecret, UserNameAgentID)
- return &WeWorkUserNameClient{
- Client: app,
- }
- }
- func NewWeWorkMsgAuditApiClient() *WeWorkMsgAuditApiClient {
- client := workwx.New(WeWorkCorpID)
- // work with individual apps
- app := client.WithApp(WeWorkFinanceCorpSecret, agentID)
- return &WeWorkMsgAuditApiClient{
- Client: app,
- }
- }
- func (we *WeWorkExternalContactClient) GetExternalContact(externalUserid string) (ret *workwx.ExternalContactInfo, err error) {
- //ret, err := we.Client.GetExternalContact("wmPhSiBwAA8bqgBzwlPcttfPZbZh7heQ")
- ret, err = we.Client.GetExternalContact(externalUserid)
- return
- }
- func (we *WeWorkExternalContactClient) BatchListExternalContact(userId string) {
- //userId := "YanLiNa"
- ret, err := we.Client.BatchListExternalContact(userId, "", 100)
- if err != nil {
- fmt.Println(err)
- return
- }
- fmt.Println(ret)
- }
- func (wa *WeWorkMsgAuditApiClient) GetMsgAuditGroupChat(roomId string) (ret *workwx.MsgAuditGroupChat, err error){
- // roomId := "wrPhSiBwAAqC4Ctn430KPc-TEu8UtmAw"
- ret, err = wa.Client.GetMsgAuditGroupChat(roomId)
- if err != nil {
- fmt.Println(err)
- return
- }
- fmt.Println(ret)
- return
- }
- func (we *WeWorkUserNameClient) GetUser(userId string) (ret *workwx.UserInfo, err error) {
- ret, err = we.Client.GetUser(userId)
- if err != nil {
- fmt.Println(err)
- return
- }
- fmt.Println(ret)
- return
- }
|