package com.sunda.spmscommon.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sunda.spmscommon.ResponseResult;
import com.sunda.spmscommon.entity.SysLog;

import java.util.Map;

/**
 * <p>
 * 系统日志表 服务类
 * </p>
 *
 * @author Wayne
 * @since 2020-12-16
 */
public interface ISysLogService extends IService<SysLog> {

    ResponseResult getByUuid (String uuid);

    /** 使用 mybatis-plus Wrapper 自带分页方法 */
    IPage<SysLog> getSysLog(Page<SysLog> page, String logType);

    /** 使用 PageHelper 分页方法对 List<Map<K, V>> 数据分页 */
    Map<String,Object> getSysLogPage(int pageNo, int pageSize, String logType);

    void insertSysLog(SysLog sysLog);

    /** 记录 SPMS 系统提交 OA 内容详情 */
    void addSubmitOaRecord(String logType,
                           String logContent,
                           String operateType,
                           String userId,
                           String method,
                           String requestUrl,
                           String requestParam,
                           String requestType,
                           String remarks,
                           String relateDocNumber);

    /** 记录 SPMS 系统向 SAP、SRM 提起 REST 请求内容详情 */
    void spmsRestToSap(String logType,
                       String logContent,
                       String operateType,
                       String userId,
                       String method,
                       String requestParam,
                       String requestType,
                       String remarks);

    /** 记录系统间操作日志 */
    void addSysLog (String logType, String logContent, String operateType, String userId, String ip,
                    String method, String requestUrl, String requestType, String relateDocNumber,
                    String requestParam, String remarks, String returnedMessage);
}
