Skip to content

Commit 8f30150

Browse files
authored
🎨 修复家校沟通部分接口问题
1 parent bac1853 commit 8f30150

File tree

7 files changed

+425
-15
lines changed

7 files changed

+425
-15
lines changed

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlApprovalInfo.java

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,225 @@
1212
/**
1313
* 审批信息
1414
*
15+
* 审批申请状态变化回调通知
16+
* https://developer.work.weixin.qq.com/document/path/91815
17+
*
18+
* 自建应用审批状态变化通知回调
19+
* https://developer.work.weixin.qq.com/document/path/90269
20+
*
1521
* @author Gyv12345
1622
*/
1723
@XStreamAlias("ApprovalInfo")
1824
@Data
1925
public class WxCpXmlApprovalInfo implements Serializable {
2026
private static final long serialVersionUID = 8136329462880646091L;
2127

28+
29+
// 自建应用审批状态变化通知回调
30+
/**
31+
* 审批单编号,由开发者在发起申请时自定义
32+
*/
33+
@XStreamAlias("ThirdNo")
34+
@XStreamConverter(value = XStreamCDataConverter.class)
35+
private String thirdNo;
36+
37+
/**
38+
* 审批模板名称
39+
*/
40+
@XStreamAlias("OpenSpName")
41+
@XStreamConverter(value = XStreamCDataConverter.class)
42+
private String openSpName;
43+
44+
/**
45+
* 审批模板id
46+
*/
47+
@XStreamAlias("OpenTemplateId")
48+
@XStreamConverter(value = XStreamCDataConverter.class)
49+
private String openTemplateId;
50+
51+
/**
52+
* 申请单当前审批状态:1-审批中;2-已通过;3-已驳回;4-已撤销
53+
*/
54+
@XStreamAlias("OpenSpStatus")
55+
private Integer openSpStatus;
56+
57+
/**
58+
* 提交者姓名
59+
*/
60+
@XStreamAlias("ApplyUserName")
61+
@XStreamConverter(value = XStreamCDataConverter.class)
62+
private String applyUserName;
63+
64+
/**
65+
* 提交者userid
66+
*/
67+
@XStreamAlias("ApplyUserId")
68+
@XStreamConverter(value = XStreamCDataConverter.class)
69+
private String applyUserId;
70+
71+
/**
72+
* 提交者所在部门
73+
*/
74+
@XStreamAlias("ApplyUserParty")
75+
@XStreamConverter(value = XStreamCDataConverter.class)
76+
private String applyUserParty;
77+
78+
/**
79+
* 提交者头像
80+
*/
81+
@XStreamAlias("ApplyUserImage")
82+
@XStreamConverter(value = XStreamCDataConverter.class)
83+
private String applyUserImage;
84+
85+
/**
86+
* 当前审批节点:0-第一个审批节点;1-第二个审批节点…以此类推
87+
*/
88+
@XStreamAlias("ApproverStep")
89+
private Integer approverStep;
90+
91+
/**
92+
* 审批流程信息
93+
*/
94+
@XStreamImplicit(itemFieldName = "ApprovalNodes")
95+
private List<ApprovalNode> approvalNodes;
96+
97+
/**
98+
* 抄送信息,可能有多个抄送人
99+
*/
100+
@XStreamImplicit(itemFieldName = "NotifyNodes")
101+
private List<NotifyNode> notifyNodes;
102+
103+
/**
104+
* 抄送人信息
105+
*/
106+
@XStreamAlias("NotifyNodes")
107+
@Data
108+
public static class NotifyNode implements Serializable {
109+
private static final long serialVersionUID = -979255011922209018L;
110+
111+
/**
112+
* 抄送人姓名
113+
*/
114+
@XStreamAlias("ItemName")
115+
@XStreamConverter(value = XStreamCDataConverter.class)
116+
private String itemName;
117+
118+
/**
119+
* 抄送人userid
120+
*/
121+
@XStreamAlias("ItemUserid")
122+
@XStreamConverter(value = XStreamCDataConverter.class)
123+
private String itemUserId;
124+
125+
/**
126+
* 抄送人所在部门
127+
*/
128+
@XStreamAlias("ItemParty")
129+
@XStreamConverter(value = XStreamCDataConverter.class)
130+
private String itemParty;
131+
132+
/**
133+
* 抄送人头像
134+
*/
135+
@XStreamAlias("ItemImage")
136+
@XStreamConverter(value = XStreamCDataConverter.class)
137+
private String itemImage;
138+
139+
}
140+
141+
/**
142+
* 审批流程信息,可以有多个审批节点
143+
*/
144+
@XStreamAlias("ApprovalNodes")
145+
@Data
146+
public static class ApprovalNode implements Serializable {
147+
private static final long serialVersionUID = -979255011922209018L;
148+
149+
/**
150+
* 节点审批操作状态:1-审批中;2-已同意;3-已驳回;4-已转审
151+
*/
152+
@XStreamAlias("NodeStatus")
153+
private Integer nodeStatus;
154+
155+
/**
156+
* 审批节点属性:1-或签;2-会签
157+
*/
158+
@XStreamAlias("NodeAttr")
159+
private Integer nodeAttr;
160+
161+
/**
162+
* 审批节点类型:1-固定成员;2-标签;3-上级
163+
*/
164+
@XStreamAlias("NodeType")
165+
private Integer nodeType;
166+
167+
/**
168+
* 审批节点信息,当节点为标签或上级时,一个节点可能有多个分支
169+
*/
170+
@XStreamImplicit(itemFieldName = "Items")
171+
private List<Item> items;
172+
173+
}
174+
175+
/**
176+
* 审批节点分支,当节点为标签或上级时,一个节点可能有多个分支
177+
*/
178+
@XStreamAlias("Items")
179+
@Data
180+
public static class Item implements Serializable {
181+
private static final long serialVersionUID = -979255011922209018L;
182+
183+
/**
184+
* 分支审批人姓名
185+
*/
186+
@XStreamAlias("ItemName")
187+
@XStreamConverter(value = XStreamCDataConverter.class)
188+
private String itemName;
189+
190+
/**
191+
* 分支审批人userid
192+
*/
193+
@XStreamAlias("ItemUserid")
194+
@XStreamConverter(value = XStreamCDataConverter.class)
195+
private String itemUserId;
196+
197+
/**
198+
* 分支审批人所在部门
199+
*/
200+
@XStreamAlias("ItemParty")
201+
@XStreamConverter(value = XStreamCDataConverter.class)
202+
private String itemParty;
203+
204+
/**
205+
* 分支审批人头像
206+
*/
207+
@XStreamAlias("ItemImage")
208+
@XStreamConverter(value = XStreamCDataConverter.class)
209+
private String itemImage;
210+
211+
/**
212+
* 分支审批人审批意见
213+
*/
214+
@XStreamAlias("ItemSpeech")
215+
@XStreamConverter(value = XStreamCDataConverter.class)
216+
private String itemSpeech;
217+
218+
/**
219+
* 分支审批审批操作状态:1-审批中;2-已同意;3-已驳回;4-已转审
220+
*/
221+
@XStreamAlias("ItemStatus")
222+
private Integer itemStatus;
223+
224+
/**
225+
* 分支审批人操作时间
226+
*/
227+
@XStreamAlias("ItemOpTime")
228+
private Long itemOpTime;
229+
230+
}
231+
232+
233+
// 审批申请状态变化回调通知
22234
/**
23235
* 审批编号
24236
*/
@@ -44,6 +256,7 @@ public class WxCpXmlApprovalInfo implements Serializable {
44256
@XStreamAlias("TemplateId")
45257
@XStreamConverter(value = XStreamCDataConverter.class)
46258
private String templateId;
259+
47260
/**
48261
* 审批申请提交时间,Unix时间戳
49262
*/
@@ -249,4 +462,5 @@ private static class CommentUserInfo implements Serializable {
249462
@XStreamAlias("UserId")
250463
private String userId;
251464
}
465+
252466
}

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlMessage.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,15 @@ public class WxCpXmlMessage implements Serializable {
474474
private SendLocationInfo sendLocationInfo = new SendLocationInfo();
475475

476476

477+
/**
478+
* 审批消息
479+
*
480+
* 审批申请状态变化回调通知
481+
* https://developer.work.weixin.qq.com/document/path/91815
482+
*
483+
* 自建应用审批状态变化通知回调
484+
* https://developer.work.weixin.qq.com/document/path/90269
485+
*/
477486
@XStreamAlias("ApprovalInfo")
478487
private WxCpXmlApprovalInfo approvalInfo = new WxCpXmlApprovalInfo();
479488

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/school/user/WxCpAllowScope.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public static class AllowScope implements Serializable {
3030
private List<Student> students;
3131

3232
@SerializedName("departments")
33-
private List<Integer> departments;
33+
private Department departments;
3434

3535
public static AllowScope fromJson(String json) {
3636
return WxCpGsonBuilder.create().fromJson(json, AllowScope.class);
@@ -42,6 +42,23 @@ public String toJson() {
4242

4343
}
4444

45+
@Setter
46+
@Getter
47+
public static class Department implements Serializable {
48+
49+
@SerializedName("partyid")
50+
private List<Integer> partyId;
51+
52+
public static Department fromJson(String json) {
53+
return WxCpGsonBuilder.create().fromJson(json, Department.class);
54+
}
55+
56+
public String toJson() {
57+
return WxCpGsonBuilder.create().toJson(this);
58+
}
59+
60+
}
61+
4562
@Setter
4663
@Getter
4764
public static class Student implements Serializable {

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpConsts.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public static class EventType {
110110

111111
/**
112112
* 企业微信审批事件推送(自建应用审批)
113+
* https://developer.work.weixin.qq.com/document/path/90269
113114
*/
114115
public static final String OPEN_APPROVAL_CHANGE = "open_approval_change";
115116

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/xml/XStreamTransformer.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package me.chanjar.weixin.cp.util.xml;
22

3-
import java.io.InputStream;
4-
import java.util.HashMap;
5-
import java.util.Map;
6-
73
import com.thoughtworks.xstream.XStream;
84
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
9-
import me.chanjar.weixin.cp.bean.message.*;
105
import me.chanjar.weixin.cp.bean.WxCpTpXmlPackage;
6+
import me.chanjar.weixin.cp.bean.message.*;
7+
8+
import java.io.InputStream;
9+
import java.util.HashMap;
10+
import java.util.Map;
1111

1212
public class XStreamTransformer {
1313

0 commit comments

Comments
 (0)