package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Msg;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Mapper
public interface MsgMapper {

    int insert(Msg record);

    int insertSelective(Msg record);

    int updateByPrimaryKeySelective(Msg record);

    int updateByPrimaryKey(Msg record);

    int deleteByPrimaryKey(Msg record);

    int deleteByIds(Collection<Object> collection);

    Msg selectByPrimaryKey(Msg record);

    int dyncDelete(Map<String, Object> dyncMap);

    int deleteBySmhinr(String smhinr);

    List<Msg> dyncRead(Map<String, Object> dyncMap);

    Msg getMsgByTrninr(String trnir);

    Msg getMsgBySptinr(String sptinr);

    List<Msg> getMsgByMsgid(String Msgid);

    String getMsgOwnrefOfSendByMsgid(String msgid);

    Msg selectByWhere(Msg record);

    String getMsgIdBySmhInr(String smhinr);

    Msg getMsgByOrimsgidDirEtyextkey(@Param("msgid") String msgid, @Param("dir") String dir, @Param("etyextkey") String etyextkey);

    int updateRjctinfbySmhinr(@Param("rjcinf") String rjcinf, @Param("inr") String inr);

    int updateOrimsgidAndOripathBymsgid(@Param("orimsgid") String orimsgid, @Param("orgnlpath") String orgnlpath, @Param("msgid") String msgid);

    List<Msg> selectByDMC(@Param("dir") String dir, @Param("msgtyp") String msgtyp, @Param("credattim") Date credattim);

    int selectByMsgidDir(@Param("msgid") String msgid, @Param("dir") String dir);

    List<String> selectBySmhinrList(@Param("smhinrList") List<String> smhinrList);

    List<String> selectByMsgidList(@Param("msgidList") List<String> msgidList);

    List<Msg> getMsgIdByElcadd();

}