/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JCCcomCreditCardUtil
*   ソースファイル名：JCCcomCreditCardUtil.java
*   作成者          ：富士通
*   日付            ：2022年05月12日
*＜機能概要＞
*　サイトIDに請求契約番号とOS保持の日時を結合し、マーチャント取引IDを採番する。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2022/05/12   富士通    新規作成
*   v60.00.00   2022/11/12   富士通    【OM-2022-0001141】
*
**********************************************************************/
package eo.common.util;

import java.util.Map;
import eo.common.constant.JKKStrConst;


public class JCCcomCreditCardUtil
{
	/**
	 * マーチャント取引IDを作成します。
	 * @param siteId      サイトID
	 * @param seikyCrecaNo    請求契約番号もしくはクレジットカードID
	 * @return          マーチャント取引ID 
	 */

	public static String getMerchantDealId(String siteId,String seikyCrecaNo) throws Exception
	
	{
		Map<String, String> mapSysDate = JCCGetSystemDateUtil.getSystemDateTime();
		
		int DateInt = 0;
		String sysDate = "";
		String sysDateYYMMDD = "";
		String merchantDealId = "";
		String date = "";
		
		if (mapSysDate != null)
		{
			sysDate = JKKStringUtil.nullToBlank(mapSysDate.get(JCCGetSystemDateUtil.KEY_YYYYMMDDHHMMSS));
			if (sysDate.length() >= 14)
			{
				 sysDateYYMMDD = sysDate.substring(2, 8);
				
				int sysDateHH = Integer.parseInt(sysDate.substring(8, 10)) * 60 * 60;
				
				int sysDateMM = Integer.parseInt(sysDate.substring(10, 12)) * 60;
				
				int sysDateSS = Integer.parseInt(sysDate.substring(12, 14));
				
				 DateInt = sysDateHH + sysDateMM + sysDateSS ;
			}
			
		}

		// 変換した値をセット
		// OM-2022-0001141 MOD START
		//date = String.valueOf(DateInt);
		date = String.format("%05d", DateInt);
		// OM-2022-0001141 MOD END
		
		if(JKKStrConst.SITEID_CONSUMER.equals(siteId)||JKKStrConst.SITEID_HOJIN.equals(siteId))
		{
			merchantDealId = siteId + seikyCrecaNo + sysDateYYMMDD + date;
		}
		if(JKKStrConst.SITEID_CONTENTS.equals(siteId))
		{
			merchantDealId = siteId + seikyCrecaNo +  "0" +  sysDateYYMMDD + date;
		}
		return merchantDealId;
	}
}
