SubWaitChargeReport.java
5.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package th.co.ais.ssbsrfc.substate;
import java.util.HashMap;
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.CheckRequest;
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;
import th.co.ais.ssbsrfc.utils.EqxStringUtils;
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)
{
String value = EqxStringUtils.getMessage(equinoxRawData, ec02Instance);
AppLog.d("## PARAMETERS : " + value);
HashMap<String , String> map = new HashMap<String, String>();
String page = equinoxRawData.getRawDataAttribute("val");
CheckRequest checkRequest = new CheckRequest();
checkRequest.setDn(page);
String [] dnList = checkRequest.getDn().split("&", -1);
page = dnList[0].substring("ssid=".length());
int i=0;
while(i<dnList.length){
map.put(dnList[i].substring(0, dnList[i].indexOf("=")), dnList[i].substring(dnList[i].indexOf("=")+1));
i++;
}
this.type = Constant.TYPE_SUCCESS;
RequestHeader requestHeader = new RequestHeader();
requestHeader.setVersion(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("Version").get(0));
requestHeader.setBusinessCode(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("BusinessCode_Refund").get(0));
requestHeader.setMessageSeq("20160429104931209");
OwnershipInfo ownershipInfo = new OwnershipInfo();
ownershipInfo.setBEID(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("BEID").get(0));
ownershipInfo.setBRID(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("BEID").get(0));
requestHeader.setOwnershipInfo(ownershipInfo);
AccessSecurity accessSecurity = new AccessSecurity();
accessSecurity.setLoginSystemCode(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("LoginSystemCode").get(0));
accessSecurity.setPassword(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("Password").get(0));
requestHeader.setAccessSecurity(accessSecurity);
requestHeader.setAccessMode(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("AccessMode").get(0));
AdjustmentRequest adjustmentrequest = new AdjustmentRequest();
adjustmentrequest.setAdjustmentSerialNo(map.get("ssid"));
AdjustmentObj adjustmentObj = new AdjustmentObj();
SubAccessCode subAccessCode = new SubAccessCode();
subAccessCode.setPrimaryIdentity(map.get("ms"));
adjustmentObj.setSubAccessCode(subAccessCode);
adjustmentrequest.setAdjustmentObj(adjustmentObj);
adjustmentrequest.setOpType(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("OpType").get(0));
AdjustmentInfo adjustmentInfo = new AdjustmentInfo();
adjustmentInfo.setBalanceType(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("BalanceType").get(0));
adjustmentInfo.setAdjustmentType(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("AdjustmentType_Refund").get(0));
adjustmentInfo.setAdjustmentAmt(map.get("rtv"));
adjustmentInfo.setCurrencyID(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("CurrencyID").get(0));
adjustmentrequest.setAdjustmentInfo(adjustmentInfo);
adjustmentRequest.setRequestHeader(requestHeader);
adjustmentRequest.setAdjustmentRequest(adjustmentrequest);
ec02Instance.getAFInstance().setAdjustmentRequestIns(adjustmentRequest);
return value;
}
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));
}
}
}
}