Commit 9d08ba35 by DuJunLi
parents 31c93767 099ccc55
......@@ -82,7 +82,7 @@ public class TestListByVoucherId extends BaseTestImpl {
//创建订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
"MEMBER_CARD", "1805435813468483586", price - price / 2, price - price / 2, "1", dataUserInfo);
"MEMBER_CARD", "1805435813468483586", price - price / 2, price - price / 2, "1", true,dataUserInfo);
String success = orderResult.getString("success");
String getDetailId = orderResult.getString("result");
Assert.assertEquals(success, "true", "创建签单订单失败");
......
......@@ -245,7 +245,7 @@ public class TestAddMemberReserve extends BaseTestImpl {
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",dataUserInfo);
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true,dataUserInfo);
}
}
......
......@@ -336,7 +336,7 @@ public class TestAddToQueue extends BaseTestImpl {
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",dataUserInfo);
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true,dataUserInfo);
}
}
......
......@@ -269,7 +269,7 @@ public class TestXCXSignIn extends BaseTestImpl {
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",dataUserInfo);
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true,dataUserInfo);
}
}
......
......@@ -58,7 +58,7 @@ public class TestEditPersonalCourse extends BaseTestImpl {
String courseName = "存量瑜伽课程"+ TimeUtils.getCurrentTime();
JSONObject body = new JSONObject();
body.put("categoryId", courseDetail.getString("categoryId"));
body.put("categoryId", categoryId);
body.put("courseName", courseName);
body.put("duration", duration); // 时长
body.put("difficulty", difficulty); // 难度
......@@ -81,7 +81,11 @@ public class TestEditPersonalCourse extends BaseTestImpl {
xmAppApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
String[] keys = {"courseName","duration","difficulty","color","coverId","timeUnit","categoryId","sourceId","sourceType","brandId","sizeType","allArea","capacity","minCapacity"};
String[] values = {courseName,String.valueOf(duration),String.valueOf(difficulty),"#AACF53","0","MINUTE",categoryId,xmAppApi.getLoginInfo().getStudioId(),"STUDIO",xmAppApi.getLoginInfo().getBrandId(),"ONE_TO_MANY","false",String.valueOf(capacity),"1"};
// 校验内容与编辑的是否一致
......
......@@ -119,7 +119,7 @@ public class TestGetCostData extends XMBaseTest {
//创建部分支付订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, 0, "PURCHASE",
"MEMBER_CARD", memberId, price, price / 2, "1");
"MEMBER_CARD", memberId, price, price / 2, "1",false);
String getDetailId = orderResult.getString("result");
try {
......
......@@ -119,7 +119,7 @@ public class TestGetOrderData extends XMBaseTest {
//创建部分支付订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, 0, "PURCHASE",
"MEMBER_CARD", memberId, price, price / 2, "1");
"MEMBER_CARD", memberId, price, price / 2, "1",false);
String getDetailId = orderResult.getString("result");
try {
......
package com.xiaomai.cases.polar.data.salesData;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.clue.MemberTools;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.cases.polar.member.Tools;
import com.xiaomai.cases.polar.memberCard.CardTools;
......@@ -130,7 +129,7 @@ public class TestCenterData extends XMBaseTest {
//创建订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
"MEMBER_CARD", memberId, price - price / 2, price - price / 2, "1");
"MEMBER_CARD", memberId, price - price / 2, price - price / 2, "1",true);
getDetailId = orderResult.getString("result");
try {
......
......@@ -162,7 +162,7 @@ public class TestStartContractV2 extends BaseTestImpl {
body.put("receiverId",studentId);
body.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
body.put("type","SIGN");
String[] status = {"WAITING", "PAID", "ARREARS"};
String[] status = {"WAITING", "PAID", "DELINQUENT"};
body.put("states",status);
body.put("brandId",xmAppApi.getLoginInfo().getBrandId());
body.put("studioId",xmAppApi.getLoginInfo().getStudioId());
......
......@@ -362,11 +362,12 @@ public class OrderTools extends XMBaseTest {
* @param receivableAmount:应收金额 就是优惠之后的小计
* @param amount:支付金额 支付信息输入的金额
* @param paymentWay:支付方式
* @param directReceive:是否发放权益
* @author: yangfangfang
**/
public JSONObject signOrder(String cardId,String cardSnapshotId,BigDecimal quantity,float price,int validPeriod,String latestSnapshotId,float deductionAmount,String activatePattern,
String commodityCardType,String memberId,float receivableAmount,float amount,String paymentWay,DataUserInfo...dataUserInfos){
String commodityCardType,String memberId,float receivableAmount,float amount,String paymentWay,boolean directReceive,DataUserInfo...dataUserInfos){
dataApi.setApiModule(ApiModule.Polar_Finance)
......@@ -408,6 +409,7 @@ public class OrderTools extends XMBaseTest {
jsonObject.put("memberId",memberId);
jsonObject.put("receivableAmount",receivableAmount);//应收金额
jsonObject.put("operatorId",dataApi.getLoginInfo().getAdminId());
jsonObject.put("directReceive",directReceive);
JSONArray paymentWays=new JSONArray();
......
......@@ -99,7 +99,7 @@ public class TestCancel extends XMBaseTest {
//创建待支付订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,0,"1");
"MEMBER_CARD",memberId,price-price/2,0,"1",false);
String success=orderResult.getString("success");
String getDetailId=orderResult.getString("result");
Assert.assertEquals(success,"true","创建待支付订单失败");
......
......@@ -101,7 +101,7 @@ public class TestDiscard extends XMBaseTest {
//创建签单订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1");
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true);
String success=orderResult.getString("success");
String getDetailId=orderResult.getString("result");
Assert.assertEquals(success,"true","创建订单失败");
......
......@@ -100,7 +100,7 @@ public class TestModifyMemo extends XMBaseTest {
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1");
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true);
String success=orderResult.getString("success");
String getDetailId=orderResult.getString("result");
Assert.assertEquals(success,"true","创建订单失败");
......
......@@ -64,7 +64,7 @@ public class TestPageVoucher extends XMBaseTest {
jsonObject.put("source","OFFLINE_SOURCE");
JSONArray states=new JSONArray();
states.add("ARREARS");
states.add("DELINQUENT");
states.add("PAID");
states.add("WAITING");
states.add("CANCEL");
......
......@@ -13,6 +13,7 @@ import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.math.BigDecimal;
......@@ -102,7 +103,7 @@ public class TestPay extends XMBaseTest {
//创建部分支付订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, 0, "PURCHASE",
"MEMBER_CARD", memberId, price,price / 2 , "1");
"MEMBER_CARD", memberId, price,price / 2 , "1",false);
String getDetailId = orderResult.getString("result");
......@@ -118,7 +119,7 @@ public class TestPay extends XMBaseTest {
String state=getDetailResult.getJSONObject("result").getString("state");
String unpaidAmount=getDetailResult.getJSONObject("result").getString("unpaidAmount");
Assert.assertEquals(id.equals(getDetailId),true,"获取创建的订单详情失败");
Assert.assertEquals(state,"ARREARS","获取创建的订单状态未是部分支付");
Assert.assertEquals(state,"WAITING","获取创建的订单状态为部分支付");
//继续收款
......@@ -168,4 +169,121 @@ public class TestPay extends XMBaseTest {
}
}
@DataProvider
public Object[][] dataProvider(){
return new Object[][]{
{true,"发放商品权益"},
{false,"不发放商品权益"}
};
}
@Test(dataProvider = "dataProvider")
public void testSignOrder2(boolean directReceive,String memo) {
// 查询存量的学员没有则创建学员
if (tools.commonSearch("刘佳","NORMAL").getJSONArray("result").size()>0){
memberId = tools.commonSearch("刘佳","NORMAL").getJSONArray("result").getJSONObject(0).getString("id");
}else if (tools.commonSearch("刘佳","HISTORY").getJSONArray("result").size()>0){
memberId = tools.commonSearch("刘佳","HISTORY").getJSONArray("result").getJSONObject(0).getString("id");
}else if (tools.commonSearch("刘佳","POTENTIAL").getJSONArray("result").size()>0){
memberId = tools.commonSearch("刘佳","POTENTIAL").getJSONArray("result").getJSONObject(0).getString("id");
}else{
memberId = tools.create("刘佳", RandomStringUtil.randomMobile("214")).getString("result");
}
// 查询存量的卡
JSONObject fetchPageOfMemberCard = orderTools.fetchPageOfMemberCard("","MEMBER_CARD").getJSONObject("result");
int total = Integer.parseInt(fetchPageOfMemberCard.getString("total"));
String cardId = "";
if (total == 0) {
cardId = cardTools.memberCardCreate("创建先享后付订单"+ TimeUtils.getCurrentTime()).getString("result");
}
cardId = fetchPageOfMemberCard.getJSONArray("records").getJSONObject(0).getString("id");
BigDecimal quantity = new BigDecimal(fetchPageOfMemberCard.getJSONArray("records").getJSONObject(0).getJSONArray("benefitList").getJSONObject(0).getString("balance"));
float price = Float.parseFloat(fetchPageOfMemberCard.getJSONArray("records").getJSONObject(0).getString("price"));
int validPeriod = Integer.parseInt(fetchPageOfMemberCard.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);
}
//创建待支付订单(不发放商品权益)
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, 0, "PURCHASE",
"MEMBER_CARD", memberId, price,price / 2 , "1", false);
String getDetailId = orderResult.getString("result");
//继续收款
JSONObject jsonObject = new JSONObject();
jsonObject.put("operationTime", TimeUtils.getCurrentTime());
jsonObject.put("operatorId", xmAppApi.getLoginInfo().getAdminId());
JSONArray paymentWays = new JSONArray();
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("amount", 0.01);
jsonObject1.put("paymentWay", "1");//线下微信
JSONArray voucherResourceIds = new JSONArray();
voucherResourceIds.add("");
jsonObject1.put("voucherResourceIds", voucherResourceIds);
paymentWays.add(jsonObject1);
jsonObject.put("paymentWays", paymentWays);
jsonObject.put("voucherId", getDetailId);
jsonObject.put("directReceive", directReceive);
jsonObject.put("brandId", xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", xmAppApi.getLoginInfo().getStudioId());
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
JSONObject getDetailResult = orderTools.getDetail(getDetailId);
String businessNo = getDetailResult.getJSONObject("result").getString("businessNo");
String state = getDetailResult.getJSONObject("result").getString("state");
if (directReceive){
Assert.assertEquals(state,"DELINQUENT","选择先使用后补交,订单状态为待补交状态");
}else{
Assert.assertEquals(state,"WAITING","选择全额支付后才发放商品,订单状态为待支付状态");
}
//校验获取会员下的购买的会员卡是否生成卡包
//获取会员下的购买的会员卡
JSONObject fetchUserCardListResult=orderTools.fetchUserCardList("MEMBER",memberId,"NORMAL");
if (directReceive){
String fetchUserCardListId=fetchUserCardListResult.getJSONArray("result").getJSONObject(0).getString("id");//memberCardId
//获取售卖详情
JSONObject findDetailByIdResult=cardTools.memberCardFindDetailById(fetchUserCardListId);
String findDetailByIdTradeOrderNumber = findDetailByIdResult.getJSONObject("result").getString("tradeOrderNumber");//订单号
Assert.assertEquals(findDetailByIdTradeOrderNumber.equals(businessNo),true,"已发放商品,未生成卡包");//断言的别意:生成的卡包的订单号和上述创建订单的订单号一致不一致的校验
}else {
if (fetchUserCardListResult.getJSONArray("result").size()>0){
String fetchUserCardListId=fetchUserCardListResult.getJSONArray("result").getJSONObject(0).getString("id");//memberCardId
//获取售卖详情
JSONObject findDetailByIdResult=cardTools.memberCardFindDetailById(fetchUserCardListId);
String findDetailByIdTradeOrderNumber = findDetailByIdResult.getJSONObject("result").getString("tradeOrderNumber");//订单号
Assert.assertEquals(!findDetailByIdTradeOrderNumber.equals(businessNo),true,"未发放商品,生成了卡包");//断言的别意:生成的卡包的订单号和上述创建订单的订单号一致不一致的校验
}
}
orderTools.discard(getDetailId, "重复录入","作废订单");
}
}
......@@ -105,7 +105,7 @@ public class TestRefundOrder extends XMBaseTest {
//创建订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
"MEMBER_CARD", memberId, price - price / 2, price - price / 2, "1");
"MEMBER_CARD", memberId, price - price / 2, price - price / 2, "1",true);
String success = orderResult.getString("success");
String getDetailId = orderResult.getString("result");
Assert.assertEquals(success, "true", "创建订单失败");
......
......@@ -7,12 +7,14 @@ 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.DataProvider;
import org.testng.annotations.Test;
import java.math.BigDecimal;
......@@ -102,7 +104,7 @@ public class TestSignOrder extends XMBaseTest {
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1");
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true);
String success=orderResult.getString("success");
String getDetailId=orderResult.getString("result");
Assert.assertEquals(success,"true","创建签单订单失败");
......@@ -203,4 +205,125 @@ public class TestSignOrder extends XMBaseTest {
}
@DataProvider
public Object[][] dataProvider(){
return new Object[][]{
{true,"发放商品权益"},
{false,"不发放商品权益"}
};
}
@Test(description = "部分支付不发放商品权益")
public void testSignOrder2(boolean directReceive,String memo) {
// 查询存量的学员没有则创建学员
if (tools.commonSearch("刘青","NORMAL").getJSONArray("result").size()>0){
memberId = tools.commonSearch("刘青","NORMAL").getJSONArray("result").getJSONObject(0).getString("id");
}else if (tools.commonSearch("刘青","HISTORY").getJSONArray("result").size()>0){
memberId = tools.commonSearch("刘青","HISTORY").getJSONArray("result").getJSONObject(0).getString("id");
}else if (tools.commonSearch("刘青","POTENTIAL").getJSONArray("result").size()>0){
memberId = tools.commonSearch("刘青","POTENTIAL").getJSONArray("result").getJSONObject(0).getString("id");
}else{
memberId = tools.create("刘青", RandomStringUtil.randomMobile("214")).getString("result");
}
// 查询存量的卡
JSONObject fetchPageOfMemberCard = orderTools.fetchPageOfMemberCard("","MEMBER_CARD").getJSONObject("result");
int total = Integer.parseInt(fetchPageOfMemberCard.getString("total"));
String cardId = "";
if (total == 0) {
cardId = cardTools.memberCardCreate("创建先享后付订单"+ TimeUtils.getCurrentTime()).getString("result");
}
cardId = fetchPageOfMemberCard.getJSONArray("records").getJSONObject(0).getString("id");
BigDecimal quantity = new BigDecimal(fetchPageOfMemberCard.getJSONArray("records").getJSONObject(0).getJSONArray("benefitList").getJSONObject(0).getString("balance"));
float price = Float.parseFloat(fetchPageOfMemberCard.getJSONArray("records").getJSONObject(0).getString("price"));
int validPeriod = Integer.parseInt(fetchPageOfMemberCard.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);
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("salesmanId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("operationTime", TimeUtils.getCurrentTime());
JSONObject card = new JSONObject();
card.put("cardId",cardId);
card.put("cardSnapshotId",latestSnapshotId);
JSONObject cardChange = new JSONObject();
cardChange.put("quantity",quantity);
cardChange.put("price",price);
cardChange.put("validPeriod",validPeriod);
cardChange.put("latestSnapshotId",latestSnapshotId);
card.put("cardChange",cardChange);
card.put("deductionAmount",0);//优惠金额(元)
card.put("activatePattern","PURCHASE");
card.put("commodityCardType","MEMBER_CARD");
jsonObject.put("card",card);
jsonObject.put("objectId", RandomStringUtil.randomString(20));
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("memberId",memberId);
jsonObject.put("receivableAmount",price);//应收金额
jsonObject.put("directReceive",directReceive); //是否发放权益
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
JSONArray paymentWays = new JSONArray();
jsonObject.put("paymentWays",paymentWays);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true);
JSONObject bodyInJSON = xmAppApi.getBodyInJSON();
String getDetailId = bodyInJSON.getString("result");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
JSONObject getDetailResult = orderTools.getDetail(getDetailId);
String businessNo = getDetailResult.getJSONObject("result").getString("businessNo");
String state = getDetailResult.getJSONObject("result").getString("state");
if (directReceive){
Assert.assertEquals(state,"DELINQUENT","选择先使用后补交,订单状态为待补交状态");
}else{
Assert.assertEquals(state,"WAITING","选择全额支付后才发放商品,订单状态为待支付状态");
}
if (directReceive){
//校验获取会员下的购买的会员卡是否生成卡包
//获取会员下的购买的会员卡
JSONObject fetchUserCardListResult=orderTools.fetchUserCardList("MEMBER",memberId,"NORMAL");
String fetchUserCardListId=fetchUserCardListResult.getJSONArray("result").getJSONObject(0).getString("id");//memberCardId
//获取售卖详情
JSONObject findDetailByIdResult=cardTools.memberCardFindDetailById(fetchUserCardListId);
String findDetailByIdTradeOrderNumber = findDetailByIdResult.getJSONObject("result").getString("tradeOrderNumber");//订单号
Assert.assertEquals(findDetailByIdTradeOrderNumber.equals(businessNo),true,"已发放商品,未生成卡包");//断言的别意:生成的卡包的订单号和上述创建订单的订单号一致不一致的校验
}
orderTools.discard(getDetailId, "重复录入","作废订单");
}
}
package com.xiaomai.cases.polar.finance.order;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.polar.clue.MemberTools;
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 org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.math.BigDecimal;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.finance.order
* @Author: xuyamei
* @CreateTime: 2024-12-12 10:02
* @Description: 创建先享后付订单
* @Version: 1.0
*/
public class TestSignOrderAxf extends BaseTestImpl {
MemberTools memberTools = new MemberTools();
OrderTools orderTools = new OrderTools();
CardTools cardTools = new CardTools();
Tools tools = new Tools();
@BeforeMethod
@Override
public void beforeTest(){
setTestInfo(ApiModule.Polar_Finance,"API_signOrderAxf", LoginAccount.GYM_PROD, Terminal.B,"xym");
super.beforeTest();
}
@Test
public void testSignOrderAxf(){
String memberId = "";
// 查询存量的学员没有则创建学员
if (tools.commonSearch("先享后付学员嘉艺","NORMAL").getJSONArray("result").size()>0){
memberId = tools.commonSearch("先享后付学员嘉艺","NORMAL").getJSONArray("result").getJSONObject(0).getString("id");
}else if (tools.commonSearch("先享后付学员嘉艺","HISTORY").getJSONArray("result").size()>0){
memberId = tools.commonSearch("先享后付学员嘉艺","HISTORY").getJSONArray("result").getJSONObject(0).getString("id");
}else if (tools.commonSearch("先享后付学员嘉艺","POTENTIAL").getJSONArray("result").size()>0){
memberId = tools.commonSearch("先享后付学员嘉艺","POTENTIAL").getJSONArray("result").getJSONObject(0).getString("id");
}else{
memberId = memberTools.create("先享后付学员嘉艺", RandomStringUtil.randomMobile("213")).getString("result");
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
// 查询存量的卡
JSONObject fetchPageOfMemberCard = orderTools.fetchPageOfMemberCard("","MEMBER_CARD").getJSONObject("result");
int total = Integer.parseInt(fetchPageOfMemberCard.getString("total"));
String cardId = "";
if (total == 0) {
cardId = cardTools.memberCardCreate("创建先享后付订单"+ TimeUtils.getCurrentTime()).getString("result");
}
cardId = fetchPageOfMemberCard.getJSONArray("records").getJSONObject(0).getString("id");
BigDecimal quantity = new BigDecimal(fetchPageOfMemberCard.getJSONArray("records").getJSONObject(0).getJSONArray("benefitList").getJSONObject(0).getString("balance"));
float price = Float.parseFloat(fetchPageOfMemberCard.getJSONArray("records").getJSONObject(0).getString("price"));
int validPeriod = Integer.parseInt(fetchPageOfMemberCard.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);
}
JSONObject jsonObject=new JSONObject();
jsonObject.put("salesmanId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("operationTime", TimeUtils.getCurrentTime());
JSONObject card = new JSONObject();
card.put("cardId",cardId);
card.put("cardSnapshotId",latestSnapshotId);
JSONObject cardChange=new JSONObject();
cardChange.put("quantity",quantity);
cardChange.put("price",price);
cardChange.put("validPeriod",validPeriod);
cardChange.put("latestSnapshotId",latestSnapshotId);
card.put("cardChange",cardChange);
card.put("deductionAmount",0);//优惠金额(元)
card.put("activatePattern","PURCHASE");
card.put("commodityCardType","MEMBER_CARD");
jsonObject.put("card",card);
jsonObject.put("objectId", RandomStringUtil.randomString(20));
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("memberId",memberId);
jsonObject.put("receivableAmount",price);//应收金额
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
JSONObject axfOrderInfo = new JSONObject();
axfOrderInfo.put("totalPeriod","2"); //总期数
axfOrderInfo.put("cycleType","MONTH"); // 按月扣款
axfOrderInfo.put("periodType","SAME_EACH_PERIOD"); // 扣款每期一致
axfOrderInfo.put("cycleValue",1); // 按月1号
axfOrderInfo.put("chargeNow", false);
JSONArray periodPriceList = new JSONArray();
for (int i = 0; i < 2; i++){
JSONObject priceObj = new JSONObject();
priceObj.put("period",i+1); // 期数
priceObj.put("salePrice",price/2); // 每期还款金额
periodPriceList.add(priceObj);
}
axfOrderInfo.put("periodPriceList",periodPriceList);
jsonObject.put("axfOrderInfo",axfOrderInfo);
JSONArray paymentWays = new JSONArray();
JSONObject object = new JSONObject();
object.put("amount",price);//支付金额
object.put("paymentWay","7"); // 7先享后付支付
JSONArray voucherResourceIds = new JSONArray();//支付凭证
voucherResourceIds.add("");
object.put("voucherResourceIds",voucherResourceIds);
paymentWays.add(object);
jsonObject.put("paymentWays",paymentWays);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true);
JSONObject bodyInJSON = xmAppApi.getBodyInJSON();
String getDetailId = bodyInJSON.getString("result");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
// 校验订单详情状态:待支付、先享后付状态为签约中
JSONObject getDetailResult = orderTools.getDetail(getDetailId);
String state = getDetailResult.getJSONObject("result").getString("state");
Assert.assertEquals(state,"WAITING","先享后付订单创建成功后订单状态不是待支付");
String axfState = getDetailResult.getJSONObject("result").getString("axfState");
Assert.assertEquals(axfState,"PROCESS","先享后付订单安心付状态不是签约中");
orderTools.discard(getDetailId, "重复录入","作废订单");
}
}
......@@ -61,7 +61,7 @@ public class TestSumVoucherAmount extends XMBaseTest {
jsonObject.put("source","OFFLINE_SOURCE");
JSONArray states=new JSONArray();
states.add("ARREARS");
states.add("DELINQUENT");
states.add("PAID");
states.add("WAITING");
states.add("CANCEL");
......
......@@ -12,12 +12,10 @@ import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.io.IOException;
import java.math.BigDecimal;
public class TestUploadResources extends XMBaseTest {
......@@ -107,7 +105,7 @@ public class TestUploadResources extends XMBaseTest {
//创建订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
"MEMBER_CARD", memberId, price - price / 2, price - price / 2, "1");
"MEMBER_CARD", memberId, price - price / 2, price - price / 2, "1",true);
String success = orderResult.getString("success");
String getDetailId = orderResult.getString("result");
Assert.assertEquals(success, "true", "创建签单订单失败");
......
......@@ -140,6 +140,6 @@ public class TestAppointCoach extends XMBaseTest {
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1"); }
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true); }
}
}
......@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.clue.MemberTools;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.cases.polar.finance.revenueAndExpenditure.RevenueAndExpenditureTools;
import com.xiaomai.cases.polar.memberCard.CardTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
......@@ -97,7 +96,7 @@ public class TestForceUpdate extends XMBaseTest {
//创建订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
"MEMBER_CARD", memberId, price - price / 2, price - price / 2, "1");
"MEMBER_CARD", memberId, price - price / 2, price - price / 2, "1",true);
getDetailId = orderResult.getString("result");
try {
......
......@@ -72,7 +72,7 @@ public class GetMemberCardBaseInfoForSign extends BaseTestImpl {
//给会员签单-购买会员卡
orderTools.signOrder(memberCardId,latestSnapshotId,quantity,price,validPeriod,
latestSnapshotId,0,"FIRST_USED","MEMBER_CARD",
memberId,price,price,"1");
memberId,price,price,"1",true);
}
......
......@@ -5,7 +5,6 @@ import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest;
import org.springframework.stereotype.Component;
......@@ -238,7 +237,7 @@ public class MemberCardTimeSaleTools extends XMBaseTest {
jsonObject.put("current", 0);
jsonObject.put("size", 20);
jsonObject.put("supplierId", supplierId);//取活动详情的sourceId
//jsonObject.put("states", states);//WAITING"待支付, "ARREARS"部分支付, "CANCEL"、"TIMEOUT"已取消 ,"PAID"已完成 "DISCARD"已作废
//jsonObject.put("states", states);//WAITING"待支付, "DELINQUENT"待补交, "CANCEL"、"TIMEOUT"已取消 ,"PAID"已完成 "DISCARD"已作废
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
......
......@@ -387,7 +387,7 @@ public class TestAddMemberReserve extends BaseTestImpl {
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1");
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true);
}
}
......
......@@ -269,7 +269,7 @@ public class TestAddToQueue extends BaseTestImpl {
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1");
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true);
}
}
......
......@@ -216,7 +216,7 @@ public class TestBatchReserveGroup extends BaseTestImpl {
//创建签单订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
"MEMBER_CARD", memberId1, price - price / 2, price - price / 2, "1");
"MEMBER_CARD", memberId1, price - price / 2, price - price / 2, "1",true);
}
try {
......@@ -279,7 +279,7 @@ public class TestBatchReserveGroup extends BaseTestImpl {
//创建签单订单
JSONObject orderResult = orderTools.signOrder(cardId, latestSnapshotId, quantity, price, validPeriod, latestSnapshotId, price / 2, "PURCHASE",
"MEMBER_CARD", memberId2, price - price / 2, price - price / 2, "1");
"MEMBER_CARD", memberId2, price - price / 2, price - price / 2, "1",true);
}
try {
......
......@@ -232,7 +232,7 @@ public class TestSignIn extends BaseTestImpl {
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1");
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true);
}
}
......
......@@ -585,7 +585,7 @@ public class TestReservePerson extends BaseTestImpl {
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1");
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true);
}
}
......
......@@ -488,7 +488,7 @@ public class TestSignReservePerson extends BaseTestImpl {
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1");
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1",true);
}
}
}
package com.xiaomai.cases.polar.training;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.lunar.user.UserTools;
import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import javax.annotation.Resource;
public class TestAiChat extends BaseTestImpl {
@Resource(name="trainingTools")
TrainingTools trainingTools;
@Resource(name="userTools")
UserTools userTools;
DataUserInfo info = new DataUserInfo();
String memberId;
@BeforeMethod
@Override
public void beforeTest(){
setTestInfo(ApiModule.Polar_Training, "API_aiChat", LoginAccount.GYM_PROD, Terminal.B, "xyy");
super.beforeTest();
}
@Test(description = "获取AI小助理>进入日常会话>获取场景历史数据>进行AI聊天>清除聊天上下文>删除聊天记录")
public void testGetTrainingPlanContent() throws InterruptedException {
//1.获取日常问答的modelId,personModelId
String modelId = XMJSONPath.readPath(trainingTools.listModelPerson(),"$.result[0].modelId");
String personModelId = XMJSONPath.readPath(trainingTools.listModelPerson(),"$.result[0].id");
//2.获取日常问答的会话id
String conversationId = trainingTools.getAiConversationId(modelId,personModelId);
//3.查询当前会话的历史数据
int num = Integer.parseInt(XMJSONPath.readPath(trainingTools.getConversationMessagePage(conversationId),"$.result.total"));
JSONObject body = new JSONObject();
body.put("conversationId",conversationId);
body.put("question","你好");
//调用请求
xmAppApi.doRequest(RequestType.JSON, params, body.toString(), headers);
Thread.sleep(2000);
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(trainingTools.getConversationMessagePage(conversationId),"$.result.total"))==num+2);
//4.清除聊天上下文
trainingTools.clearConversationContext(conversationId);
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(trainingTools.getConversationMessagePage(conversationId),"$.result.total"))==num+2);
//5.删除聊天记录
trainingTools.clearConversationHistory(conversationId);
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(trainingTools.getConversationMessagePage(conversationId),"$.result.total"))==0);
}
}
package com.xiaomai.cases.polar.training;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.lunar.user.UserTools;
import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import javax.annotation.Resource;
public class TestGetTrainingPlanContent extends BaseTestImpl {
@Resource(name="trainingTools")
TrainingTools trainingTools;
@Resource(name="userTools")
UserTools userTools;
DataUserInfo info = new DataUserInfo();
String memberId;
@BeforeMethod
@Override
public void beforeTest(){
setTestInfo(ApiModule.Polar_Training, "API_getTrainingPlanContent", LoginAccount.GYM_PROD, Terminal.B, "xyy");
super.beforeTest();
}
@Test(description = "智能生成训练计划>查看训练详情>编辑训练计划>C端查看动作详情>删除训练计划")
public void testGetTrainingPlanContent() throws InterruptedException {
info.setTerminal(Terminal.minApp);
info.setLoginUser(LoginAccount.GYM_MINIAPPC);
//1.获取会员id
memberId = userTools.getMemberInfo(info).getString("memberId");
//2.获取胸部id
String bodyPartId = XMJSONPath.readPath(trainingTools.getBodyPartList(),"$.result[0].id");
//3.获取b端训练计划列表数据条数
int num = Integer.parseInt(XMJSONPath.readPath(trainingTools.trainingPlanRecordPage(memberId,""),"$.result.total"));
//4.智能生成中
String generateId = trainingTools.generateTrainingPlan(bodyPartId,memberId);
JSONObject body = new JSONObject();
body.put("id",generateId);
body.put("brandId", xmAppApi.getLoginInfo().getBrandId());
body.put("studioId",xmAppApi.getLoginInfo().getStudioId());
body.put("operatorId", xmAppApi.getLoginInfo().getAdminId());
//调用请求
xmAppApi.doRequest(RequestType.JSON, params, body.toString(), headers).assetsSuccess(true);
Thread.sleep(2000);
Assert.assertNotNull(XMJSONPath.readPath(xmAppApi.getBodyInJSON(),"$.result"));
//5.保存并发送训练计划
String exerciseId = XMJSONPath.readPath(trainingTools.getListByName("胸"),"$.result[0].id");
String exerciseName = XMJSONPath.readPath(trainingTools.getListByName("胸"),"$.result[0].name");
String recordId = trainingTools.trainingPlanRecordCreate(memberId,exerciseId,exerciseName);
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(trainingTools.trainingPlanRecordPage(memberId,""),"$.result.total"))==num+1);
//查看c端动作详情信息与b端提交的数据匹配
Assert.assertEquals(XMJSONPath.readPath(trainingTools.findTrainExerciseDetailById(exerciseId,recordId,info),"$.result.name"),exerciseName);
Assert.assertEquals(XMJSONPath.readPath(trainingTools.findTrainExerciseDetailById(exerciseId,recordId,info),"$.result.trainingBodyPartList[0].id"),bodyPartId);
//6.清理数据
//删除训练计划
trainingTools.trainingPlanRecordDelete(recordId);
//检验训练计划列表数据跟初始保持一致
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(trainingTools.trainingPlanRecordPage(memberId,""),"$.result.total"))==num);
}
}
......@@ -2,7 +2,6 @@ package com.xiaomai.utils;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
import org.testng.annotations.Test;
import java.beans.BeanInfo;
import java.beans.Introspector;
......@@ -12,10 +11,6 @@ import java.lang.reflect.Method;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.DayOfWeek;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
public class CommUtil {
......
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