From 4da3b3c565c157c93dcae26e3086ebbc53603117 Mon Sep 17 00:00:00 2001 From: erdanergou Date: Sun, 29 Jan 2023 16:01:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BC=81=E4=B8=9A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E5=AE=A1=E6=89=B9=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../depository_manage/config/QyWxConfig.java | 74 +++++++++++++++++++ .../entity/qywxDepartment.java | 16 ++++ .../depository_manage/entity/qywxLabel.java | 12 +++ .../entity/qywxLabelUser.java | 12 +++ .../depository_manage/TestForOther.java | 10 +++ 5 files changed, 124 insertions(+) create mode 100644 src/main/java/com/dreamchaser/depository_manage/entity/qywxDepartment.java create mode 100644 src/main/java/com/dreamchaser/depository_manage/entity/qywxLabel.java create mode 100644 src/main/java/com/dreamchaser/depository_manage/entity/qywxLabelUser.java diff --git a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java index 9f01d7cf..91bfea8a 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java @@ -2,9 +2,14 @@ package com.dreamchaser.depository_manage.config; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.dreamchaser.depository_manage.config.QyWx_template_card.*; import com.dreamchaser.depository_manage.entity.UserByPort; +import com.dreamchaser.depository_manage.entity.qywxDepartment; +import com.dreamchaser.depository_manage.entity.qywxLabel; +import com.dreamchaser.depository_manage.entity.qywxLabelUser; +import com.dreamchaser.depository_manage.exception.MyException; import com.dreamchaser.depository_manage.utils.HttpUtils; import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; import lombok.Data; @@ -153,4 +158,73 @@ public class QyWxConfig { return jsonObject; } + // 获取企业微信标签成员 + public static List getQyWxLabelUserList(String UserAgent){ + // 获取当前token + String tempToken = GetQYWXToken(UserAgent); + String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/tag/list?access_token=%s",tempToken); + String get = HttpUtils.doGet(url); + JSONObject jsonObject = JSONObject.parseObject(get); + Integer errcode = jsonObject.getInteger("errcode"); + List userIdList = new ArrayList<>(); + if(Integer.compare(0,errcode) == 0){ + JSONArray taglist = jsonObject.getJSONArray("taglist"); + for (Object o : taglist) { + qywxLabel qywxLabel = JSONObject.toJavaObject((JSON) o, qywxLabel.class); + if(qywxLabel.getTagname().contains("仓储中心负责人")){ + List qyWxLabelUserList = getQyWxLabelUserList(tempToken, qywxLabel.getTagid().toString()); + for (qywxLabelUser qywxLabelUser : qyWxLabelUserList) { + userIdList.add(qywxLabelUser.getUserid()); + } + break; + } + } + }else{ + throw new MyException("获取标签列表失败"); + } + return userIdList; + } + + public static List getQyWxLabelUserList(String tempToken,String TAGID){ + String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/tag/get?access_token=%s&tagid=%s",tempToken,TAGID); + String get = HttpUtils.doGet(url); + JSONObject jsonObject = JSONObject.parseObject(get); + Integer errcode = jsonObject.getInteger("errcode"); + List userList = new ArrayList<>(); + if(Integer.compare(errcode,0) == 0){ + JSONArray userlist = jsonObject.getJSONArray("userlist"); + for (Object o : userlist) { + qywxLabelUser qywxLabelUser = JSONObject.toJavaObject((JSON) o, qywxLabelUser.class); + userList.add(qywxLabelUser); + } + }else{ + throw new MyException("获取标签成员失败"); + } + return userList; + } + + + /** + * 用于获取当前企业微信部门详情 + * @param UserAgent + * @param id + * @return + */ + public static qywxDepartment getQyWxDepartment(String UserAgent,Integer id){ + String tempToken = GetQYWXToken(UserAgent); + String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/department/get?access_token=%s&id=%s",tempToken,id); + String get = HttpUtils.doGet(url); + JSONObject jsonObject = JSONObject.parseObject(get); + Integer errcode = jsonObject.getInteger("errcode"); + if(Integer.compare(errcode,0) == 0){ + qywxDepartment qywxDepartment = JSONObject.toJavaObject(jsonObject.getJSONObject("department"), qywxDepartment.class); + return qywxDepartment; + }else{ + throw new MyException("获取部门信息失败"); + } + } + + + + } diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/qywxDepartment.java b/src/main/java/com/dreamchaser/depository_manage/entity/qywxDepartment.java new file mode 100644 index 00000000..29de3a20 --- /dev/null +++ b/src/main/java/com/dreamchaser/depository_manage/entity/qywxDepartment.java @@ -0,0 +1,16 @@ +package com.dreamchaser.depository_manage.entity; + +import lombok.Data; + +/** + * 用于企业微信的部门列表 + */ +@Data +public class qywxDepartment { + private Integer id; + private Integer parentid; + private Integer order; + private String name; + private String name_en; + private String department_leader; + } diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/qywxLabel.java b/src/main/java/com/dreamchaser/depository_manage/entity/qywxLabel.java new file mode 100644 index 00000000..aa090178 --- /dev/null +++ b/src/main/java/com/dreamchaser/depository_manage/entity/qywxLabel.java @@ -0,0 +1,12 @@ +package com.dreamchaser.depository_manage.entity; + +import lombok.Data; + +/** + * 用于企业微信的标签 + */ +@Data +public class qywxLabel { + private Integer tagid; + private String tagname; +} diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/qywxLabelUser.java b/src/main/java/com/dreamchaser/depository_manage/entity/qywxLabelUser.java new file mode 100644 index 00000000..edb2e116 --- /dev/null +++ b/src/main/java/com/dreamchaser/depository_manage/entity/qywxLabelUser.java @@ -0,0 +1,12 @@ +package com.dreamchaser.depository_manage.entity; + +import lombok.Data; + +/** + * 用于存储企业微信标签成员信息 + */ +@Data +public class qywxLabelUser { + private String name; + private String userid; +} diff --git a/src/test/java/com/dreamchaser/depository_manage/TestForOther.java b/src/test/java/com/dreamchaser/depository_manage/TestForOther.java index 9017b09f..5e8fb035 100644 --- a/src/test/java/com/dreamchaser/depository_manage/TestForOther.java +++ b/src/test/java/com/dreamchaser/depository_manage/TestForOther.java @@ -1,10 +1,15 @@ package com.dreamchaser.depository_manage; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.dreamchaser.depository_manage.EPSON.EPDM.EPDMEnumrations; import com.dreamchaser.depository_manage.EPSON.EPDM.EPDMMediaLayoutRange; +import com.dreamchaser.depository_manage.config.PortConfig; +import com.dreamchaser.depository_manage.config.QyWxConfig; import com.dreamchaser.depository_manage.controller.EPSON.AddMediaLayoutDlg; import com.dreamchaser.depository_manage.controller.EPSON.PrintSettingsDlg; import com.dreamchaser.depository_manage.entity.EPSON.EPDM.MEDIA_LAYOUT; +import com.dreamchaser.depository_manage.entity.qywxDepartment; import com.dreamchaser.depository_manage.service.impl.EPSON.EPDM.EPDMWrapper; import com.dreamchaser.depository_manage.service.impl.EPSON.EPDM.EPDMWrapperImpl; import com.sun.jna.*; @@ -28,6 +33,11 @@ public class TestForOther { @Test public void Test() throws IOException { + // 51 + + qywxDepartment qyWxDepartment = QyWxConfig.getQyWxDepartment("123456789", 73); + System.out.println(qyWxDepartment.getDepartment_leader()); + }