/*
* LoadRunner Java script. (Build: _build_number_)
*
* Script. Description:
*
*/
import lrapi.lr;
import java.util.Date;
import java.math.BigDecimal;
import com.caucho.hessian.client.HessianProxyFactory;
import *****;//导入相关的类
public class Actions
{
HessianProxyFactory factory = null;
String url="http://172.10.10.147:8001/nc-pay-hessian/soa/hessian/"+PaymentManageFacade.class.getName();
PaymentManageFacade payFacade=null;
public int init() throws Throwable {
factory=new HessianProxyFactory();
try{
payFacade=(PaymentManageFacade)factory.create(PaymentManageFacade.class,url);
}catch(Exception e){
e.printStackTrace();
}
return 0;
}//end of init
public int action() throws Throwable {
lr.start_transaction("ncpay_create_order");
PaymentRequestDTO reqDTO = new PaymentRequestDTO();
reqDTO.setBizType(1L);
reqDTO.setBizOrderNum("BIZ"+System.nanoTime());
reqDTO.setBizOrderDate(new Date());
reqDTO.setBankRuleId(1L);
reqDTO.setIndustryCode("LoadTest");
reqDTO.setPayToolId("PTL");
reqDTO.setTerminalId("TML");
reqDTO.setMerchantNo("YB010");
reqDTO.setMerchantName("NC-TEST");
String timems=String.valueOf(System.currentTimeMillis());
reqDTO.setRequestNo("RQN"+timems);
reqDTO.setOrderAmount(new BigDecimal(1.01));
reqDTO.setOrderType(OrderTypeEnum.SALE);
reqDTO.setCardInfoType(CardInfoTypeEnum.TEMP);
reqDTO.setCardInfoId(1L);
reqDTO.setMemberNO("5012");
reqDTO.setMemberType(MemberTypeEnum.JOINLY);
reqDTO.setProductName("游戏-性能测试");
reqDTO.setRegionCode("REGION");
String res=null;
String rderId=null;
try{
PaymentResponseDTO respDTO = payFacade.createPayment(reqDTO);
//System.out.println(JSONUtils.toJsonString(respDTO));
res=JSONUtils.toJsonString(respDTO);
int lift=res.indexOf("\",\"needItem");
orderId=res.substring(15,lift);
}catch (Exception e) {
e.printStackTrace();
}
if(orderId==null ){
lr.error_message(res);
lr.end_transaction("ncpay_create_order", lr.FAIL);
}else{
lr.end_transaction("ncpay_create_order", lr.PASS);
}
lr.start_transaction("ncpay_confirm_pay");
PayConfirmRequestDTO cfp = new PayConfirmRequestDTO();
cfp.setPayOrderId(orderId);
cfp.setSmsCode("74586");
cfp.setTmpCardId(0L);
String res1=null;
try {
PayQueryResponseDTO rsp = payFacade.synConfirmPay(cfp);
System.out.println(JSONUtils.toJsonString(rsp));
res1=JSONUtils.toJsonString(rsp);
} catch (Exception e) {
e.printStackTrace();
}
String status="status\":\"";
String rderAmount="\",\"orderAmount";
int left=res1.indexOf(status)+9;
int right=res1.indexOf(orderAmount);
String sub=res1.substring(left,right);
if(sub.equals("SUCCESS")){
lr.end_transaction("ncpay_confirm_pay", lr.PASS);
}else{
lr.error_message(res1);
lr.end_transaction("ncpay_confirm_pay", lr.FAIL);
}
return 0;
}//end of action
public int end() throws Throwable {
return 0;
}//end of end
}