PlanLogger.java 2.21 KB
package com.bsth.service.schedule.log;

import com.bsth.control_v2.plan_module.common.dto.schedule.PlanInfoDto;
import com.bsth.control_v2.plan_module.common.enums.log.ModuleOperatorType;
import com.bsth.control_v2.plan_module.common.enums.log.ModuleType;
import com.bsth.control_v2.plan_module.common.enums.log.OperatorType;
import com.bsth.entity.schedule.SchedulePlan;
import com.bsth.entity.schedule.log.ModuleOperatorLog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * 排班计划日志。
 */
@Service
public class PlanLogger {
    /** 日志记录器 */
    private static final Logger LOGGER = LoggerFactory.getLogger(PlanLogger.class);

    /**
     * 生成排班计划日志。
     * @param startTime 操作开始时间
     * @param endTime 操作结束时间
     */
    public void createLog(Date startTime, Date endTime) {
        ModuleOperatorLog moduleOperatorLog = new ModuleOperatorLog();
        moduleOperatorLog.setMessage("排班生成!");
        moduleOperatorLog.setModuleType(ModuleType.SCHEDULE);
        moduleOperatorLog.setOperatorType(OperatorType.NEW);
        moduleOperatorLog.setModuleOperatorType(ModuleOperatorType.SCHEDULE_NEW);
        moduleOperatorLog.setOpStartTime(startTime);
        moduleOperatorLog.setOpEndTime(endTime);
        moduleOperatorLog.setOpUserName("root");
        moduleOperatorLog.setOpUserCode("root");
        moduleOperatorLog.setOpEntityClass(SchedulePlan.class.getName());
        moduleOperatorLog.setOpBeforeJson("{}");
        moduleOperatorLog.setOpAfterJson("{}");

        // 如果需要opArg1,opArg2,opArg3,从第2个参数加起,如:LOGGER.info("", {moduleOperatorLog}, {opArg1}, {opArg2})
        LOGGER.info("排班计划生成日志:{}", moduleOperatorLog);
    }

    /**
     * 修改排班计划明细日志。
     * @param startTime 操作开始时间
     * @param beforeData 修改前数据
     * @param endTime 操作结束时间
     * @param afterData 修改后数据
     */
    public void modifyInfoLog(Date startTime, PlanInfoDto beforeData, Date endTime, PlanInfoDto afterData) {
        // TODO:
    }
}