package com.red.circle.other.infra.convertor.sys;

import com.red.circle.framework.core.convertor.ConvertorModel;
import com.red.circle.other.infra.database.mongo.entity.sys.ApiOperationLog;
import com.red.circle.other.infra.database.mongo.entity.sys.query.ApiOperationLogQuery;
import com.red.circle.other.infra.database.rds.entity.sys.SysAnchorSalaryExchangeGold;
import com.red.circle.other.infra.database.rds.entity.sys.SysUserSpecialIdLog;
import com.red.circle.other.inner.model.cmd.sys.SysAnchorSalaryExchangeGoldCmd;
import com.red.circle.other.inner.model.cmd.sys.SysUserSpecialIdLogCmd;
import com.red.circle.other.inner.model.cmd.tools.ApiOperationLogCmd;
import com.red.circle.other.inner.model.dto.sys.ApiOperationLogDTO;
import com.red.circle.other.inner.model.dto.sys.SysUserSpecialIdLogDTO;
import java.util.List;
import org.mapstruct.Mapper;

/**
 * @author pengliang on 2023/9/20
 */
@Mapper(componentModel = ConvertorModel.SPRING)
public interface OperationLogInnerConvertor {

  ApiOperationLog toApiOperationLog(ApiOperationLogDTO log);

  List<SysUserSpecialIdLogDTO> toListUserSpecialIdLogDTO(List<SysUserSpecialIdLog> list);

  SysUserSpecialIdLogDTO toSysUserSpecialIdLogDTO(SysUserSpecialIdLog sysUserSpecialIdLog);

  SysUserSpecialIdLog toSysUserSpecialIdLogCmd(SysUserSpecialIdLogCmd log);

  SysAnchorSalaryExchangeGold toSysAnchorSalaryExchangeGold(SysAnchorSalaryExchangeGoldCmd cmd);

  ApiOperationLogQuery toApiOperationLogQuery(ApiOperationLogCmd cmd);

  List<ApiOperationLogDTO> toListApiOperationLogDTO(List<ApiOperationLog> list);
}
