Commit f96e2d68 by yangfangfang

修改报错

parent b5d43e71
package com.xiaomai.cases.polar.finance.cashier;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.cases.polar.member.Tools;
import com.xiaomai.cases.polar.memberCard.CardTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.math.BigDecimal;
public class TestOfflinePay extends XMBaseTest {
String memberId;
String cardId;
String getDetailId;
Tools tools=new Tools();
OrderTools orderTools=new OrderTools();
CardTools cardTools=new CardTools();
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_offlinePay")
.setLoginUser(LoginAccount.YFF_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "线下支付订单(实际是操作关联流水调用)")
public void testOfflinePay(){
//10020060066--固定流水,换场馆需要按照这个手机支付0.01元 "flowIds": ["1808757176611880962"]
String name = "创建订单潜在会员"+ RandomStringUtil.randomString(3);
String phone = RandomStringUtil.randomMobile("666");
//获取会员ID,没有则新建一个
int memberTotal = Integer.parseInt(tools.search("NORMAL","NORMAL").getJSONObject("result").getString("total"));
if (memberTotal == 0) {
memberId = tools.create(name,phone).getString("result");
}
memberId=tools.search("NORMAL","NORMAL").getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取会员卡信息
//获取会员卡列表,没有则新建一个
int cardTotal = Integer.parseInt(orderTools.fetchPageOfMemberCard("次卡","MEMBER_CARD").getJSONObject("result").getString("total"));
if (cardTotal == 0) {
cardId = cardTools.memberCardCreate("次卡-创建订单会员卡"+ TimeUtils.getCurrentTime()).getString("result");
}
JSONObject memberCard=orderTools.fetchPageOfMemberCard("次卡","MEMBER_CARD");
cardId=memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
BigDecimal quantity= new BigDecimal(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("balance"));
float price= Float.parseFloat(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("price"));
int validPeriod= Integer.parseInt(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("validPeriod"));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取签单要用的卡快照id
String latestSnapshotId=orderTools.fetchDetailById(cardId,xmAppApi.getLoginInfo().getBrandId(),xmAppApi.getLoginInfo().getStudioId(),xmAppApi.getLoginInfo().getAdminId()).getJSONObject("result").getString("latestSnapshotId");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//检查会员对该卡是否超出购买上限
boolean limitResult=orderTools.checkAllowPurchase("MEMBER_CARD",cardId,memberId,"1",xmAppApi.getLoginInfo().getBrandId(),xmAppApi.getLoginInfo().getStudioId(),xmAppApi.getLoginInfo().getAdminId()).getBoolean("success");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
if(limitResult == true) {
//创建待支付订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
"MEMBER_CARD", memberId, price - price / 2, 0, "6");
getDetailId = orderResult.getString("result");//订单ID
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//关联流水
JSONObject jsonObject=new JSONObject();
JSONArray flowIds=new JSONArray();
flowIds.add("1808757176611880962");
jsonObject.put("flowIds",flowIds);
jsonObject.put("voucherId",getDetailId);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
String result=xmAppApi.getBodyInJSON().getString("result");
Assert.assertEquals(result,"true","关联流水失败");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//校验关联流水之后,订单状态变成已完成
//获取订单详情
//校验获取订单详情
JSONObject getDetailResult=orderTools.getDetail(getDetailId);
String state=getDetailResult.getJSONObject("result").getString("state");
Assert.assertEquals(state,"PAID","关联流水成功,但订单状态未是已完成");
//关联之后一定要把签单订单作废!!否则下次流水就不能关联了
//校验是否可以作废签单订单
boolean checkDiscardSignVoucherResult = orderTools.checkDiscardVoucher(getDetailId).getBoolean("success");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
if (checkDiscardSignVoucherResult == true) {
JSONObject discardResult = orderTools.discard(getDetailId, "重复录入", "已作废签单订单" + RandomStringUtil.randomString(10));
Assert.assertEquals(discardResult.getString("success"), "true", "签单订单作废失败");
}
}
}
}
//package com.xiaomai.cases.polar.finance.cashier;
//
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.xiaomai.cases.polar.finance.order.OrderTools;
//import com.xiaomai.cases.polar.member.Tools;
//import com.xiaomai.cases.polar.memberCard.CardTools;
//import com.xiaomai.enums.ApiModule;
//import com.xiaomai.enums.LoginAccount;
//import com.xiaomai.enums.RequestType;
//import com.xiaomai.enums.Terminal;
//import com.xiaomai.utils.RandomStringUtil;
//import com.xiaomai.utils.TimeUtils;
//import com.xiaomai.utils.XMBaseTest;
//import org.testng.Assert;
//import org.testng.annotations.BeforeMethod;
//import org.testng.annotations.Test;
//
//import java.math.BigDecimal;
//
//public class TestOfflinePay extends XMBaseTest {
//
// String memberId;
//
// String cardId;
//
// String getDetailId;
//
// Tools tools=new Tools();
//
// OrderTools orderTools=new OrderTools();
//
// CardTools cardTools=new CardTools();
//
// @BeforeMethod
// public void beforeTest(){
// xmAppApi.setApiModule(ApiModule.Polar_Finance)
// .setApiName("API_offlinePay")
// .setLoginUser(LoginAccount.YFF_PROD)
// .setTerminal(Terminal.B);
// dal.setCase_owner("yff")
// .setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
// super.beforeTest();
// }
// @Test(description = "线下支付订单(实际是操作关联流水调用)")
// public void testOfflinePay(){
//
// //10020060066--固定流水,换场馆需要按照这个手机支付0.01元 "flowIds": ["1808757176611880962"]
//
//
//
// String name = "创建订单潜在会员"+ RandomStringUtil.randomString(3);
// String phone = RandomStringUtil.randomMobile("666");
//
// //获取会员ID,没有则新建一个
// int memberTotal = Integer.parseInt(tools.search("NORMAL","NORMAL").getJSONObject("result").getString("total"));
// if (memberTotal == 0) {
// memberId = tools.create(name,phone).getString("result");
// }
// memberId=tools.search("NORMAL","NORMAL").getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// //获取会员卡信息
// //获取会员卡列表,没有则新建一个
// int cardTotal = Integer.parseInt(orderTools.fetchPageOfMemberCard("次卡","MEMBER_CARD").getJSONObject("result").getString("total"));
// if (cardTotal == 0) {
// cardId = cardTools.memberCardCreate("次卡-创建订单会员卡"+ TimeUtils.getCurrentTime()).getString("result");
// }
// JSONObject memberCard=orderTools.fetchPageOfMemberCard("次卡","MEMBER_CARD");
// cardId=memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
// BigDecimal quantity= new BigDecimal(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("balance"));
// float price= Float.parseFloat(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("price"));
// int validPeriod= Integer.parseInt(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("validPeriod"));
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// //获取签单要用的卡快照id
// String latestSnapshotId=orderTools.fetchDetailById(cardId,xmAppApi.getLoginInfo().getBrandId(),xmAppApi.getLoginInfo().getStudioId(),xmAppApi.getLoginInfo().getAdminId()).getJSONObject("result").getString("latestSnapshotId");
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// //检查会员对该卡是否超出购买上限
// boolean limitResult=orderTools.checkAllowPurchase("MEMBER_CARD",cardId,memberId,"1",xmAppApi.getLoginInfo().getBrandId(),xmAppApi.getLoginInfo().getStudioId(),xmAppApi.getLoginInfo().getAdminId()).getBoolean("success");
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
//
// if(limitResult == true) {
//
// //创建待支付订单
// JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
// "MEMBER_CARD", memberId, price - price / 2, 0, "6");
// getDetailId = orderResult.getString("result");//订单ID
//
//
// try {
// Thread.sleep(3000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
//
//
// //关联流水
// JSONObject jsonObject=new JSONObject();
//
// JSONArray flowIds=new JSONArray();
// flowIds.add("1808757176611880962");
// jsonObject.put("flowIds",flowIds);
// jsonObject.put("voucherId",getDetailId);
// jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
// jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
// jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
//
// xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
// String result=xmAppApi.getBodyInJSON().getString("result");
// Assert.assertEquals(result,"true","关联流水失败");
//
// try {
// Thread.sleep(3000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// //校验关联流水之后,订单状态变成已完成
// //获取订单详情
//
// //校验获取订单详情
// JSONObject getDetailResult=orderTools.getDetail(getDetailId);
// String state=getDetailResult.getJSONObject("result").getString("state");
// Assert.assertEquals(state,"PAID","关联流水成功,但订单状态未是已完成");
//
//
//
// //关联之后一定要把签单订单作废!!否则下次流水就不能关联了
// //校验是否可以作废签单订单
// boolean checkDiscardSignVoucherResult = orderTools.checkDiscardVoucher(getDetailId).getBoolean("success");
//
// try {
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
//
// if (checkDiscardSignVoucherResult == true) {
// JSONObject discardResult = orderTools.discard(getDetailId, "重复录入", "已作废签单订单" + RandomStringUtil.randomString(10));
// Assert.assertEquals(discardResult.getString("success"), "true", "签单订单作废失败");
// }
//
// }
//
// }
//
//}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment