package th.co.ais.ssbsrfc.substate; import ec02.af.abstracts.AbstractAF; import ec02.af.data.EquinoxRawData; import ec02.utils.AppLog; import th.co.ais.ssbsrfc.config.Constant; import th.co.ais.ssbsrfc.config.StateConfig; import th.co.ais.ssbsrfc.instance.AccessSecurity; import th.co.ais.ssbsrfc.instance.AdjustmentInfo; import th.co.ais.ssbsrfc.instance.AdjustmentObj; import th.co.ais.ssbsrfc.instance.AdjustmentRequest; import th.co.ais.ssbsrfc.instance.AdjustmentRequestIns; import th.co.ais.ssbsrfc.instance.EC02Instance; import th.co.ais.ssbsrfc.instance.EQXRawInstance; import th.co.ais.ssbsrfc.instance.OwnershipInfo; import th.co.ais.ssbsrfc.instance.RequestHeader; import th.co.ais.ssbsrfc.instance.SubAccessCode; public class SubWaitChargeReport extends WaitSubState { AdjustmentRequestIns adjustmentRequest = new AdjustmentRequestIns(); public void configSubstate(EC02Instance ec02Instance, EquinoxRawData equinoxRawData) { this._state = StateConfig.SSTATE_W_CHARGEREPORT; this._eventType = StateConfig.Incoming_ChargeReport_Request; this._stateType = Constant.SUBSTATE_TYPE_W_REQUEST; if (equinoxRawData != null) { ec02Instance.getAFInstance().setOrig(equinoxRawData.getOrig()); ec02Instance.getAFInstance().setInvoke(equinoxRawData.getInvoke()); ec02Instance.getAFInstance().setInitialInvoke(equinoxRawData.getInvoke()); } ec02Instance.getAFInstance().setFlow(Constant.FLOW_TEST_A); } public Object getMessage(EC02Instance ec02Instance, EquinoxRawData equinoxRawData) { RequestHeader requestHeader = new RequestHeader(); requestHeader.setVersion("1"); requestHeader.setBusinessCode("1"); requestHeader.setMessageSeq("20160429104931209"); OwnershipInfo ownershipInfo = new OwnershipInfo(); ownershipInfo.setBEID("101"); ownershipInfo.setBRID("101"); requestHeader.setOwnershipInfo(ownershipInfo); AccessSecurity accessSecurity = new AccessSecurity(); accessSecurity.setLoginSystemCode("Xaysombath"); accessSecurity.setPassword("ATBoomuNQidKc8iYhPgx5A=="); requestHeader.setAccessSecurity(accessSecurity); requestHeader.setAccessMode("3"); AdjustmentRequest adjustmentrequest = new AdjustmentRequest(); adjustmentrequest.setAdjustmentSerialNo("20160429104632990"); AdjustmentObj adjustmentObj = new AdjustmentObj(); SubAccessCode subAccessCode = new SubAccessCode(); subAccessCode.setPrimaryIdentity("2055579910"); adjustmentObj.setSubAccessCode(subAccessCode); adjustmentrequest.setAdjustmentObj(adjustmentObj); adjustmentrequest.setOpType("1"); AdjustmentInfo adjustmentInfo = new AdjustmentInfo(); adjustmentInfo.setBalanceType("C_MAIN_ACCOUNT"); adjustmentInfo.setAdjustmentType("1"); adjustmentInfo.setAdjustmentAmt("1000"); adjustmentInfo.setCurrencyID("1049"); adjustmentrequest.setAdjustmentInfo(adjustmentInfo); adjustmentRequest.setRequestHeader(requestHeader); adjustmentRequest.setAdjustmentRequest(adjustmentrequest); ec02Instance.getAFInstance().setAdjustmentRequestIns(adjustmentRequest); return adjustmentRequest; } public void verifyMessage(AbstractAF abstractAF, EC02Instance ec02Instance, EquinoxRawData equinoxRawData) { AppLog.d("## TEST MSG SUBSTATE A"); this.type = Constant.TYPE_SUCCESS; } public void buildMessage(AbstractAF abstractAF, EC02Instance ec02Instance, EquinoxRawData equinoxRawData) { switch (this.type) { case Constant.TYPE_SUCCESS: default: { // this.isStat = false; // ec02Instance.getAFInstance().getListStat().add(new Stat(StateConfig.PROJECT_STAT_NAME + " ABCDEFG STAT")); ec02Instance.getAFInstance().setCurrentState(StateConfig.SSTATE_W_ADJUSTMENT_CHARGEREPORT); EQXRawInstance eqxRaw = SubMessages.getRawAdjustmentRequest(abstractAF, ec02Instance,StateConfig.Incoming_Adjustment_ChargeReport_Response,adjustmentRequest); this.equinoxRawDataList.add(this.ec02Builder.getRequest(eqxRaw)); } } } }