代码如下
package com.icitic.applet.staffvacation.config;
import com.icitic.applet.staffvacation.component.UpdateLogService;
import com.icitic.applet.staffvacation.services.dto.AssistantDTO;
import com.icitic.applet.staffvacation.services.dto.ResponseResultDTO;
import com.icitic.applet.staffvacation.services.dto.UpdateLog;
import com.icitic.applet.staffvacation.services.dto.VacationInfoDTO;
import com.icitic.applet.staffvacation.services.provider.StaffVacationServiceProvider;
import com.icitic.applet.staffvacation.util.FinalUtils;
import com.icitic.mc.common.web.Response;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
@Aspect
@Component
public class AspectConfig {
@Autowired
private UpdateLogService updateLogService;
private static final Logger logger = LoggerFactory.getLogger(StaffVacationServiceProvider.class);
@AfterReturning(value = "execution(* *..StaffVacationServiceProvider.saveVacation(..)) && args(vacation) ",returning = "res")
public void AddAfter(VacationInfoDTO vacation,Response<ResponseResultDTO> res){
logger.info("执行员工年假信息添加操作====>");
if (res.getMessage().equals(FinalUtils.MSG_ADD_SUCCESS)&&res.getCode().equals(FinalUtils.CODE_NORMAL)){
logger.info("添加员工年假信息成功====>");
UpdateLog log = new UpdateLog();
log.setUpdateContent("添加了一条员工年假信息,添加的员工信息为" + vacation);
log.setUpdateUser(vacation.getUpdateUser());
log.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
updateLogService.addLogInfo(log);
logger.info("添加了一条员工年假信息,添加的员工信息为:"+vacation);
logger.info("日志详情请在 update_log 表中查看");
}
}
@AfterReturning(value = "execution(* *..StaffVacationServiceProvider.deleteVacation(..)) && args(staffNo,updateUser)",returning = "res")
public void DeleteAfter( String staffNo, String updateUser,Response<ResponseResultDTO> res){
logger.info("执行员工年假信息删除操作====>");
if (res.getMessage().equals(FinalUtils.MSG_DELETE_SUCCESS)&&res.getCode().equals(FinalUtils.CODE_NORMAL)){
logger.info("删除员工年假信息成功====>");
UpdateLog log = new UpdateLog();
log.setUpdateContent("删除一条员工年假信息,删除的员工编号为" + staffNo);
log.setUpdateUser(updateUser);
log.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
updateLogService.addLogInfo(log);
logger.info("删除了一条员工年假信息,删除的员工编号为为"+staffNo);
logger.info("日志详情请在 update_log 表中查看");
}
}
@AfterReturning(value = "execution(* *..StaffVacationServiceProvider.updateVacation(..)) && args(vacation)",returning = "res")
public void UpdateAfter(VacationInfoDTO vacation ,Response<ResponseResultDTO> res){
logger.info("执行员工年假信息修改操作====>");
if (res.getMessage().equals(FinalUtils.MSG_MODIFY_SUCCESS)&&res.getCode().equals(FinalUtils.CODE_NORMAL)){
logger.info("修改员工年假信息成功====>");
UpdateLog log = new UpdateLog();
log.setUpdateContent("修改了一条员工年假信息" + vacation);
log.setUpdateUser(vacation.getUpdateUser());
log.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
updateLogService.addLogInfo(log);
logger.info("修改了一条员工年假信息,删除的员工编号为为:"+vacation);
logger.info("日志详情请在 update_log 表中查看");
}
}
@AfterReturning(value = "execution(* *..AssistantInfoServiceProvider.updateDepInfo(..)) && args(assistantDTO)",returning = "res")
public void AssistantAfter(AssistantDTO assistantDTO , Response<ResponseResultDTO> res){
logger.info("执行助理赋予权限修改操作====>");
if (res.getMessage().equals(FinalUtils.MSG_MODIFY_SUCCESS)&&res.getCode().equals(FinalUtils.CODE_NORMAL)){
logger.info("执行助理赋予权限成功====>");
UpdateLog log = new UpdateLog();
log.setUpdateContent("修改了部门权限,修改的助理编号为" + assistantDTO.getStaffNo() + ",部门编号为" + assistantDTO.getDepartList().toString());
log.setUpdateUser(assistantDTO.getUpdateUser());
log.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
updateLogService.addLogInfo(log);
logger.info("修改了部门权限,修改的助理编号为" + assistantDTO.getStaffNo() + ",改动的部门编号为" + assistantDTO.getDepartList().toString());
logger.info("日志详情请在 update_log 表中查看");
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)