@@ -0,0 +1,49 @@
|
||||
package com.yunhai.homeleave.service.impl;
|
||||
|
||||
import com.yunhai.homeleave.entity.Leave;
|
||||
import com.yunhai.homeleave.enums.LeaveStatusEnum;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 请假消息通知占位服务。
|
||||
* <p>当前版本暂不接入微信/企微推送(计划待确认事项 5 的决策):
|
||||
* 各业务节点先保留调用位置,接入时在对应方法内补充推送实现即可,
|
||||
* 调用方无需改动。所有方法自身吞异常,绝不阻断请假主流程。</p>
|
||||
*/
|
||||
@Service
|
||||
public class LeaveNotifyService {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(LeaveNotifyService.class);
|
||||
|
||||
/** 学生提交申请 / 教师登记后:通知审批人(班主任) */
|
||||
public void onSubmitted(Leave leave) {
|
||||
// TODO 接入微信/企微推送:向该班班主任推送「有待审核请假」消息
|
||||
log.info("[notify:placeholder] 请假提交提醒占位: id={}, stu={}, class={}, status={}",
|
||||
leave.getId(), leave.getStuName(), leave.getClassName(),
|
||||
LeaveStatusEnum.nameById(leave.getStatus()));
|
||||
}
|
||||
|
||||
/** 教师审批后(审核/撤销审批/销假审批):通知学生(及其家长) */
|
||||
public void onAudited(Leave leave, Integer targetStatus) {
|
||||
// TODO 接入微信/企微推送:向学生/家长推送审批结果
|
||||
log.info("[notify:placeholder] 请假审批结果占位: id={}, stu={}, target={}",
|
||||
leave.getId(), leave.getStuName(), LeaveStatusEnum.nameById(targetStatus));
|
||||
}
|
||||
|
||||
/** 学生撤销(直接撤销或转待撤销)后:通知班主任 */
|
||||
public void onWithdraw(Leave leave) {
|
||||
// TODO 接入微信/企微推送:向班主任推送撤销申请
|
||||
log.info("[notify:placeholder] 请假撤销占位: id={}, stu={}, status={}",
|
||||
leave.getId(), leave.getStuName(), LeaveStatusEnum.nameById(leave.getStatus()));
|
||||
}
|
||||
|
||||
/** 销假动作后(学生申请销假 / 教师销假):通知对端 */
|
||||
public void onReportBack(Leave leave, boolean byStudent) {
|
||||
// TODO 接入微信/企微推送:销假申请/结果通知
|
||||
log.info("[notify:placeholder] 销假占位: id={}, stu={}, byStudent={}, status={}",
|
||||
leave.getId(), leave.getStuName(), byStudent,
|
||||
LeaveStatusEnum.nameById(leave.getStatus()));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user