1048b156
Suraputt Suntimitr
Template
|
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
|
package th.co.ais.ssbsrfc.substate;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Random;
import ec02.af.abstracts.AbstractAF;
import ec02.af.data.EquinoxRawData;
import ec02.af.data.GlobalData;
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.ChargeReportIns;
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.Stat;
import th.co.ais.ssbsrfc.instance.SubAccessCode;
import th.co.ais.ssbsrfc.utils.EqxStringUtils;
import th.co.ais.ssbsrfc.utils.Global;
public class SubWaitChargeReport extends WaitSubState {
AdjustmentRequestIns adjustmentRequest = new AdjustmentRequestIns();
HashMap<String, String> map = new HashMap<String, String>();
ChargeReportIns chargeResponseIns = new ChargeReportIns();
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_CHARGE_REPORT);
}
public Object getMessage(EC02Instance ec02Instance, EquinoxRawData equinoxRawData) {
String value = EqxStringUtils.getMessage(equinoxRawData, ec02Instance);
AppLog.d("## PARAMETERS : " + value);
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("yyyyMMddHHmmssSSS");
Calendar cal = Calendar.getInstance();
Random random = new Random();
String rand = "000";
int x = random.nextInt(1000);
rand += x;
rand = rand.substring(rand.length() - 3);
ec02Instance.getAFInstance().setRand(rand);
String ChargeId = dateFormat.format(cal.getTime()) + rand;
ec02Instance.getAFInstance().setChargeId(ChargeId);
ec02Instance.getAFInstance().setDn(map);
AppLog.d("########Random : " + rand);
AppLog.d("########MessageSeq : " + ChargeId);
this.type = Constant.TYPE_SUCCESS;
RequestHeader requestHeader = new RequestHeader();
requestHeader.setVersion(
ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("AdjustmentRequestVersion").get(0));
AppLog.d("AdjustmentRequestVersion :" + Global.getEC02WarmConfig("AdjustmentRequestVersion"));
requestHeader.setBusinessCode(
ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("BusinessCode_Refund").get(0));
AppLog.d("BusinessCode_Refund :" + Global.getEC02WarmConfig("BusinessCode_Refund"));
requestHeader.setMessageSeq(ChargeId);
OwnershipInfo ownershipInfo = new OwnershipInfo();
if (null == ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("BEID")) {
ownershipInfo.setBEID("101");
AppLog.d("BEID :" + Global.getEC02WarmConfig("BEID"));
} else {
ownershipInfo.setBEID(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("BEID").get(0));
AppLog.d("BEID :" + Global.getEC02WarmConfig("BEID"));
}
ownershipInfo.setBRID(ec02Instance.getAbstractAF().getUtils().getHmWarmConfig().get("BRID").get(0));
AppLog.d("BRID :" + Global.getEC02WarmConfig("BRID"));
|