SubWaitChargeRequest.java
5.72 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package th.co.ais.ssbsrfc.substate;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
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 SubWaitChargeRequest extends WaitSubState {
AdjustmentRequestIns adjustmentRequest = new AdjustmentRequestIns();
public void configSubstate(EC02Instance ec02Instance, EquinoxRawData equinoxRawData)
{
this._state = StateConfig.SSTATE_W_CHARGEREQUEST;
this._eventType = StateConfig.Incoming_ChargeRequest_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)
{
Date time = new Date();
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++;
}
DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSS");
Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR, -543);
ec02Instance.getAFInstance().setDn(map);
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_Deduct").get(0));
requestHeader.setMessageSeq(dateFormat.format(cal.getTime()));
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_Deduct").get(0));
adjustmentInfo.setAdjustmentAmt(map.get("fee"));
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)
{
}
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"));
String message = th.co.ais.ssbsrfc.message.MessageParser.toSoap(adjustmentRequest);
ec02Instance.getAFInstance().setCurrentState(StateConfig.SSTATE_W_ADJUSTMENT_CHARGEREQUEST);
EQXRawInstance eqxRaw = SubMessages.getRawAdjustmentRequest(abstractAF, ec02Instance,StateConfig.Incoming_Adjustment_ChargeRequest_Response,adjustmentRequest);
this.equinoxRawDataList.add(this.ec02Builder.getRequest(eqxRaw));
}
}
}
}