package com.engine.salary.service;

import com.engine.salary.entity.salaryBill.dto.SalaryBillAckFeedbackDTO;
import com.engine.salary.entity.salaryBill.dto.salaryBillViewingLimitSetting;
import com.engine.salary.entity.salaryBill.dto.SalaryBillWatermarkDTO;
import com.engine.salary.entity.salaryBill.param.SalaryBaseSetSaveParam;

import java.util.Map;

/**
 * @Description: 工资单水印
 * @Author: Harryxzy
 * @Date: 2023/06/09 10:14
 */
public interface SalaryBillBaseSetService {

    /**
     * 获取工资单水印设置
     *
     * @return
     */
    SalaryBillWatermarkDTO getWatermarkSetting();

    /**
     * 获取工资单确认和反馈设置
     *
     * @param currentTenantKey
     * @return
     */
//    SalaryBillAckFeedbackDTO getAckFeedbackSetting();

    /**
     * 保存工资单模板基础设置
     *
     * @param saveParam
     * @return
     */
    String saveBaseSet(SalaryBaseSetSaveParam saveParam);

    /**
     * 预览水印
     * @param wmSetting 水印设置
     * @return
     */
    String previewWaterMark(Map<String, Object> wmSetting);

    /**
     * 获取默认工资单确认反馈设置
     * @return
     */
    SalaryBillAckFeedbackDTO getDefaultAckFeedbackSetting();

    /**
     * 获取工资单失效限制
     * @return
     */
    salaryBillViewingLimitSetting getSalaryBillViewingLimitSetting();

    /**
     * 获取首次查看后多少分钟不能查看工资单（0代表一旦查看后无法再次查看）
     * @return
     */
    Integer getBurningAfterReadingMin();


}
