Browse Source

添加企业微信审批相关功能

lwx_dev
erdanergou 3 years ago
parent
commit
4da3b3c565
  1. 74
      src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java
  2. 16
      src/main/java/com/dreamchaser/depository_manage/entity/qywxDepartment.java
  3. 12
      src/main/java/com/dreamchaser/depository_manage/entity/qywxLabel.java
  4. 12
      src/main/java/com/dreamchaser/depository_manage/entity/qywxLabelUser.java
  5. 10
      src/test/java/com/dreamchaser/depository_manage/TestForOther.java

74
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<String> 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<String> 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<qywxLabelUser> qyWxLabelUserList = getQyWxLabelUserList(tempToken, qywxLabel.getTagid().toString());
for (qywxLabelUser qywxLabelUser : qyWxLabelUserList) {
userIdList.add(qywxLabelUser.getUserid());
}
break;
}
}
}else{
throw new MyException("获取标签列表失败");
}
return userIdList;
}
public static List<qywxLabelUser> 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<qywxLabelUser> 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("获取部门信息失败");
}
}
}

16
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;
}

12
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;
}

12
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;
}

10
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());
}

Loading…
Cancel
Save