Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Java by oskar ( 6 years ago )
package com.mpn.sb;
import com.mpn.fx.util.Constants;
import com.mpn.fx.util.CoreUtil;
import com.mpn.loader.Spring;
import com.mpn.sb.model.Account;
import com.mpn.sb.model.StatusShadow;
import com.mpn.sb.model.TLog;
import java.io.Serializable;
import org.apache.log4j.Logger;
import org.jpos.core.Configurable;
import org.jpos.core.Configuration;
import org.jpos.core.ConfigurationException;
import org.jpos.iso.ISOMsg;
import org.jpos.transaction.Context;
import org.jpos.transaction.TransactionParticipant;
public class CekShadowModeLocal implements TransactionParticipant, Configurable {
Logger log = Logger.getLogger(CekShadowModeLocal.class.getName());
Configuration cfg;
private ISOMsg abortRc(ISOMsg in, String rc) {
try {
in.setResponseMTI();
in.set(39, rc);
} catch (Exception var4) {
}
return in;
}
public int prepare(long id, Serializable srlzbl) {
Context ctx = (Context)srlzbl;
ISOMsg in = (ISOMsg)ctx.get(Constants.IN);
new TLog();
ISOMsg inClone = (ISOMsg)in.clone();
String trxType = "";
String norek = "";
int idstatus = 1;
StatusShadow shadow = Spring.getDaoStatusShadow().findById(Integer.valueOf(idstatus));
if (shadow != null) {
if (shadow.getShadowStatus() == 0) {
inClone = this.abortRc(in, Constants.RC19);
ctx.put("OUT", inClone);
return 64;
} else if (shadow.getShadowStatus() == 1 && shadow.getDownloadStatus() == 1) {
trxType = in.getString(3).substring(0, 2);
if ((trxType.equals("30") || trxType.equals("32")) && !CoreUtil.IsSulselbar(in.getString(33))) {
return 1;
} else {
Account accSrc;
if (!trxType.equals("77") && !trxType.equals("78")) {
if (!trxType.equals("26") && !trxType.equals("30") && !trxType.equals("31") && !trxType.equals("00") && !trxType.equals("02") && !trxType.equals("79")) {
if (!trxType.equals("70") && !trxType.equals("30") && !trxType.equals("82") && !trxType.equals("39")) {
Account accDest;
if (trxType.equals("71")) {
accSrc = Spring.getAccDao().findByFullAccNumber(in.getString(102));
accDest = Spring.getAccDao().findByFullAccNumber(in.getString(103));
if (accDest != null && accSrc != null) {
return 1;
}
inClone = this.abortRc(in, Constants.RC76);
ctx.put("OUT", inClone);
return 64;
}
if (trxType.equals("72")) {
if (!CoreUtil.IsSulselbar(in.getString(32)) && !CoreUtil.IsSulselbar(in.getString(33))) {
return 1;
}
if (in.getString(125).equals("1")) {
norek = in.getString(102);
} else if (in.getString(125).equals("2")) {
norek = in.getString(103);
}
} else if (trxType.equals("73")) {
if (!CoreUtil.IsSulselbar(in.getString(32)) && !CoreUtil.IsSulselbar(in.getString(33))) {
return 1;
}
if (in.getString(125).equals("1")) {
norek = in.getString(103);
} else if (in.getString(125).equals("2")) {
norek = in.getString(102);
}
} else if ((trxType.equals("40") || trxType.equals("83")) && in.hasField(100) && in.hasField(127)) {
if (CoreUtil.IsSulselbar(in.getString(100)) && CoreUtil.IsSulselbar(in.getString(127))) {
accSrc = Spring.getAccDao().findByFullAccNumber(in.getString(102));
accDest = Spring.getAccDao().findByFullAccNumber(in.getString(103));
if (accDest != null && accSrc != null) {
return 1;
}
inClone = this.abortRc(in, Constants.RC76);
ctx.put("OUT", inClone);
return 64;
}
if (CoreUtil.IsSulselbar(in.getString(100)) && !CoreUtil.IsSulselbar(in.getString(127))) {
norek = in.getString(102);
} else {
if (!CoreUtil.IsSulselbar(in.getString(100)) && !CoreUtil.IsSulselbar(in.getString(127))) {
return 1;
}
if (CoreUtil.IsSulselbar(in.getString(32)) && !CoreUtil.IsSulselbar(in.getString(100)) && CoreUtil.IsSulselbar(in.getString(127))) {
norek = in.getString(103);
} else if (!CoreUtil.IsSulselbar(in.getString(32)) && CoreUtil.IsSulselbar(in.getString(33)) && CoreUtil.IsSulselbar(in.getString(100))) {
norek = in.getString(102);
} else {
if (!CoreUtil.IsSulselbar(in.getString(33))) {
return 1;
}
if (CoreUtil.IsSulselbar(in.getString(100))) {
norek = in.getString(102);
} else {
norek = in.getString(103);
}
}
}
}
} else {
norek = in.getString(103);
}
} else {
norek = in.getString(102);
}
} else {
if (!CoreUtil.CekB32B33(in)) {
return 1;
}
norek = in.getString(102);
}
accSrc = Spring.getAccDao().findByFullAccNumber(norek);
if (accSrc == null) {
inClone = this.abortRc(in, Constants.RC76);
ctx.put("OUT", inClone);
return 64;
} else {
return 1;
}
}
} else if (shadow.getShadowStatus() == 1 && shadow.getDownloadStatus() == 2) {
return 1;
} else {
inClone = this.abortRc(in, Constants.RC19);
ctx.put("OUT", inClone);
return 64;
}
} else {
inClone = this.abortRc(in, Constants.RC19);
ctx.put("OUT", inClone);
return 64;
}
}
public void commit(long id, Serializable srlzbl) {
}
public void abort(long id, Serializable srlzbl) {
}
public void setConfiguration(Configuration cfg) throws ConfigurationException {
this.cfg = cfg;
}
}
Revise this Paste
Parent: 109630