Skip to content

Commit bb07717

Browse files
authored
🆕 #1416: 企业微信增加获取OA审批模板详情接口
1 parent 6aa8559 commit bb07717

21 files changed

+386
-7
lines changed

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpOaService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,4 +124,12 @@ WxCpApprovalInfo getApprovalInfo(@NonNull Date startTime, @NonNull Date endTime,
124124
List<WxCpDialRecord> getDialRecord(Date startTime, Date endTime, Integer offset,
125125
Integer limit) throws WxErrorException;
126126

127+
/**
128+
* 获取审批模板详情
129+
* @param templateId 模板ID
130+
* @return
131+
* @throws WxErrorException
132+
*/
133+
WxCpTemplateResult getTemplateDetail(@NonNull String templateId)throws WxErrorException;
134+
127135
}

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpOaServiceImpl.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,13 @@ public List<WxCpDialRecord> getDialRecord(Date startTime, Date endTime, Integer
209209
}.getType()
210210
);
211211
}
212+
213+
@Override
214+
public WxCpTemplateResult getTemplateDetail(@NonNull String templateId) throws WxErrorException {
215+
JsonObject jsonObject = new JsonObject();
216+
jsonObject.addProperty("template_id",templateId);
217+
final String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_TEMPLATE_DETAIL);
218+
String responseContent = this.mainService.post(url, jsonObject.toString());
219+
return WxCpGsonBuilder.create().fromJson(responseContent,WxCpTemplateResult.class);
220+
}
212221
}

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/WxCpCheckinData.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,8 @@ public class WxCpCheckinData implements Serializable {
4747

4848
@SerializedName("mediaids")
4949
private List<String> mediaIds;
50+
51+
private Integer lat;
52+
53+
private Integer lng;
5054
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package me.chanjar.weixin.cp.bean.oa;
2+
3+
import com.google.gson.JsonObject;
4+
import com.google.gson.annotations.SerializedName;
5+
import lombok.Data;
6+
import me.chanjar.weixin.cp.bean.oa.templatedata.TemplateContent;
7+
import me.chanjar.weixin.cp.bean.oa.templatedata.TemplateControls;
8+
import me.chanjar.weixin.cp.bean.oa.templatedata.TemplateTitle;
9+
10+
import java.io.Serializable;
11+
import java.util.List;
12+
import java.util.Map;
13+
14+
/**
15+
* 审批模板详情
16+
*
17+
18+
*/
19+
@Data
20+
public class WxCpTemplateResult implements Serializable {
21+
private static final long serialVersionUID = 6690547131189343887L;
22+
23+
@SerializedName("errcode")
24+
private Integer errCode;
25+
26+
@SerializedName("errmsg")
27+
private String errMsg;
28+
29+
@SerializedName("template_names")
30+
private List<TemplateTitle> templateNames;
31+
32+
@SerializedName("template_content")
33+
private TemplateContent templateContent;
34+
35+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package me.chanjar.weixin.cp.bean.oa.templatedata;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import lombok.Data;
5+
import me.chanjar.weixin.cp.bean.oa.templatedata.control.*;
6+
7+
import java.io.Serializable;
8+
9+
/**
10+
* 模板控件配置,包含了部分控件类型的附加类型、属性,详见附录说明。
11+
* 目前有配置信息的控件类型有:
12+
* Date-日期/日期+时间;
13+
* Selector-单选/多选;
14+
* Contact-成员/部门;
15+
* Table-明细;
16+
* Attendance-假勤组件(请假、外出、出差、加班)
17+
18+
*/
19+
@Data
20+
public class TemplateConfig implements Serializable {
21+
22+
private static final long serialVersionUID = 6993937809371277669L;
23+
24+
private TemplateDate date;
25+
26+
private TemplateSelector selector;
27+
28+
private TemplateContact contact;
29+
30+
private TemplateTable table;
31+
32+
private TemplateAttendance attendance;
33+
34+
@SerializedName("vacation_list")
35+
private TemplateVacation vacationList;
36+
37+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package me.chanjar.weixin.cp.bean.oa.templatedata;
2+
3+
import lombok.Data;
4+
5+
import java.io.Serializable;
6+
import java.util.List;
7+
8+
/**
9+
10+
*/
11+
@Data
12+
public class TemplateContent implements Serializable {
13+
14+
private static final long serialVersionUID = -5640250983775840865L;
15+
16+
private List<TemplateControls> controls;
17+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package me.chanjar.weixin.cp.bean.oa.templatedata;
2+
3+
import lombok.Data;
4+
5+
import java.io.Serializable;
6+
import java.util.Map;
7+
8+
/**
9+
* @author Administrator
10+
*/
11+
@Data
12+
public class TemplateControls implements Serializable {
13+
14+
private static final long serialVersionUID = -7496794407355510374L;
15+
16+
private TemplateProperty property;
17+
18+
private TemplateConfig config;
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package me.chanjar.weixin.cp.bean.oa.templatedata;
2+
3+
import lombok.Data;
4+
5+
import java.io.Serializable;
6+
7+
/**
8+
9+
*/
10+
@Data
11+
public class TemplateDateRange implements Serializable {
12+
13+
private static final long serialVersionUID = -9209035461466543180L;
14+
15+
/**
16+
* 时间刻度:hour-精确到分钟, halfday—上午/下午
17+
*/
18+
private String type;
19+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package me.chanjar.weixin.cp.bean.oa.templatedata;
2+
3+
import java.io.Serializable;
4+
import java.util.List;
5+
6+
/**
7+
8+
*/
9+
public class TemplateOptions implements Serializable {
10+
11+
private static final long serialVersionUID = -7883792668568772078L;
12+
13+
private String key;
14+
15+
private List<TemplateTitle> value;
16+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package me.chanjar.weixin.cp.bean.oa.templatedata;
2+
3+
import com.google.gson.JsonObject;
4+
import com.google.gson.annotations.SerializedName;
5+
import me.chanjar.weixin.cp.bean.oa.WxCpTemplateResult;
6+
import me.chanjar.weixin.cp.bean.oa.templatedata.control.TemplateContact;
7+
8+
import java.io.Serializable;
9+
import java.util.List;
10+
import java.util.Map;
11+
12+
/**
13+
14+
*/
15+
public class TemplateProperty implements Serializable {
16+
17+
private static final long serialVersionUID = -3429251158540167453L;
18+
19+
private String control;
20+
21+
private String id;
22+
23+
private List<TemplateTitle> title;
24+
25+
/**
26+
* 控件说明,向申请者展示的控件填写说明,若配置了多语言则会包含中英文的控件说明,默认为zh_CN中文
27+
*/
28+
private List<TemplateTitle> placeholder;
29+
30+
/**
31+
* 是否必填:1-必填;0-非必填
32+
*/
33+
private Integer require;
34+
/**
35+
* 是否参与打印:1-不参与打印;0-参与打印
36+
*/
37+
@SerializedName("un_print")
38+
private Integer unPrint;
39+
40+
private TemplateConfig config;
41+
}

0 commit comments

Comments
 (0)