Live2D

Spring AOP 日志监控

代码如下

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:是aspectj框架中的注解
 *   作用:表示当前类是切面类
 *    切面类:用来增强业务方法功能的类
 *    位置:类的上面使用
 *
 */
@Aspect
@Component
public class AspectConfig {

    @Autowired
    private UpdateLogService updateLogService;

    private static final Logger logger = LoggerFactory.getLogger(StaffVacationServiceProvider.class);

    /**
     *  aop 监控员工年假添加操作
     * @param vacation
     * @param res
     */

    @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 表中查看");
        }

    }
    /**
     *  aop 监控员工年假删除操作
     * @param staffNo,updateUser
     * @param res
     */
    @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 表中查看");
        }

    }
    /**
     *  aop 监控员工年假修改操作
     * @param vacation
     * @param res
     */

    @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 表中查看");
        }

    }

    /**
     *  aop 监控助理赋予权限操作
     * @param assistantDTO
     * @param res
     */

    @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 表中查看");
        }

    }
}

posted @ 2021-11-04 14:45  没有梦想的java菜鸟  阅读(51)  评论(0编辑  收藏  举报