main
黄海 2 years ago
parent 79c17ce7a9
commit 5d0b1aeb00

@ -1,9 +1,8 @@
package com.dsideal.FengHuang.DingTalk;
import com.alibaba.druid.filter.stat.StatFilter;
import com.dsideal.FengHuang.DingTalk.Util.Common;
import com.dsideal.FengHuang.DingTalk.Util.DingTalkCommon;
import com.dsideal.FengHuang.DingTalk.Util.Model;
import com.dsideal.FengHuang.DingTalk.Util.OrgPerson;
import com.dsideal.FengHuang.DingTalk.Util.RolePerson;
import com.dsideal.FengHuang.Util.CommonUtil;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
@ -12,6 +11,8 @@ import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.plugin.redis.RedisPlugin;
import java.util.List;
public class Init {
public static void main(String[] args_) throws Exception {
@ -19,7 +20,7 @@ public class Init {
final String appKey = PropKit.get("appKey");
String appSecret = PropKit.get("appSecret");
DruidPlugin druid = Common.createDruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim(), PropKit.get("driverClassName"));
DruidPlugin druid = DingTalkCommon.createDruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim(), PropKit.get("driverClassName"));
druid.start();
ActiveRecordPlugin arp = new ActiveRecordPlugin(druid);
@ -32,7 +33,7 @@ public class Init {
redis.start();
//accessToken
String accessToken = Common.getAccessToken(appKey, appSecret);
String accessToken = DingTalkCommon.getAccessToken(appKey, appSecret);
//同步钉钉与云平台中部门信息
String orgName = "长春市东光学校";
@ -49,35 +50,20 @@ public class Init {
//同步人员
Model.fillDeptListByDataBase(rOrg);//从数据库中获取最新的部门列表(已与钉钉匹配完毕)
OrgPerson.initPerson(accessToken, rOrg);
//OrgPerson.initPerson(accessToken, rOrg);
//创建角色组【执行一次即可】
//RolePerson.createRoleGroup(accessToken, "义务教育阶段角色组"); ---> 3779920123
//long groupId = 3779920123L;
//获取指定角色组下有哪些角色
//List<Record> list = RolePerson.getRoleList(accessToken, groupId);
//System.out.println(list);
//删除指定角色组下的角色
//RolePerson.delGroupRole(accessToken,groupId);
//同步角色
//RolePerson.syncRole(accessToken, groupId);
//获取钉钉侧指定角色下人员信息
// RolePerson.getRolePersonList(accessToken, 3780868223L, 0);
//
// for (int i = 0; i < RolePerson.rolePersonList.size(); i++) {
// System.out.println(RolePerson.rolePersonList.get(i));
// }
// //获取云平台侧指定角色下人员信息
// List<Record> list2 = Model.getRolePersonReleation();
// 手动删除原有的职务等角色组,执行下面的语句,并记录返回的角色组值---> 3786695368
//RolePerson.createRoleGroup(accessToken, "义务教育阶段角色组");
long groupId = 3786695368L;
//初始化角色
RolePerson.initRole(accessToken, groupId);
//获取云平台侧指定角色下人员信息
List<Record> list2 = Model.getRolePersonReleation();
CommonUtil.Print("恭喜,所有操作成功完成!");
}
}

@ -0,0 +1,407 @@
/*
Navicat Premium Data Transfer
Source Server : 10.10.14.199
Source Server Type : MySQL
Source Server Version : 100123 (10.1.23-MariaDB)
Source Host : 10.10.14.199:22066
Source Schema : dsideal_db
Target Server Type : MySQL
Target Server Version : 100123 (10.1.23-MariaDB)
File Encoding : 65001
Date: 15/06/2023 08:30:25
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for t_dingtalk_actioncount
-- ----------------------------
DROP TABLE IF EXISTS `t_dingtalk_actioncount`;
CREATE TABLE `t_dingtalk_actioncount` (
`year` int NOT NULL COMMENT '年份',
`month` int NOT NULL COMMENT '月份',
`remain_count` int NULL DEFAULT NULL COMMENT '剩余次数',
PRIMARY KEY (`year`, `month`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-- ----------------------------
-- Records of t_dingtalk_actioncount
-- ----------------------------
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2023, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2024, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2025, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2026, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2027, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2028, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2029, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2030, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2031, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2032, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2033, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2034, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2035, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2036, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2037, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2038, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2039, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2040, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2041, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2042, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2043, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2044, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2045, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2046, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2047, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2048, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2049, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2050, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2051, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2052, 12, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 1, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 2, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 3, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 4, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 5, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 6, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 7, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 8, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 9, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 10, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 11, 500000);
INSERT INTO `t_dingtalk_actioncount` VALUES (2053, 12, 500000);
SET FOREIGN_KEY_CHECKS = 1;

@ -0,0 +1,38 @@
/*
Navicat Premium Data Transfer
Source Server : 10.10.14.199
Source Server Type : MySQL
Source Server Version : 100123 (10.1.23-MariaDB)
Source Host : 10.10.14.199:22066
Source Schema : dsideal_db
Target Server Type : MySQL
Target Server Version : 100123 (10.1.23-MariaDB)
File Encoding : 65001
Date: 15/06/2023 08:53:56
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for t_dingtalk_role
-- ----------------------------
DROP TABLE IF EXISTS `t_dingtalk_role`;
CREATE TABLE `t_dingtalk_role` (
`role_id` int NOT NULL COMMENT '角色ID',
`role_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色名称',
`dingtalk_role_id` bigint NULL DEFAULT NULL COMMENT '在钉钉系统中的角色ID',
PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-- ----------------------------
-- Records of t_dingtalk_role
-- ----------------------------
INSERT INTO `t_dingtalk_role` VALUES (4, '普通教师', 3786531788);
INSERT INTO `t_dingtalk_role` VALUES (174, '班主任', 3786792098);
INSERT INTO `t_dingtalk_role` VALUES (323, '学校校长', 3780952031);
SET FOREIGN_KEY_CHECKS = 1;

@ -6,10 +6,15 @@ import com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenResponse;
import com.aliyun.dingtalkoauth2_1_0.models.GetSsoAccessTokenRequest;
import com.aliyun.dingtalkoauth2_1_0.models.GetSsoAccessTokenResponse;
import com.aliyun.tea.TeaException;
import com.dsideal.FengHuang.Util.CommonUtil;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.plugin.redis.Redis;
public class Common {
import java.util.Calendar;
public class DingTalkCommon {
public static DruidPlugin createDruidPlugin(String url, String username, String password, String driverClass) {
DruidPlugin druidPlugin = new DruidPlugin(url, username, password, driverClass);
//最大连接池数量
@ -34,6 +39,7 @@ public class Common {
druidPlugin.addFilter(new StatFilter());
return druidPlugin;
}
/**
* 使 Token Client
*
@ -139,7 +145,23 @@ public class Common {
}
}
public static void WriteActionTimes(){
public static void WriteActionTimes() {
//当前年、月
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // Calendar.MONTH返回的范围是0-11需要加1
String sql = "update t_dingtalk_actioncount set remain_count=remain_count-1 where year=? and month=?";
Db.update(sql, year, month);
sql = "select remain_count from t_dingtalk_actioncount where year=? and month=?";
Record record = Db.findFirst(sql, year, month);
int remain_count = record.getInt("remain_count");
int seconds = 2;
CommonUtil.Print("钉钉本月剩余API调用次数" + remain_count + ",为防止调用过于频繁,将休息" + seconds + "秒后继续操作!");
try {
Thread.sleep(seconds * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

@ -11,7 +11,7 @@ import com.jfinal.plugin.druid.DruidPlugin;
public class FillRemainCount {
public static void main(String[] args) {
PropKit.use("dingtalk.properties");
DruidPlugin druid = Common.createDruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim(), PropKit.get("driverClassName"));
DruidPlugin druid = DingTalkCommon.createDruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim(), PropKit.get("driverClassName"));
druid.start();
ActiveRecordPlugin arp = new ActiveRecordPlugin(druid);

@ -53,7 +53,7 @@ public class Model {
}
public static List<Record> getRoleList() {
String sql = "select * from t_im_role";
String sql = "select * from t_dingtalk_role";
return Db.find(sql);
}
@ -64,7 +64,7 @@ public class Model {
// 需要同步哪些人员角色信息
public static List<Record> getRolePersonReleation() {
String sql = "select t1.person_id,t1.role_id,t2.dingtalk_role_id from t_sys_person_role as t1 inner join t_im_role as t2 on t1.role_id=t2.role_id where t1.bureau_id=?";
String sql = "select t1.person_id,t1.role_id,t2.dingtalk_role_id from t_sys_person_role as t1 inner join t_dingtalk_role as t2 on t1.role_id=t2.role_id where t1.bureau_id=?";
List<Record> list=Db.find(sql);
return list;
}

@ -260,6 +260,7 @@ public class OrgPerson {
long deptId = record.getLong("dingtalk_dept_id");
createPerson(accessToken, String.valueOf(deptId), person_id, person_name, tel, "教师");
CommonUtil.Print("成功加入人员:" + person_name);
DingTalkCommon.WriteActionTimes();
}
}

@ -13,26 +13,6 @@ import com.taobao.api.ApiException;
import java.util.*;
public class RolePerson {
//暂未改修改,因为我们的角色与测试架构的角色存在冲突,不能在人家的环境中实现全部测试功能,需要搭建自己的专用服务器+架构
/*
--
DROP TABLE IF EXISTS `t_im_role`;
CREATE TABLE `t_im_role` (
`role_id` int NOT NULL COMMENT 'ID',
`role_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '',
`dingtalk_role_id` bigint NULL DEFAULT NULL COMMENT 'ID',
PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-- ----------------------------
-- Records of t_im_role
-- ----------------------------
INSERT INTO `t_im_role` VALUES (174, '', NULL);
INSERT INTO `t_im_role` VALUES (323, '', NULL);
insert into `t_im_role` VALUES (4,'',NULL);
TODO
//让产品经理想好加入到此表中表示需要与IM钉钉系统对接的角色
*/
//创建用户组,这个概念似乎不重要,可以手动创建即可
public static void createRoleGroup(String access_token, String group_name) throws ApiException {
@ -43,30 +23,6 @@ public class RolePerson {
System.out.println(rsp.getBody());
}
/**
*
*
* @param access_token
* @param group_id
* @throws ApiException
*/
public static List<Record> getRoleList(String access_token, long group_id) throws ApiException {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/getrolegroup");
OapiRoleGetrolegroupRequest req = new OapiRoleGetrolegroupRequest();
req.setGroupId(group_id);
OapiRoleGetrolegroupResponse rsp = client.execute(req, access_token);
JSONObject jo = JSONObject.parseObject(rsp.getBody());
JSONArray ja = jo.getJSONObject("role_group").getJSONArray("roles");
List<Record> list = new ArrayList();
for (int i = 0; i < ja.size(); i++) {
Record record = new Record();
record.set("role_id", ((JSONObject) ja.get(i)).getLong("role_id"));
record.set("role_name", ((JSONObject) ja.get(i)).getString("role_name"));
list.add(record);
}
return list;
}
public static long createRole(String access_token, String role_name, long group_id) throws ApiException {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/role/add_role");
OapiRoleAddRoleRequest req = new OapiRoleAddRoleRequest();
@ -85,21 +41,6 @@ public class RolePerson {
System.out.println(rsp.getBody());
}
public static void updateRole(String access_token, long role_id, String role_name) throws ApiException {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/role/update_role");
OapiRoleUpdateRoleRequest req = new OapiRoleUpdateRoleRequest();
req.setRoleId(role_id);
req.setRoleName(role_name);
OapiRoleUpdateRoleResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
}
public static void clearGroupRole(String access_token, long group_id) throws ApiException {
List<Record> list = getRoleList(access_token, group_id);
for (int i = 0; i < list.size(); i++) {
delRole(access_token, list.get(i).getLong("role_id"));
}
}
/**
*
@ -108,110 +49,19 @@ public class RolePerson {
* @param group_id
* @throws ApiException
*/
public static void syncRole(String access_token, long group_id) throws ApiException {
//1、钉钉侧有哪些角色
List<Record> listA = getRoleList(access_token, group_id);
//2、数据库有哪些角色
public static void initRole(String access_token, long group_id) throws ApiException {
//数据库有哪些角色
List<Record> listB = Model.getRoleList();
boolean flag;
//3、在A不在B删除之
for (int i = 0; i < listA.size(); i++) {
flag = false;
for (int j = 0; j < listB.size(); j++) {
if (listB.get(j).get("dingtalk_role_id") != null && listA.get(i).getLong("role_id") == listB.get(j).getLong("dingtalk_role_id")) {
flag = true;
break;
}
}
if (!flag) {
delRole(access_token, listA.get(i).getLong("role_id"));
CommonUtil.Print("成功删除钉钉侧角色:" + listA.get(i).getStr("role_name"));
}
}
//4、在B不在A增加之
//增加
for (int i = 0; i < listB.size(); i++) {
flag = false;
for (int j = 0; j < listA.size(); j++) {
if (listB.get(j).get("dingtalk_role_id") != null && listA.get(i).getLong("role_id") == listB.get(j).getLong("dingtalk_role_id")) {
flag = true;
break;
}
}
if (!flag) {
long dt_role_id = createRole(access_token, listB.get(i).getStr("role_name"), group_id);
//回写
Model.writeDingTalkRoleId(listB.get(i).getInt("role_id"), dt_role_id);
CommonUtil.Print("成功创建角色:" + listB.get(i).getStr("role_name"));
}
long dt_role_id = createRole(access_token, listB.get(i).getStr("role_name"), group_id);
//回写
Model.writeDingTalkRoleId(listB.get(i).getInt("role_id"), dt_role_id);
CommonUtil.Print("成功创建角色:" + listB.get(i).getStr("role_name"));
DingTalkCommon.WriteActionTimes();
}
//5、在A也在B看看是不是角色名称需要修改
//TODO,因为角色名称不般不随意变化不写这块代码也是OK的
}
/**
*
*
* @param access_token
* @param role_id
* @throws ApiException
*/
public static List<Record> rolePersonList = new ArrayList<>();
public static long SZ = 2l;
public static void getRolePersonList(String access_token, long role_id, long start) throws ApiException {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/simplelist");
OapiRoleSimplelistRequest req = new OapiRoleSimplelistRequest();
req.setRoleId(role_id);
req.setSize(SZ);
req.setOffset(start);
OapiRoleSimplelistResponse rsp = client.execute(req, access_token);
JSONObject jo = JSONObject.parseObject(rsp.getBody());
JSONArray ja = jo.getJSONObject("result").getJSONArray("list");
for (int i = 0; i < ja.size(); i++) {
Record record = new Record();
String name = ((JSONObject) ja.get(i)).getString("name");
String userid = ((JSONObject) ja.get(i)).getString("userid");
record.set("person_name", name);
record.set("person_id", userid);
rolePersonList.add(record);
}
if (jo.getJSONObject("result").getBoolean("hasMore")) {
getRolePersonList(access_token, role_id, start + SZ);
}
}
public static void syncRolePersonReleation() {
//getRolePersonList();
//Model.getRolePersonReleation();
}
/**
*
*
* @param accessToken
* @throws ApiException
*/
public static void getRoleList(String accessToken) throws ApiException {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/list");
OapiRoleListRequest req = new OapiRoleListRequest();
req.setSize(20L);
req.setOffset(0L);
OapiRoleListResponse rsp = client.execute(req, accessToken);
System.out.println(rsp.getBody());
}
public static void updateRole(String accessToken) throws ApiException {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/role/update_role");
OapiRoleUpdateRoleRequest req = new OapiRoleUpdateRoleRequest();
req.setRoleId(1560985325L);
req.setRoleName("服装制造");
OapiRoleUpdateRoleResponse rsp = client.execute(req, accessToken);
System.out.println(rsp.getBody());
}
public static void addRolePerson(String accessToken, String role_id, String ids) throws ApiException {

Loading…
Cancel
Save