/**
 * Created on 2003/09/30
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package jp.co.sint.basic;

import java.util.Hashtable;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import jp.co.sint.config.SIConfig;
import jp.co.sint.database.SIDBAccessException;
import jp.co.sint.database.SIDBUtil;
import jp.co.sint.tools.SIUtil;

import org.apache.log4j.Category;

/**
 * @version $Id : SIMsgTemp.java,v 1.0 Exp $
 * @author      : Shionoya
 * <br>Description :メッセージテンプレートに対するクラス
 * <p>History</p>
 * <p>Author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reason</p>
 * ============&nbsp;&nbsp;&nbsp;==========&nbsp;&nbsp;===========================<br>
 * Shionoya       2003/09/30  Original
 */
public class SIMsgTemp extends SIBasic {
  private static Category log=Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);
  
  private String mallShopCode = "";
  private String msgType = "";
  private String classify = "";
  private String title = "";
  private String content1 = "";
  private String content2 = "";
  private String content3 = "";
  
  /**
   * @return
   */
  public String getClassify() {
    return classify;
  }
  
  /**
   * @return
   */
  public String getContent1() {
    return content1;
  }
  
  /**
   * @return
   */
  public String getContent2() {
    return content2;
  }
  
  /**
   * @return
   */
  public String getContent3() {
    return content3;
  }
  
  /**
   * @return
   */
  public String getMallShopCode() {
    return mallShopCode;
  }
  
  /**
   * @return
   */
  public String getTitle() {
    return title;
  }
  
  /**
   * @return
   */
  public String getMsgType() {
    return msgType;
  }
  
  /**
   * @param string
   */
  public void setClassify(String string) {
    if (string == null) string = "";
    classify = SIUtil.changeTo(string.trim(), this.encode);
  }
  
  /**
   * @param string
   */
  public void setContent1(String string) {
    if (string == null) string = "";
    content1 = SIUtil.changeTo(string.trim(), this.encode);
  }
  
  /**
   * @param string
   */
  public void setContent2(String string) {
    if (string == null) string = "";
    content2 = SIUtil.changeTo(string.trim(), this.encode);
  }
  
  /**
   * @param string
   */
  public void setContent3(String string) {
    if (string == null) string = "";
    content3 = SIUtil.changeTo(string.trim(), this.encode);
  }
  
  /**
   * @param string
   */
  public void setMallShopCode(String string) {
    mallShopCode = string;
  }
  
  /**
   * @param string
   */
  public void setTitle(String string) {
    if (string == null) string = "";
    title = SIUtil.changeTo(string.trim(), this.encode);
  }
  
  /**
   * @param string
   */
  public void setMsgType(String string) {
    msgType = string;
  }
  
  /**
  * <b>getHashtable_MailTemp</b>
  * メッセージテンプレートのリストを取得します
  * @param  なし
  * @return Hashtable メッセージテンプレートリスト
  * @throws なし
  */
  public static Hashtable getHashtable_MailTemp() {
    Hashtable hashParameters = new Hashtable();
    
    hashParameters.put(SIConfig.SIMSG_TEMPLATE_ORDER, "受注受付（BG向け）");
    hashParameters.put(SIConfig.SIMSG_TEMPLATE_REVIEW, "レビュー完了");
    hashParameters.put(SIConfig.SIMSG_TEMPLATE_PRIVACY, "プライバシーについて");
    //7.3.0 ST2024 追加ここから
    hashParameters.put(SIConfig.SIMSG_TEMPLATE_PRIVACY_POLICY, "個人情報利用目的（BG向け）");
    hashParameters.put(SIConfig.SIMSG_TEMPLATE_PRIVACY_POLICY_MOBILE, "個人情報利用目的（携帯向け）");
    hashParameters.put(SIConfig.SIMSG_TEMPLATE_PRIVACY_POLICY_EG, "個人情報利用目的（EG向け）");
    //7.3.0 ST2024 追加ここまで
    hashParameters.put(SIConfig.SIMSG_TEMPLATE_ORDER, "受注受付（EG向け）");
    
    return hashParameters;
  }
  
  /**
  * <b>reset</b>
  * メッセージテンプレートの情報をセットします。
  * @param lConnection
  * @param lType メッセージテンプレートタイプ
  * @return なし
  * @throws SIDBAccessException
  */
  public void reset(Connection lConnection,String lMallShopCode,String lMsgType)throws SIDBAccessException {
    Statement lStatement=null;
    ResultSet lResultSet=null;
    String lSql="SELECT * FROM MsgTemplateMTbl WHERE MallShopCode=" + SIDBUtil.SQL2Str(lMallShopCode) + " AND msgType=" + SIDBUtil.SQL2Str(lMsgType);
    log.debug("reset:lSql="+lSql);
    try {
      lStatement=lConnection.createStatement();
      lResultSet=lStatement.executeQuery(lSql);
      
      if (lResultSet.next()){
        this.setEncode(SIConfig.SIENCODE_NONE);
        this.setMallShopCode(lResultSet.getString("mallshopcode"));
        this.setClassify(lResultSet.getString("classify"));
        this.setMsgType(lResultSet.getString("msgType"));
        this.setContent1(lResultSet.getString("content1"));
        this.setContent2(lResultSet.getString("content2"));
        this.setContent3(lResultSet.getString("content3"));
        this.setTitle(lResultSet.getString("title"));
      }
    }catch(SQLException sqle){
      sqle.printStackTrace();
    }finally{
      SIDBUtil.close(lStatement,lResultSet);
    }
  }
}