diff --git a/src/main/java/com/dsideal/FengHuang/DingTalk/Full.java b/src/main/java/com/dsideal/FengHuang/DingTalk/Full.java index c65a67c..382ed1e 100644 --- a/src/main/java/com/dsideal/FengHuang/DingTalk/Full.java +++ b/src/main/java/com/dsideal/FengHuang/DingTalk/Full.java @@ -31,7 +31,7 @@ public class Full { //OrgPerson.InitOrg(accessToken, rOrg); //同步人员 - //OrgPerson.initPerson(accessToken, rOrg,10);//这里限定了上限人数为10 + OrgPerson.initPerson(accessToken, rOrg,10);//这里限定了上限人数为10 //初始化角色组 //long groupId = RolePerson.createRoleGroup(accessToken, "义务教育阶段角色组"); @@ -39,7 +39,7 @@ public class Full { //RolePerson.initRole(accessToken, groupId); //同步人员角色信息 - RolePerson.initPersonRole(accessToken, rOrg); + //RolePerson.initPersonRole(accessToken, rOrg); // 记录全量同步完成时间 Model.finishInit(); diff --git a/src/main/java/com/dsideal/FengHuang/DingTalk/Test/GenerateAccessToken.java b/src/main/java/com/dsideal/FengHuang/DingTalk/Test/GenerateAccessToken.java new file mode 100644 index 0000000..6159c84 --- /dev/null +++ b/src/main/java/com/dsideal/FengHuang/DingTalk/Test/GenerateAccessToken.java @@ -0,0 +1,13 @@ +package com.dsideal.FengHuang.DingTalk.Test; + +import com.dsideal.FengHuang.DingTalk.Util.DingTalkCommon; + +public class GenerateAccessToken { + public static void main(String[] args) throws Exception { + String ak = "dingatobyfajdlmx84sa"; + String sk = "2nyltN-jtxiJ8_25TRc5bnSGOcF20S9blJQqlZYmJRg58J-m6O6Ufe6VqmPeq1Sn"; + DingTalkCommon.Start(); + String aceessToken = DingTalkCommon.getAccessToken(ak, sk); + System.out.printf(aceessToken); + } +} diff --git a/src/main/java/com/dsideal/FengHuang/DingTalk/Test/SendMessage.java b/src/main/java/com/dsideal/FengHuang/DingTalk/Test/SendMessage.java new file mode 100644 index 0000000..500535d --- /dev/null +++ b/src/main/java/com/dsideal/FengHuang/DingTalk/Test/SendMessage.java @@ -0,0 +1,57 @@ +package com.dsideal.FengHuang.DingTalk.Test; + +import com.dingtalk.api.DefaultDingTalkClient; +import com.dingtalk.api.DingTalkClient; +import com.dingtalk.api.request.OapiMessageCorpconversationAsyncsendV2Request; +import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response; +import com.dsideal.FengHuang.DingTalk.Util.DingTalkCommon; +import com.jfinal.kit.PropKit; + +//开发文档 +//https://open.dingtalk.com/document/orgapp/asynchronous-sending-of-enterprise-session-messages + +/* +接口调用量说明 +钉钉标准版接口累计可调用次数为1万次/月,当前接口会消耗调用次数。若该调用量无法满足需求,你可升级钉钉专业版(Open API调用量50万次/月) +或钉钉专属版(Open API调用量500万次/月)扩容调用次数。 + +发送工作通知消息频率限制 +企业内部应用发送消息单次最多只能给5000人发送,第三方企业应用发送消息单次最多能给1000人发送。 +(1)给同一员工一天只能发送一条内容相同的消息通知。 +(2)企业内部应用每天给每个员工最多可发送500条消息通知,第三方企业应用最多可发送100条。 +(3)企业内部应用或第三方企业应用发送消息时,每分钟最多有5000人可以接收到消息。 +*/ +public class SendMessage { + public static void main(String[] args) throws Exception { + DingTalkCommon.Start(); + //accessToken + final String appKey = PropKit.get("appKey"); + String appSecret = PropKit.get("appSecret"); + Long agentId = PropKit.getLong("agentId"); + String accessToken = DingTalkCommon.getAccessToken(appKey, appSecret); + + DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2"); + OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request(); + //发送消息时使用的微应用的AgentID + request.setAgentId(agentId); + //user123,user456 + //接收者的userid列表 + //刘丽丽:UserID:87524 ,同时,也是云平台中的person_id=87524,这个是从数据库中同步上去的 + //request.setUseridList("87524"); + + //黄海:UserID:30376212031287987,因为黄海不是隶属于103中学,而是隶属于阿远云创科技公司,这个UserID并不是我从数据库表中同步上去的 + request.setUseridList("30376212031287987"); + request.setToAllUser(false); + OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg(); + //action_card + msg.setActionCard(new OapiMessageCorpconversationAsyncsendV2Request.ActionCard()); + msg.getActionCard().setTitle("我是美丽的提醒标题"); + msg.getActionCard().setMarkdown("### 我是大标题"); + msg.getActionCard().setSingleTitle("我是小标题4"); + msg.getActionCard().setSingleUrl("http://www.baidu.com");//我是点击后链接的地址 + msg.setMsgtype("action_card"); + request.setMsg(msg); + OapiMessageCorpconversationAsyncsendV2Response rsp = client.execute(request, accessToken); + System.out.println(rsp.getBody()); + } +} diff --git a/src/main/resource/application.properties b/src/main/resource/application.properties index f363280..7365451 100644 --- a/src/main/resource/application.properties +++ b/src/main/resource/application.properties @@ -8,7 +8,7 @@ slave_jdbcUrl=jdbc:postgresql://10.10.14.215:15400/base_db # redis ip -redis_ip=10.10.14.199 +redis_ip=10.10.14.14 # redis port redis_port=18890 # ============================================================== diff --git a/src/main/resource/dingtalk.properties b/src/main/resource/dingtalk.properties index 993cd75..e773440 100644 --- a/src/main/resource/dingtalk.properties +++ b/src/main/resource/dingtalk.properties @@ -1,19 +1,23 @@ +# 钉钉开放平台 +# https://open.dingtalk.com/ + +# 钉钉管理后台 +# https://oa.dingtalk.com/#/welcome + # 企业管理员可以直接点击登录钉钉开放平台 -【基本信息】-【开发信息(旧版)】查看企业的CorpID和SSOsecret。 # AK SK +# 登录钉钉开发者后台,企业内部,钉钉应用,黄海的数据同步测试 appKey=dingi9ltnrtnf66tolwk appSecret=8qk0JG6z2PUFeCH6WwAfJhN9lTwZE0Kifx776ZUn65dkfDrQpVNynamTQp68xRrZ - +# 黄海的数据同步测试 +agentId=2628309596 # user userName=18946740350 pwd=mdcija780522 - - # redis ip -redis_ip=127.0.0.1 +redis_ip=10.10.14.14 # redis port -redis_port=6379 - - +redis_port=18890 # 数据库信息 driverClassName=com.mysql.cj.jdbc.Driver user=root diff --git a/target/classes/application.properties b/target/classes/application.properties index f363280..7365451 100644 --- a/target/classes/application.properties +++ b/target/classes/application.properties @@ -8,7 +8,7 @@ slave_jdbcUrl=jdbc:postgresql://10.10.14.215:15400/base_db # redis ip -redis_ip=10.10.14.199 +redis_ip=10.10.14.14 # redis port redis_port=18890 # ============================================================== diff --git a/target/classes/dingtalk.properties b/target/classes/dingtalk.properties index 993cd75..e773440 100644 --- a/target/classes/dingtalk.properties +++ b/target/classes/dingtalk.properties @@ -1,19 +1,23 @@ +# 钉钉开放平台 +# https://open.dingtalk.com/ + +# 钉钉管理后台 +# https://oa.dingtalk.com/#/welcome + # 企业管理员可以直接点击登录钉钉开放平台 -【基本信息】-【开发信息(旧版)】查看企业的CorpID和SSOsecret。 # AK SK +# 登录钉钉开发者后台,企业内部,钉钉应用,黄海的数据同步测试 appKey=dingi9ltnrtnf66tolwk appSecret=8qk0JG6z2PUFeCH6WwAfJhN9lTwZE0Kifx776ZUn65dkfDrQpVNynamTQp68xRrZ - +# 黄海的数据同步测试 +agentId=2628309596 # user userName=18946740350 pwd=mdcija780522 - - # redis ip -redis_ip=127.0.0.1 +redis_ip=10.10.14.14 # redis port -redis_port=6379 - - +redis_port=18890 # 数据库信息 driverClassName=com.mysql.cj.jdbc.Driver user=root