Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 【企业微信】 获取打卡人员排班信息接口,返回结果结构修改 #2208

Merged
merged 1 commit into from
Jul 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ List<WxCpDialRecord> getDialRecord(Date startTime, Date endTime, Integer offset,
* @return 排班表信息
* @throws WxErrorException the wx error exception
*/
WxCpCheckinSchedule getCheckinScheduleList(Date startTime, Date endTime, List<String> userIdList) throws WxErrorException;
List<WxCpCheckinSchedule> getCheckinScheduleList(Date startTime, Date endTime, List<String> userIdList) throws WxErrorException;


}
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ public List<WxCpCheckinMonthData> getCheckinMonthData(Date startTime, Date endTi
}

@Override
public WxCpCheckinSchedule getCheckinScheduleList(Date startTime, Date endTime, List<String> userIdList) throws WxErrorException {
public List<WxCpCheckinSchedule> getCheckinScheduleList(Date startTime, Date endTime, List<String> userIdList) throws WxErrorException {
if (startTime == null || endTime == null) {
throw new WxRuntimeException("starttime and endtime can't be null");
}
Expand All @@ -298,9 +298,6 @@ public WxCpCheckinSchedule getCheckinScheduleList(Date startTime, Date endTime,
long endTimestamp = endTime.getTime() / 1000L;
long startTimestamp = startTime.getTime() / 1000L;

if (endTimestamp - startTimestamp < 0 || endTimestamp - startTimestamp >= MONTH_SECONDS) {
throw new WxRuntimeException("获取记录时间跨度不超过一个月");
}

JsonObject jsonObject = new JsonObject();
JsonArray jsonArray = new JsonArray();
Expand All @@ -318,8 +315,8 @@ public WxCpCheckinSchedule getCheckinScheduleList(Date startTime, Date endTime,
JsonObject tmpJson = GsonParser.parse(responseContent);
return WxCpGsonBuilder.create()
.fromJson(
tmpJson,
new TypeToken<WxCpCheckinSchedule>() {
tmpJson.get("schedule_list"),
new TypeToken<List<WxCpCheckinSchedule>>() {
}.getType()
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,132 +13,122 @@
@Data
public class WxCpCheckinSchedule implements Serializable {

private static final long serialVersionUID = 5399197385827384108L;
private static final long serialVersionUID = 5515056962298169806L;

/**
* schedule_list 排班表信息
* userid 打卡人员userid
*/
@SerializedName("schedule_list")
private List<UserScheduleInfo> scheduleList;
@SerializedName("userid")
private String userid;

@Data
public class UserScheduleInfo implements Serializable {
private static final long serialVersionUID = 5515056962298169806L;
/**
* userid 打卡人员userid
*/
@SerializedName("userid")
private String userid;
/**
* yearmonth 排班表月份,格式为年月,如202011
*/
@SerializedName("yearmonth")
private Integer yearmonth;

/**
* yearmonth 排班表月份,格式为年月,如202011
*/
@SerializedName("yearmonth")
private Integer yearmonth;
/**
* groupid 打卡规则id
*/
@SerializedName("groupid")
private Integer groupid;

/**
* groupid 打卡规则id
*/
@SerializedName("groupid")
private Integer groupid;
/**
* groupname 打卡规则名
*/
@SerializedName("groupname")
private String groupName;

/**
* groupname 打卡规则名
*/
@SerializedName("groupname")
private String groupName;
/**
* schedule 个人排班信息
*/
@SerializedName("schedule")
private UserSchedule schedule;

@Data
public class UserSchedule implements Serializable {
private static final long serialVersionUID = 9138985222324576857L;
/**
* schedule 个人排班信息
* scheduleList 个人排班表信息
*/
@SerializedName("schedule")
private UserSchedule schedule;
@SerializedName("scheduleList")
private List<Schedule> scheduleList;

@Data
public class UserSchedule implements Serializable {
private static final long serialVersionUID = 9138985222324576857L;
public class Schedule implements Serializable {

private static final long serialVersionUID = 8344153237512495728L;

/**
* scheduleList 个人排班表信息
* day 排班日期,为表示当月第几天的数字
*/
@SerializedName("scheduleList")
private List<Schedule> scheduleList;
@SerializedName("day")
private Integer day;

@Data
public class Schedule implements Serializable{
/**
* schedule_info 排班日期,为表示当月第几天的数字
*/
@SerializedName("schedule_info")
private ScheduleInfo scheduleInfo;

private static final long serialVersionUID = 8344153237512495728L;
@Data
public class ScheduleInfo implements Serializable {
private static final long serialVersionUID = 1317096341116256963L;
/**
* schedule_id 当日安排班次id,班次id也可在打卡规则中查询获得
*/
@SerializedName("schedule_id")
private Integer scheduleId;

/**
* day 排班日期,为表示当月第几天的数字
* schedule_name 排班日期,为表示当月第几天的数字
*/
@SerializedName("day")
private Integer day;
@SerializedName("schedule_name")
private String scheduleName;

/**
* schedule_info 排班日期,为表示当月第几天的数字
* time_section 排班日期,为表示当月第几天的数字
*/
@SerializedName("schedule_info")
private ScheduleInfo scheduleInfo;
@SerializedName("time_section")
private List<TimeSection> timeSection;


@Data
public class ScheduleInfo implements Serializable {
private static final long serialVersionUID = 1317096341116256963L;
public class TimeSection implements Serializable {
private static final long serialVersionUID = -3447467962751285748L;
/**
* schedule_id 当日安排班次id,班次id也可在打卡规则中查询获得
* id 时段id,为班次中某一堆上下班时间组合的id
*/
@SerializedName("schedule_id")
private Integer scheduleId;
@SerializedName("id")
private Integer id;

/**
* schedule_name 排班日期,为表示当月第几天的数字
* work_sec 上班时间。距当天00:00的秒数
*/
@SerializedName("schedule_name")
private String scheduleName;
@SerializedName("work_sec")
private Integer workSec;

/**
* time_section 排班日期,为表示当月第几天的数字
* off_work_sec 下班时间。距当天00:00的秒数
*/
@SerializedName("time_section")
private List<TimeSection> timeSection;


@Data
public class TimeSection implements Serializable {
private static final long serialVersionUID = -3447467962751285748L;
/**
* id 时段id,为班次中某一堆上下班时间组合的id
*/
@SerializedName("id")
private Integer id;

/**
* work_sec 上班时间。距当天00:00的秒数
*/
@SerializedName("work_sec")
private Integer workSec;

/**
* off_work_sec 下班时间。距当天00:00的秒数
*/
@SerializedName("off_work_sec")
private Integer offWorkSec;

/**
* remind_work_sec 上班提醒时间。距当天00:00的秒数
*/
@SerializedName("remind_work_sec")
private Integer remindWorkSec;

/**
* remind_off_work_sec 下班提醒时间。距当天00:00的秒数
*/
@SerializedName("remind_off_work_sec")
private Integer remindOffWorkSec;
}
@SerializedName("off_work_sec")
private Integer offWorkSec;

/**
* remind_work_sec 上班提醒时间。距当天00:00的秒数
*/
@SerializedName("remind_work_sec")
private Integer remindWorkSec;

/**
* remind_off_work_sec 下班提醒时间。距当天00:00的秒数
*/
@SerializedName("remind_off_work_sec")
private Integer remindOffWorkSec;
}
}
}


}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public void testGetCheckinScheduleData() throws ParseException, WxErrorException
Date startTime = DateFormatUtils.ISO_8601_EXTENDED_DATE_FORMAT.parse("2021-07-01");
Date endTime = DateFormatUtils.ISO_8601_EXTENDED_DATE_FORMAT.parse("2021-07-31");

WxCpCheckinSchedule results = wxService.getOaService()
List<WxCpCheckinSchedule> results = wxService.getOaService()
.getCheckinScheduleList(startTime, endTime, Lists.newArrayList("12003648"));

assertThat(results).isNotNull();
Expand Down