/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JZMCtrlBbssInfo
*	ソースファイル名：JZMCtrlBbssInfo.java
*	作成者			：FJ）原田
*	日付			：2017年04月18日
*＜機能概要＞
*	ＢＢＳＳ社 SOAP連携（抽象）コマンド発行部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v32.00.00	2017/04/18  FJ)原田		【ANK-3149-00-00】新セキュリティパック
*
**********************************************************************/
package eo.common.util;

import java.util.Map;

import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

/**
 * ＢＢＳＳ社連携独自処理部品クラスです。
 * @author FJ
 */
public abstract class JKKCtrlBbssInfo
{
	/**
	 * 1:ＢＢＳＳ社連携（本番モード）
	 */
	private static final String BBSS_SYSTEM = "1";

	/**
	 * 2:スタブモード
	 */
	private static final String BBSS_STUB = "2";

	/**
	 * ＩＮパラメータ
	 */
	public static final String IN_PARAM = "inParam";

	/**
	 * ＯＵＴパラメータ
	 */
	public static final String OUT_PARAM = "outParam";

	/**
	 * リセラＩＤ
	 */
	public static final String RESELLERID = "resellerId";

	/**
	 * 商品ＩＤ
	 */
	public static final String PRODUCTID = "productId";
	
	/**
	 * 会員ＩＤ
	 */
	public static final String MEMBERID = "memberId";
	
	/**
	 * 数量
	 */
	public static final String QUANTITY = "quantity";
	
	/**
	 * キャンペーンＩＤ
	 */
	public static final String CAMPAIGNID = "campaignId";
	
	/**
	 * パスワード
	 */
	public static final String PASSWORD = "password";
	
	/**
	 * ＢＢＳＳ社連携の本番／スタブ切り替え処理
	 * 
	 * @return インスタンス
	 */
	public static JKKCtrlBbssInfo getInstance()
	{
		/**
		 * ＢＢＳＳ社接続モードフラグ
		 */
		
		String mode = JCMAPLConstMgr.getString("BBSS_CONNECTION_MODE");

		if (mode.equals(BBSS_SYSTEM))
		{
			return new JKKCtrlBbssInfoImpl();
		}
		else if(mode.equals(BBSS_STUB))
		{
			return new JKKCtrlBbssInfoStubImpl();
		}
		else
		{
			return null;
		}
	}

	/**
	 * KKIFE355_ＢＢＳＳ購入を呼び出します。
	 * <br>
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return サービスマップ戻り値
	 * @throws Exception 各種エクセプション
	 */
	public abstract Map<String, Object> call_KKIFE355(Map<String, Object> serviceMap) throws Exception;

}
