Commit 590b2972 by DuJunLi
parents f0594f5d 7a0ee768
......@@ -7,11 +7,6 @@ import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class RevenueAndExpenditureTools extends XMBaseTest {
......@@ -35,7 +30,6 @@ public class RevenueAndExpenditureTools extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
JSONArray jsonArray=new JSONArray();
jsonArray.add(paymentWays);
jsonObject.put("paymentWays",jsonArray);
......@@ -69,7 +63,6 @@ public class RevenueAndExpenditureTools extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
JSONArray jsonArray=new JSONArray();
jsonArray.add(paymentWays);
jsonObject.put("paymentWays",jsonArray);
......@@ -90,9 +83,6 @@ public class RevenueAndExpenditureTools extends XMBaseTest {
* @param
* @description:分页作废收支列表
* @param supplierId:卖家ID 场馆ID
* @param brandId:品牌ID
* @param studioId:场馆ID
* @param operatorId:操作人ID
* @author: yangfangfang
**/
public JSONObject pageDiscardIncomeExpense(String paymentWays, String type, String item, String supplierId, DataUserInfo...dataUserInfos){
......@@ -106,7 +96,6 @@ public class RevenueAndExpenditureTools extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
JSONArray jsonArray=new JSONArray();
jsonArray.add(paymentWays);
jsonObject.put("paymentWays",jsonArray);
......@@ -152,22 +141,20 @@ public class RevenueAndExpenditureTools extends XMBaseTest {
* @param
* @description:上传图片资源
* @param bizCode:VOUCHER_INFO
* @param tenantType:BRAND
* @param filePath:图片地址
* @author: yangfangfang
**/
public JSONObject mobileResource( String bizCode, String tenantType, String filePath, DataUserInfo...dataUserInfos) throws IOException {
public JSONObject mobileResource( String bizCode,DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_mobileResource")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
super.beforeDataRequest(userInfos);
JSONObject jsonObject=new JSONObject();
jsonObject.put("tenantId",dataApi.getLoginInfo().getBrandId());
jsonObject.put("resourceName","imgFile/test1.jpg");
jsonObject.put("bizCode",bizCode);
jsonObject.put("tenantType",tenantType);
jsonObject.put("tenantType","BRAND");
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
......
package com.xiaomai.cases.polar.memberCard.MemberCardTimeSale;
import com.alibaba.fastjson.JSONObject;
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;
import java.util.ArrayList;
import java.util.List;
@Component("memberCardTimeSaleTools")
public class MemberCardTimeSaleTools extends XMBaseTest {
/**
* @param
* @description:B端查看秒杀活动列表
* @author: yangjian
* @param stat 活动状态
**/
public JSONObject getStudioActivityPage(String stat, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_getStudioActivityPage")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
List<String> status = new ArrayList<>();
status.add(stat);
JSONObject jsonObject = new JSONObject();
jsonObject.put("current", 0);
jsonObject.put("size", 20);
jsonObject.put("states", status);//UNPUBLISHED未发布;WAITING未开始;PROCESSING进行中;ENDED已结束;ABNORMAL已失效
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:B端创建限时秒杀活动
* @author: yangjian
* @param membercardId 关联的会员卡ID
* @param activityName 秒杀活动名称
**/
public JSONObject create(String membercardId,String activityName,Boolean publish, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_createfalshsale")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
List<String> applyMemberStates = new ArrayList<>();
applyMemberStates.add("POTENTIAL");
applyMemberStates.add("NORMAL");
applyMemberStates.add("HISTORY");
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityName", activityName);
jsonObject.put("activityType", "SECKILL");//活动类型为秒杀
jsonObject.put("endTime", TimeUtils.getTodayEndTime());//活动结束时间为今天24点
jsonObject.put("startTime", TimeUtils.getTodayTime());//活动开始时间为今天0点
jsonObject.put("applyMemberStates", applyMemberStates);//活动可参与用户
jsonObject.put("autoCancelMinutes", "5");//自动取消订单时间
jsonObject.put("commodityId", membercardId);//活动的会员卡商品
jsonObject.put("commodityType", "MEMBER_CARD");//商品类型,目前仅有会员卡
jsonObject.put("initSalesVolumeShow", "10");//初始秒杀数量显示
jsonObject.put("purchaseNumberLimit", -1);//购买数量限制:不限制
jsonObject.put("reserveReminder", true);//秒杀数量是否展示
jsonObject.put("specialPrice", "0");//秒杀价格0元
jsonObject.put("publish", publish);//是否发布
jsonObject.put("stock", "10");//活动库存数
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:B端搜索秒杀活动列表
* @author: yangjian
* @param activityNameLike 搜索内容
**/
public JSONObject getStudioActivityPage1(String activityNameLike, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_getStudioActivityPage")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityNameLike", activityNameLike);
jsonObject.put("size", 10);
jsonObject.put("current", 0);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:获取秒杀活动详情
* @author: yangjian
* @param activityId 活动ID
**/
public JSONObject getStudioActivityById(String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_getStudioActivityById")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:失效秒杀活动
* @author: yangjian
* @param activityId 活动ID
**/
public JSONObject studioSeckillInvalid(String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_studioSeckill_invalid")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:删除秒杀活动
* @author: yangjian
* @param activityId 活动ID
**/
public JSONObject studioSeckillDeleteById(String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_studioSeckill_deleteById")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:查看秒杀活动数据
* @author: yangjian
* @param activityId 活动ID
**/
public JSONObject getStatisticsData(String activityId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_getStatisticsData")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:查看秒杀活动数据
* @author: yangjian
* @param activityId 活动ID
* @param supplierId
**/
public JSONObject pageVoucher(String activityId,String supplierId,DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_pageVoucher")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
//List<String> states = new ArrayList<>();
//states.add(state);
JSONObject jsonObject = new JSONObject();
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("activityId", activityId);
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
}
package com.xiaomai.cases.polar.memberCard.MemberCardTimeSale;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
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.TimeUtils;
import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import javax.annotation.Resource;
public class TestPublish extends BaseTestImpl {
@Resource(name = "cardTools")
CardTools cardTools;
@Resource(name = "memberCardTimeSaleTools")
MemberCardTimeSaleTools MemberCardTimeSaleTools;
@BeforeClass
@Override
public void beforeTest() {
setTestInfo(ApiModule.Polar_Card, "API_studioSeckill_publish", LoginAccount.ADU_PROD, Terminal.B, "yangjian");
super.beforeTest();
}
@Test(description = "发布秒杀活动动")
public void testStudioSeckill_publish() throws InterruptedException {
Thread.sleep(2000);
String cardId = cardTools.memberCardCreate("用于秒杀活动的会员卡"+ TimeUtils.getCurrentTime()).getString("result");//创建一张用于秒杀活动的会员卡
String title ="未发布的秒杀活动"+ TimeUtils.getCurrentTime();
JSONObject result1 =MemberCardTimeSaleTools.getStudioActivityPage("UNPUBLISHED");//未发布条数;
int before=Integer.parseInt(result1.getJSONObject("result").getString("total"));
String activeid = MemberCardTimeSaleTools.create(cardId,title,false).getString("result");//创建一个未发布的秒杀活动
JSONObject result2 =MemberCardTimeSaleTools.getStudioActivityPage("UNPUBLISHED");//未发布条数;
int after=Integer.parseInt(result2.getJSONObject("result").getString("total"));
Assert.assertEquals(after,before+1);//未发布活动+1
MemberCardTimeSaleTools.getStudioActivityById(activeid);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "UNPUBLISHED", "目标活动非未发布状态");//断言目标活动非发布状态
JSONObject jsonObject = new JSONObject();
jsonObject.put("activityId",activeid);
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);
JSONObject result3 =MemberCardTimeSaleTools.getStudioActivityPage("UNPUBLISHED");//未发布条数;
int after2=Integer.parseInt(result3.getJSONObject("result").getString("total"));
Assert.assertEquals(after2,after-1);//未发布活动-1
MemberCardTimeSaleTools.getStudioActivityById(activeid);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "PROCESSING", "目标活动非进行中状态");//断言目标活动进行中状态
MemberCardTimeSaleTools.studioSeckillDeleteById(activeid);//删除秒杀活动
}
}
package com.xiaomai.cases.polar.memberCard.MemberCardTimeSale;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.cases.polar.memberCard.CardTools;
import com.xiaomai.cases.polar.studioConfig.MerchantTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
public class Testflashsaleedit extends BaseTestImpl {
@Resource(name = "cardTools")
CardTools cardTools;
@Resource(name = "memberCardTimeSaleTools")
MemberCardTimeSaleTools MemberCardTimeSaleTools;
@BeforeClass
@Override
public void beforeTest() {
setTestInfo(ApiModule.Polar_Card, "API_flashsaleedit", LoginAccount.ADU_PROD, Terminal.B, "yangjian");
super.beforeTest();
}
@Test(description = "编辑秒杀活动动")
public void testFlashsaleedit() throws InterruptedException {
Thread.sleep(2000);
String cardId = cardTools.memberCardCreate("用于秒杀活动的会员卡"+ TimeUtils.getCurrentTime()).getString("result");//创建一张用于秒杀活动的会员卡
JSONObject result =MemberCardTimeSaleTools.getStudioActivityPage1("");//所有活动条数;
int beforecount=Integer.parseInt(result.getJSONObject("result").getString("total"));
String title ="秒杀活动"+ TimeUtils.getCurrentTime();
String activeid = MemberCardTimeSaleTools.create(cardId,title,true).getString("result");//创建并发布一个秒杀活动
JSONObject result1 =MemberCardTimeSaleTools.getStudioActivityPage1("");//所有活动条数;
int aftercount1=Integer.parseInt(result1.getJSONObject("result").getString("total"));
Assert.assertEquals(aftercount1,beforecount+1);//创建秒杀活动后,秒杀活动列表+1
Assert.assertTrue(XMJSONPath.readPath(MemberCardTimeSaleTools.getStudioActivityPage("PROCESSING"),"$.result.records[0].activityId").equals(activeid),"活动列表非创建活动");//创建活动后断言,列表第一条进行中数据为新建活动
Assert.assertTrue(XMJSONPath.readPath(MemberCardTimeSaleTools.getStudioActivityPage1(title),"$.result.records[0].activityName").equals(title),"搜索结果非新建活动");//创建活动后断言,列表能正常搜索道
JSONObject jsonObject = new JSONObject();//修改活动名称+修改活动剩余库存数量
List<String> applyMemberStates = new ArrayList<>();
applyMemberStates.add("POTENTIAL");
applyMemberStates.add("NORMAL");
applyMemberStates.add("HISTORY");
jsonObject.put("activityName", "编辑后的秒杀活动");
jsonObject.put("activityType", "SECKILL");//活动类型为秒杀
jsonObject.put("endTime", TimeUtils.getTodayEndTime());//活动结束时间为今天24点
jsonObject.put("startTime", TimeUtils.getTodayTime());//活动开始时间为今天0点
jsonObject.put("applyMemberStates", applyMemberStates);//活动可参与用户
jsonObject.put("autoCancelMinutes", "5");//自动取消订单时间
jsonObject.put("commodityId", cardId);//活动的会员卡商品
jsonObject.put("commodityType", "MEMBER_CARD");//商品类型,目前仅有会员卡
jsonObject.put("initSalesVolumeShow", "10");//初始秒杀数量显示
jsonObject.put("purchaseNumberLimit", -1);//购买数量限制:不限制
jsonObject.put("reserveReminder", true);//秒杀数量是否展示
jsonObject.put("specialPrice", "0");//秒杀价格0元
jsonObject.put("publish", "true");//是否发布
jsonObject.put("stock", "11");//库存数
jsonObject.put("activityId",activeid);
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);
MemberCardTimeSaleTools.getStudioActivityById(activeid);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.activityName"), "编辑后的秒杀活动", "目标活动没有修改成功");//断言目标活动名字变更
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.stock"), "11", "目标活动库存数没有修改成功");//断言目标活动库存数量变更
MemberCardTimeSaleTools.getStatisticsData(activeid);//查看活动数据
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.totalStock"), "11", "目标活动库存数没有修改成功");//断言目标活动库存数量变更
MemberCardTimeSaleTools.getStudioActivityById(activeid);
String supplierId=XMJSONPath.readPath(dataApi.getApi_response(),"$.result.sourceId");//获取supplierId
MemberCardTimeSaleTools.pageVoucher(activeid,supplierId);//查看活动详情-订单数据
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$success"), "true", "活动详情订单数据没有访问成功");
JSONObject result2 =MemberCardTimeSaleTools.getStudioActivityPage("ABNORMAL");//所有活动条数;
int count1=Integer.parseInt(result2.getJSONObject("result").getString("total"));
MemberCardTimeSaleTools.studioSeckillInvalid(activeid);//失效活动
JSONObject result3 =MemberCardTimeSaleTools.getStudioActivityPage("ABNORMAL");//活动后活动条数
int count2=Integer.parseInt(result3.getJSONObject("result").getString("total"));
Assert.assertEquals(count2,count1+1);//失效活动+1
MemberCardTimeSaleTools.getStudioActivityById(activeid);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.state"), "ABNORMAL", "目标活动没有失效状态");//断言目标活动变成失效状态
MemberCardTimeSaleTools.studioSeckillDeleteById(activeid);//删除秒杀活动
JSONObject result4 =MemberCardTimeSaleTools.getStudioActivityPage1("");//删除活动后活动条数
int aftercount2=Integer.parseInt(result4.getJSONObject("result").getString("total"));
Assert.assertEquals(aftercount2,aftercount1-1);//删除秒杀活动后,秒杀活动列表-1
}
}
package com.xiaomai.cases.polar.setting.venue;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.lunar.minMemberCard.MinCardTools;
import com.xiaomai.cases.lunar.order.OrderCTools;
import com.xiaomai.cases.lunar.user.UserTools;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.cases.polar.memberCard.CardTools;
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.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 javax.annotation.Resource;
public class TestPurchaseAreaTimes extends XMBaseTest {
@Resource(name = "venueAreaTools")
VenueAreaTools venueAreaTools;
@Resource(name = "userTools")
UserTools userTools;
@Resource(name = "minCardTools")
MinCardTools minCardTools;
@Resource(name = "cardTools")
CardTools cardTools;
@Resource(name = "orderCTools")
OrderCTools orderCTools;
@Resource(name = "orderTools")
OrderTools orderTools;
DataUserInfo info = new DataUserInfo();
String depositCardId;
String price = "1.99";//设置场地全场价格
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_purchaseAreaTimes")
.setLoginUser(LoginAccount.GYM_MINIAPPC)
.setTerminal(Terminal.minApp);
dal.setCase_owner("xyy")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "小程序使用储值卡购买场地预约")
public void testPurchaseAreaTimesByDeposit() throws InterruptedException {
//获取小程序可预约的场地数
int enableReserveSuiteNum = venueAreaTools.getEnableReserveVenueAreaSuiteList().getJSONArray("result").size();
int suiteNum = venueAreaTools.getVenueAreaSuitePage().getJSONArray("result").size();
//切换B端校验
info.setTerminal(Terminal.B);
info.setLoginUser(LoginAccount.GYM_PROD);
//1.创建场地
String groupId = venueAreaTools.saveVenueArea(info);
//2.创建场地组
String suiteName = "西湖场地组" + RandomStringUtil.randomString(5);
String suiteId = venueAreaTools.createOrEditVenueAreaSuite(null,suiteName,info);
//3.场地组绑定场地
venueAreaTools.bindVenueAreas(suiteId, groupId, info);
//获取全场的areaId,一般全场的areaId为groupId+1以此类推;
String areaId = String.valueOf(Long.valueOf(groupId)+1);
//获取场地组的时间区间,并检验是否有返回值
Assert.assertTrue(venueAreaTools.getSuiteVenueAreaTimeList(suiteId,info).getJSONArray("result").size()>0);
//有返回值就可以批量创建可预约时间
venueAreaTools.createBatchNormalDate(suiteId, groupId,price,info);
//检验c端的场地组数量+1
Assert.assertTrue(venueAreaTools.getEnableReserveVenueAreaSuiteList().getJSONArray("result").size()==enableReserveSuiteNum+1);
Assert.assertTrue(venueAreaTools.getVenueAreaSuitePage().getJSONArray("result").size()==suiteNum+1);
//检验该场地组时间块有数值
Assert.assertTrue(venueAreaTools.getSuiteReserveTimeBlock(suiteId).getJSONObject("result").getJSONArray("venueReserveTimeBlockVOS").size()>0);
//检验c端的场地详情为启用中
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.getVenueAreaSuiteDetail(suiteId),"$.result.state"),"ON");
//获取用户
String memberId = userTools.getMemberInfo().getString("memberId");
//获取当天的0点
String reserveDay = String.valueOf(TimeUtils.getTodayTime());
//查询是否有可使用的储值卡,如果没有创建1张
int num = XMJSONPath.getJSONArrayByReadPath(minCardTools.listUserUsableDepositCard(memberId, "ORDER_VENUE"), "$.result.applicableList").size();
if (num > 1) {
for (int i = 0; i < num - 1; i++) {
String leftBalance = XMJSONPath.readPath(minCardTools.listUserUsableDepositCard(memberId, "ORDER_VENUE"), "$.result.applicableList[" + i + "].depositBenefit.leftBalance");
//遍历储值卡的可用余额是否大于等于会员卡的价格
if (Double.parseDouble(leftBalance) >= Double.parseDouble(price)) {
depositCardId = XMJSONPath.readPath(minCardTools.listUserUsableDepositCard(memberId, "ORDER_VENUE"), "$.result.applicableList[" + i + "].id");
break;
} else {
//查询启用中的储值卡,获取储值卡id
String cardId = XMJSONPath.readPath(cardTools.fetchPageOfMemberCard("DEPOSIT_CARD", info), "$.result.records[0].id");
String latestSnapshotId = XMJSONPath.readPath(cardTools.fetchDetailById(cardId, info), "$.result.latestSnapshotId");
//b端购买1张储值卡
cardTools.signOrderDeposit(cardId, latestSnapshotId, memberId, "0.00", "1000.00", info);
//获取C端第1张可使用的储值卡
depositCardId = XMJSONPath.readPath(minCardTools.listUserUsableDepositCard(memberId, "ORDER_VENUE"), "$.result.applicableList[0].id");
}
}
//查询要使用的储值卡消耗记录条数
String depositBenefitId = XMJSONPath.readPath(minCardTools.findMemberCardDetailById(depositCardId),"$.result.depositBenefit.id");
int total = Integer.parseInt(XMJSONPath.readPath(minCardTools.fetchPageOfConsumeRecord(depositCardId,depositBenefitId),"$.result.total"));
//场地预约列表的已预约数据
int bookingNum = Integer.parseInt(XMJSONPath.readPath(venueAreaTools.pageMemberVenueBooking("RESERVED",memberId),"$.result.total"));
//检验场地预约前该场地规则
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.venueAreaBookingRulesGet(),"$.result.brandId"),xmAppApi.getLoginInfo().getBrandId());
//4.小程序预约场地
JSONArray areaTimeInfos = new JSONArray();
JSONObject areaTime = new JSONObject();
areaTime.put("startMinute", "1410");//预约开始时间23:30
areaTime.put("endMinute", "1440");//预约结束时间24:00
areaTime.put("price",price);//该场地组全场的单价
areaTimeInfos.add(areaTime);
//构建请求参数
JSONObject object = new JSONObject();
object.put("depositAmount",price);
object.put("depositCardId", depositCardId);
object.put("areaTimeInfos", areaTimeInfos);
object.put("groupId", groupId);//场地id
object.put("memberId", memberId);
object.put("memo", "自动化脚本创建的场地预约");
object.put("objectId", RandomStringUtil.randomString(16));
object.put("receivableAmount", "0.00");
object.put("reserveDay", reserveDay);//预约当天
object.put("studioId", xmAppApi.getLoginInfo().getStudioId());
object.put("suiteId", suiteId);//场地组id
object.put("venueAreaId", areaId);
//调用请求
xmAppApi.doRequest(RequestType.JSON, params, object.toString(), headers).assetsSuccess(true);
String voucherId = xmAppApi.getBodyInJSON().getJSONObject("result").getString("id");//订单ID
Thread.sleep(3000);
//校验c端订单详情
Assert.assertEquals(XMJSONPath.readPath(orderCTools.getDetail(voucherId), "$.result.state"), "PAID", "创建签单订单成功,但订单状态不是已完成");
Assert.assertEquals(XMJSONPath.readPath(orderCTools.getDetail(voucherId), "$.result.source"), "ONLINE_MALL", "C端创建的签单订单,订单来源非会员创建");
//检验c端我的预约场地数据+1
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(venueAreaTools.pageMemberVenueBooking("RESERVED",memberId),"$.result.total"))==bookingNum+1);
//检验c端预约详情状态为已预约
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.getByVoucher(voucherId), "$.result.state"),"RESERVED");//预约类型:已预约
//检验储值卡的消耗记录新增1条
JSONObject body = minCardTools.fetchPageOfConsumeRecord(depositCardId, depositBenefitId);
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(body, "$.result.total")) == total + 1);
Assert.assertEquals(XMJSONPath.readPath(body, "$.result.records[0].consumeType"), "DEPOSIT_SIGN_ORDER");//消耗类型:签单
Assert.assertEquals(XMJSONPath.readPath(body, "$.result.records[0].changeOfGiveBalance"), "-"+price);//消耗赠送金额
//操作c端取消预约并且预约详情为已取消
String venueBookingRecordId = XMJSONPath.readPath(venueAreaTools.getByVoucher(voucherId), "$.result.id");
venueAreaTools.getCheckInIdentifier(venueBookingRecordId);//检验入场码生效
venueAreaTools.cancelVenueBookingRecord(venueBookingRecordId);
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.getByVoucher(voucherId), "$.result.state"),"CANCELLED");//预约类型:已取消
//检验c端储值卡金额退回
JSONObject jsBody = minCardTools.fetchPageOfConsumeRecord(depositCardId, depositBenefitId);
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(jsBody, "$.result.total")) == total + 2);
Assert.assertEquals(XMJSONPath.readPath(jsBody, "$.result.records[0].consumeType"), "DEPOSIT_DISCARD_SIGN_ORDER");//消耗类型:作废签单
Assert.assertEquals(XMJSONPath.readPath(jsBody, "$.result.records[0].changeOfGiveBalance"), price);//退回赠送金额
//检验b端订单变成已作废
Assert.assertEquals(XMJSONPath.readPath(orderTools.getDetail(voucherId,info), "$.result.state"), "DISCARD");
//清理数据
//b端场地组移除场地
venueAreaTools.unbindVenueAreas(suiteId,groupId,info);
//b端删除场地组
venueAreaTools.saveVenueAreaSuite(suiteId,"DELETE",info);
//b端删除场地
venueAreaTools.deleteVenueArea(groupId,info);
}
}
}
package com.xiaomai.cases.polar.setting.venue;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
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 javax.annotation.Resource;
public class TestSaveVenueAreaBookingRules extends XMBaseTest {
@Resource(name = "venueAreaTools")
VenueAreaTools venueAreaTools;
public String ruleId;
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_saveVenueAreaBookingRules")
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("xyy")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
ruleId = venueAreaTools.getVenueAreaBookingRules();
}
@Test(description = "场地预约规则全部开关开启")
public void testSaveVenueAreaBookingRules_on(){
JSONObject bookingStartRuleRequest = new JSONObject();
bookingStartRuleRequest.put("bookingStartComingDays","7");
bookingStartRuleRequest.put("limit",true);
JSONObject bookingEndRuleRequest = new JSONObject();
bookingEndRuleRequest.put("bookingEndBeforeMinutes","60");
bookingEndRuleRequest.put("bookingEndBeforeUnit","hour");
bookingEndRuleRequest.put("limit",true);
JSONObject cancelBookingRuleRequest = new JSONObject();
cancelBookingRuleRequest.put("cancelBookingBeforeMinutes","60");
cancelBookingRuleRequest.put("cancelBookingBeforeUnit","hour");
cancelBookingRuleRequest.put("limit",true);
JSONObject object = new JSONObject();
object.put("brandId",xmAppApi.getLoginInfo().getBrandId());
object.put("scanSignIn",true);
object.put("signInBeforeMinutes","999");
object.put("expireAutoSignIn",true);
object.put("bookingStartRuleRequest",bookingStartRuleRequest);
object.put("bookingEndRuleRequest",bookingEndRuleRequest);
object.put("cancelBookingRuleRequest",cancelBookingRuleRequest);
object.put("id",ruleId);
object.put("studioId",xmAppApi.getLoginInfo().getStudioId());
object.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
//调用请求
xmAppApi.doRequest(RequestType.JSON,params,object.toJSONString(),headers).assetsSuccess(true);
JSONObject response = xmAppApi.getBodyInJSON();
Assert.assertEquals(XMJSONPath.readPath(response,"$.message"),"操作成功!");
}
@Test(description = "场地预约规则全部开关关闭",priority = 1)
public void testSaveVenueAreaBookingRules_off(){
JSONObject bookingStartRuleRequest = new JSONObject();
bookingStartRuleRequest.put("limit",false);
JSONObject bookingEndRuleRequest = new JSONObject();
bookingEndRuleRequest.put("limit",false);
JSONObject cancelBookingRuleRequest = new JSONObject();
cancelBookingRuleRequest.put("limit",false);
JSONObject object = new JSONObject();
object.put("brandId",xmAppApi.getLoginInfo().getBrandId());
object.put("scanSignIn",false);
object.put("signInBeforeMinutes","999");
object.put("expireAutoSignIn",false);
object.put("bookingStartRuleRequest",bookingStartRuleRequest);
object.put("bookingEndRuleRequest",bookingEndRuleRequest);
object.put("cancelBookingRuleRequest",cancelBookingRuleRequest);
object.put("id",ruleId);
object.put("studioId",xmAppApi.getLoginInfo().getStudioId());
object.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
//调用请求
xmAppApi.doRequest(RequestType.JSON,params,object.toJSONString(),headers).assetsSuccess(true);
JSONObject response = xmAppApi.getBodyInJSON();
Assert.assertEquals(XMJSONPath.readPath(response,"$.message"),"操作成功!");
}
}
package com.xiaomai.cases.polar.setting.venue;
import com.alibaba.fastjson.JSONObject;
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.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 javax.annotation.Resource;
public class TestScanCheckIn extends XMBaseTest {
@Resource(name = "venueAreaTools")
VenueAreaTools venueAreaTools;
@Resource(name = "userTools")
UserTools userTools;
DataUserInfo info = new DataUserInfo();
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_scanCheckIn")
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("xyy")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "b端场地预约扫入场码")
public void testScanCheckIn() {
JSONObject object = new JSONObject();
object.put("identifier","11");
object.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
object.put("studioId",xmAppApi.getLoginInfo().getStudioId());
object.put("brandId",xmAppApi.getLoginInfo().getBrandId());
//调用请求
xmAppApi.doRequest(RequestType.JSON,params,object.toJSONString(),headers);
Assert.assertEquals(XMJSONPath.readPath(xmAppApi.getBodyInJSON(),"$.message"),"订场记录不存在");
}
@Test(description = "小程序预约0元子场地1和子场地2-->b端手动签到-->b端扫码签到")
public void testScanCheckIn_2() throws InterruptedException{
//获取当前场地组数量
int suiteNum = venueAreaTools.getVenueAreaSuiteList().getJSONArray("result").size();
//1.创建场地
String groupId = venueAreaTools.saveVenueArea();
//检验可预约场地数大于0
Assert.assertTrue(venueAreaTools.getEnableVenueAreas().getJSONArray("result").size()>0);
//2.创建场地组名
String suiteName = "西湖场地组" + RandomStringUtil.randomString(5);
//检验该场地组名称是否重名,未重名则创建场地组
boolean flag = venueAreaTools.checkExistsName(suiteName);
if(flag==false){
String suiteId = venueAreaTools.createOrEditVenueAreaSuite(null,suiteName);
//场地组创建成功后,检验场地组列表数量+1
Assert.assertTrue(venueAreaTools.getVenueAreaSuiteList().getJSONArray("result").size()==suiteNum+1);
//检验场地组详情为启用中
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.getVenueAreaSuiteById(suiteId),"$.result.state"),"ON");
//场地组绑定场地数量
int timeList = venueAreaTools.getSuiteVenueAreaTimeList(suiteId).getJSONArray("result").size();
//4.场地组绑定场地
venueAreaTools.bindVenueAreas(suiteId, groupId);
Assert.assertTrue(venueAreaTools.getSuiteVenueAreaTimeList(suiteId).getJSONArray("result").size()==timeList+1);
//获取子场地-1的areaId,一般子场的areaId为groupId+2;
String areaId = String.valueOf(Long.valueOf(groupId)+2);
//获取子场地-2的areaId,一般子场的areaId为groupId+3;
String areaId2 = String.valueOf(Long.valueOf(groupId)+3);
//获取场地预约规则设置-常规则预约规则数量
int groupTime = venueAreaTools.getVenueAreaGroupTime(groupId).getJSONObject("result").getJSONArray("normalTimeVOS").size();
//并且检验该场地组有可预约的时间
Assert.assertTrue(venueAreaTools.getVenueAreaSuiteTimePeriods(suiteId).getJSONArray("result").size()>0);
//5.批量创建可预约时间
venueAreaTools.createBatchNormalDate(suiteId,groupId,"0.00");//全场价格设置为0元
Thread.sleep(3000);
//常规预约规则数+1
Assert.assertTrue(venueAreaTools.getVenueAreaGroupTime(groupId).getJSONObject("result").getJSONArray("normalTimeVOS").size()==groupTime+1);
//获取当天的0点
String reserveDay = String.valueOf(TimeUtils.getTodayTime());
//获取当前场地预约记录列表的数量
int bookingNum = Integer.parseInt(XMJSONPath.readPath(venueAreaTools.pageVenueBooking(),"$.result.total"));
//切换C端
info.setTerminal(Terminal.minApp);
info.setLoginUser(LoginAccount.GYM_MINIAPPC);
//获取用户
String memberId = userTools.getMemberInfo(info).getString("memberId");
//获取当前时间小时数值往后+1
String startMinute = String.valueOf((TimeUtils.hourOfDay()+1)*60);
String endMinute = String.valueOf((TimeUtils.hourOfDay()+1)*60+30);//结束时间与开始时间相差30分钟
//首次预约子场地-1,场地不冲突
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.checkMemberVenueBookingConflict(startMinute,endMinute,"0.00",groupId,memberId,reserveDay,areaId,info),"$.result.conflict"),"false");
//预约子场地-1
String voucherId = venueAreaTools.purchaseAreaTimes(startMinute,endMinute,suiteId,groupId,memberId,reserveDay,areaId,info);//场地预约的订单id
Thread.sleep(3000);
String venueBookingRecordId = XMJSONPath.readPath(venueAreaTools.getByVoucher(voucherId,info),"$.result.id");//场地预约的记录id
venueAreaTools.getCheckInIdentifier(venueBookingRecordId,info);//检验入场码生效
//预约详情的状态为已预约
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.getVenueBookingRecordDetail(venueBookingRecordId,info),"$.result.state"),"RESERVED");
Thread.sleep(3000);
//检验该场地冲突
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.checkMemberVenueBookingConflict(startMinute,endMinute,"0.00",groupId,memberId,reserveDay,areaId2,info),"$.result.conflict"),"true");
//允许场地冲突并且预约场地
Assert.assertEquals((venueAreaTools.checkAllowVenueBooking(startMinute,endMinute,"0.00",groupId,memberId,reserveDay,suiteId,areaId2,info)),"true");
//预约子场地-2
String voucherId2 = venueAreaTools.purchaseAreaTimes(startMinute,endMinute,suiteId,groupId,memberId,reserveDay,areaId2,info);//场地预约的订单id
Thread.sleep(3000);
String venueBookingRecordId2 = XMJSONPath.readPath(venueAreaTools.getByVoucher(voucherId2,info),"$.result.id");//场地预约的记录id
venueAreaTools.getCheckInIdentifier(venueBookingRecordId2,info);//检验入场码生效
JSONObject object = new JSONObject();
object.put("identifier",venueBookingRecordId);
object.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
object.put("studioId",xmAppApi.getLoginInfo().getStudioId());
object.put("brandId",xmAppApi.getLoginInfo().getBrandId());
//调用请求
xmAppApi.doRequest(RequestType.JSON,params,object.toJSONString(),headers).assetsSuccess(true);
//检验b端预约详情变成已签到
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.venueBookingRecordGetDetail(venueBookingRecordId),"$.result.state"),"RESERVED");
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.venueBookingRecordGetDetail(venueBookingRecordId),"$.result.checkIn"),"true");
//人工签到同一个码,提示已签到
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.manualCheckIn(venueBookingRecordId),"$.message"),"签到失败,无需重复操作");
//人工签到子场地-2成功
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.manualCheckIn(venueBookingRecordId2),"$.message"),"操作成功!");
//扫码签到子场地-2,提示已签到
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.scanCheckIn(venueBookingRecordId2),"$.result.message"),"预约场次已签到,无需重复签到");
//预约记录+2
Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(venueAreaTools.pageVenueBooking(),"$.result.total"))==bookingNum+2);
//检验预约失败记录=0
Assert.assertEquals(XMJSONPath.readPath(venueAreaTools.countVenueBookingRefundFail(),"$.result"),"0");
//清理数据
//b端场地组移除场地
venueAreaTools.unbindVenueAreas(suiteId,groupId);
//b端删除场地组
venueAreaTools.saveVenueAreaSuite(suiteId,"DELETE");
//b端删除场地
venueAreaTools.deleteVenueArea(groupId);
}
}
}
package com.xiaomai.cases.polar.setting.venue;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
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 com.xiaomai.utils.XMJSONPath;
import org.springframework.stereotype.Component;
import org.testng.Assert;
/**
* @BelongsProject: xm-sportstest
......@@ -17,34 +23,73 @@ import org.springframework.stereotype.Component;
*/
@Component("venueAreaTools")
public class VenueAreaTools extends XMBaseTest {
/**
* @description:创建场地
* @description:创建不带子场地的场地
* @author: xuyamei
* @date: 2024/5/8 13:55
* @param areaName:场地名称
* @param groupName:场地名称
* @return: java.lang.String
**/
public String createVenueArea(String areaName) {
public String createVenueArea(String groupName,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_createVenueArea")
.setTerminal(Terminal.B);
super.beforeDataRequest();
super.beforeDataRequest(userInfos);
JSONObject body = new JSONObject();
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
body.put("groupName",groupName);
body.put("areaList",new JSONArray());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
return dataApi.getBodyInJSON().getString("result");
}
/**
* 创建带子场地的场地
* @return
*/
public String saveVenueArea(DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_createVenueArea")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
//构建子场地信息
JSONArray areaList = new JSONArray();
JSONObject oneArea = new JSONObject();
oneArea.put("areaName","子场地-1");
oneArea.put("usageRatio",0);
JSONObject twoArea = new JSONObject();
twoArea.put("areaName","子场地-2");
twoArea.put("usageRatio",0);
areaList.add(oneArea);
areaList.add(twoArea);
//构建请求
JSONObject body = new JSONObject();
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
body.put("groupName",areaName);
body.put("groupName","西湖场地"+RandomStringUtil.randomString(5));
body.put("areaList",areaList);
//调用参数
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
return dataApi.getBodyInJSON().getString("result");
}
public void deleteVenueArea(String groupId) {
/**
* 删除场地
* @param groupId
* @param userInfos
*/
public void deleteVenueArea(String groupId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_deleteVenueArea")
.setTerminal(Terminal.B);
super.beforeDataRequest();
super.beforeDataRequest(userInfos);
JSONObject body= new JSONObject();
body.put("groupId",groupId);
......@@ -53,6 +98,7 @@ public class VenueAreaTools extends XMBaseTest {
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.result")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
}
/**
......@@ -78,7 +124,27 @@ public class VenueAreaTools extends XMBaseTest {
return dataApi.getBodyInJSON().getJSONObject("result");
}
/**
* 获取场地组列表
* @return
*/
public JSONObject getVenueAreaSuiteList() {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getVenueAreaSuiteList")
.setTerminal(Terminal.B);
super.beforeDataRequest();
String[] stateEnumList = {"ON", "OFF"};
JSONObject body= new JSONObject();
body.put("stateEnumList",stateEnumList);
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* @description:编辑场地
* @author: xuyamei
......@@ -96,14 +162,13 @@ public class VenueAreaTools extends XMBaseTest {
JSONObject body= new JSONObject();
body.put("groupName",groupName);
body.put("groupId",groupId);
body.put("areaList",new JSONArray());
body.put("brandId",dataApi.getLoginInfo().getBrandId());
body.put("studioId",dataApi.getLoginInfo().getStudioId());
body.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON,params,body.toString(),headers).assetsSuccess(true);
}
/**
* @description:根据课程id获取场地详情
* @author: xuyamei
......@@ -127,5 +192,703 @@ public class VenueAreaTools extends XMBaseTest {
return dataApi.getBodyInJSON().getJSONObject("result");
}
/**
* 通用设置-预约规则-获取场地预约规则
* @return
*/
public String getVenueAreaBookingRules() {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getVenueAreaBookingRules")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject object = new JSONObject();
object.put("brandId",dataApi.getLoginInfo().getBrandId());
object.put("studioId",dataApi.getLoginInfo().getStudioId());
object.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
return XMJSONPath.readPath(dataApi.getApi_response(), "$.result.id");
}
/**
* 创建/编辑场地组
* @return
*/
public String createOrEditVenueAreaSuite(String venueId,String suiteName,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_saveVenueAreaSuite")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONArray propagandaPictureList = new JSONArray();
propagandaPictureList.add("1851146496925679617");//场地组平面图固定
JSONObject object = new JSONObject();
object.put("name",suiteName);
object.put("propagandaPictureList",propagandaPictureList);
object.put("spanMinutes","30");
object.put("lowestPrice","0");
object.put("startMinute","0");
object.put("endMinute","1440");//00:00~24:00
object.put("lowerLimitTimes","-1");//下限
object.put("upperLimitTimes","-1");//上限
object.put("noticeContent","{\"way\":\"auto\"}");
object.put("needNotice",false);
object.put("introduction","{\"items\":[{\"type\":\"TEXT\",\"content\":\"自动化脚本创建场地组介绍\",\"aspect\":\"\"}]}");
object.put("brandId",dataApi.getLoginInfo().getBrandId());
object.put("studioId",dataApi.getLoginInfo().getStudioId());
object.put("operatorId",dataApi.getLoginInfo().getAdminId());
object.put("id",venueId);
//id不为空,则编辑场地组
if (null != venueId) {
object.put("planePictureList",new JSONArray());
}else {
object.put("state","ON");
object.put("tags",new JSONArray());
}
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return XMJSONPath.readPath(dataApi.getApi_response(), "$.result");
}
/**
* 启用/停用/删除场地组
* @param suiteId
* @param state:"ON","OFF","DELETE"
* @return
*/
public void saveVenueAreaSuite(String suiteId,String state,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_saveVenueAreaSuite")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONObject object = new JSONObject();
object.put("id",suiteId);
object.put("state",state);
object.put("brandId",dataApi.getLoginInfo().getBrandId());
object.put("studioId",dataApi.getLoginInfo().getStudioId());
object.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
}
/**
* 获取场地组详情
* @param suiteId
* @return
*/
public JSONObject getVenueAreaSuiteById(String suiteId) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getVenueAreaSuiteById")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject object = new JSONObject();
object.put("id", suiteId);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
return dataApi.getBodyInJSON();
}
/**
* 场地组可预约时间
* @param suiteId
* @return
*/
public JSONObject getSuiteVenueAreaTimeList(String suiteId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getSuiteVenueAreaTimeList")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONObject object = new JSONObject();
object.put("id", suiteId);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
return dataApi.getBodyInJSON();
}
/**
* 场地组下面可添加的场地
* @return
*/
public JSONObject getEnableVenueAreas(DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getEnableVenueAreas")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONObject object = new JSONObject();
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
return dataApi.getBodyInJSON();
}
/**
* 场地组绑定场地
* @param suiteId
* @param groupId
* @param userInfos
* @return
*/
public JSONObject bindVenueAreas(String suiteId,String groupId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_bindVenueAreas")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONArray venueGroupIds = new JSONArray();
venueGroupIds.add(groupId);
JSONObject object = new JSONObject();
object.put("suiteId", suiteId);
object.put("venueGroupIds", venueGroupIds);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
return dataApi.getBodyInJSON();
}
/**
* 场地组移除场地
* @param suiteId
* @param groupId
* @param userInfos
*/
public void unbindVenueAreas(String suiteId,String groupId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_unbindVenueAreas")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONArray venueGroupIds = new JSONArray();
venueGroupIds.add(groupId);
JSONObject object = new JSONObject();
object.put("suiteId", suiteId);
object.put("venueGroupIds", venueGroupIds);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
}
/**
* 场地组预约时间设置
* @param venueGroupId
* @param userInfos
* @return
*/
public JSONObject getVenueAreaGroupTime(String venueGroupId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getVenueAreaGroupTime")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONObject object = new JSONObject();
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("venueGroupId", venueGroupId);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
return dataApi.getBodyInJSON();
}
/**
* 获取场地组时间区间
* @param suiteId
* @param userInfos
* @return
*/
public JSONObject getVenueAreaSuiteTimePeriods(String suiteId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_getVenueAreaSuiteTimePeriods")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONObject object = new JSONObject();
object.put("id", suiteId);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
return dataApi.getBodyInJSON();
}
/**
* 批量创建可预约时间
* @param suiteId
* @param groupId
*/
public void createBatchNormalDate(String suiteId,String groupId,String fullPrice,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_createBatchNormalDate")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
String[] weekdays= {"MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"};
//构建配置时间
JSONArray timePeriodConfigInfos = new JSONArray();
JSONObject timePeriod = new JSONObject();
timePeriod.put("minuteOffset","0");
timePeriod.put("spanMinutes","1440");
timePeriod.put("fullPrice",fullPrice);//全场价格
timePeriod.put("subPrice","0.00");//子场地价格0元
timePeriodConfigInfos.add(timePeriod);
//构建可约时间段
JSONArray normalTimeInfoRequests = new JSONArray();
JSONObject normalTimeInfo = new JSONObject();
normalTimeInfo.put("timePeriodConfigInfos",timePeriodConfigInfos);
normalTimeInfo.put("weekdays",weekdays);
normalTimeInfoRequests.add(normalTimeInfo);
//构建场地组
JSONArray venueGroupIds = new JSONArray();
venueGroupIds.add(groupId);
//构建请求参数
JSONObject object = new JSONObject();
object.put("normalTimeInfoRequests", normalTimeInfoRequests);
object.put("suiteId", suiteId);
object.put("venueGroupIds", venueGroupIds);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
}
/**
* 检验场地组名是否重名
*/
public Boolean checkExistsName(String suiteName, DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_checkExistsName")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("name", suiteName);
object.put("id", "");
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON().getBoolean("result");
}
/**
* 场地预约记录列表
* @return
*/
public JSONObject pageVenueBooking() {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_pageVenueBooking")
.setTerminal(Terminal.B);
super.beforeDataRequest();
//构建请求参数
JSONObject object = new JSONObject();
object.put("venueArea", null);
object.put("venueAreaId", null);
object.put("state", null);
object.put("checkIn", null);
object.put("suiteId", null);
object.put("reserveDayStart", null);
object.put("reserveDayEnd", null);
object.put("current", 0);
object.put("size", 20);
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
object.put("brandId", dataApi.getLoginInfo().getBrandId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 场地预约记录详情
*/
public JSONObject countVenueBookingRefundFail(DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_countVenueBookingRefundFail")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 场地预约人工签到
*/
public JSONObject manualCheckIn(String venueBookingRecordId, DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_manualCheckIn")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("id", venueBookingRecordId);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
return dataApi.getBodyInJSON();
}
/**
* 场地预约扫码签到
*/
public JSONObject scanCheckIn(String venueBookingRecordId, DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_scanCheckIn")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("identifier", venueBookingRecordId);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 场地预约记录详情
*/
public JSONObject venueBookingRecordGetDetail(String venueBookingRecordId, DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_venueBookingRecordGetDetail")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("id", venueBookingRecordId);
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 小程序我的可预约的场地
*/
public JSONObject getEnableReserveVenueAreaSuiteList(DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_getEnableReserveVenueAreaSuiteList")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId",dataApi.getLoginInfo().getStudioId());
object.put("selectedDate",TimeUtils.getTodayTime());//当天的0点
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 小程序推荐场地列表
*/
public JSONObject getVenueAreaSuitePage(DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_getVenueAreaSuitePage")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
String[] stateEnumList = {"ON"};
//构建请求参数
JSONObject object = new JSONObject();
object.put("suiteIds",new JSONArray());
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId",dataApi.getLoginInfo().getStudioId());
object.put("stateEnumList",stateEnumList);
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 小程序查看场地组详情
*/
public JSONObject getVenueAreaSuiteDetail(String suiteId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_getVenueAreaSuiteDetail")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("id", suiteId);
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 获取场地组预约时间块
* @param suiteId
* @param userInfos
* @return
*/
public JSONObject getSuiteReserveTimeBlock(String suiteId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_getSuiteReserveTimeBlock")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("suiteId", suiteId);
object.put("selectedDate", TimeUtils.getTodayTime());//当天的0点
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 小程序场地预约时获取场地规则
* @param userInfos
* @return
*/
public JSONObject venueAreaBookingRulesGet(DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_venueAreaBookingRulesGet")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("brandId", dataApi.getLoginInfo().getBrandId());
object.put("studioId", dataApi.getLoginInfo().getStudioId());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 小程序场地预约
* @param startMinute 开始时间
* @param endMinute 结束时间
* @param suiteId 场地组id
* @param groupId 场地id
* @param memberId 会员id
* @param reserveDay 预约日期
* @param areaId 子场地id
* @param userInfos
* @return
*/
public String purchaseAreaTimes(String startMinute, String endMinute,String suiteId, String groupId,
String memberId,String reserveDay,String areaId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_purchaseAreaTimes")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
JSONArray areaTimeInfos = new JSONArray();
JSONObject areaTime = new JSONObject();
areaTime.put("startMinute",startMinute);//预约开始时间
areaTime.put("endMinute",endMinute);//预约结束时间
areaTime.put("price","0.00");//不需要支付金额
areaTimeInfos.add(areaTime);
//构建请求参数
JSONObject object = new JSONObject();
object.put("areaTimeInfos", areaTimeInfos);
object.put("groupId", groupId);//场地id
object.put("memberId", memberId);
object.put("memo", "自动化脚本创建的场地预约");
object.put("objectId", RandomStringUtil.randomString(16));
object.put("receivableAmount", "0.00");
object.put("reserveDay", reserveDay);
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("suiteId", suiteId);//场地组id
object.put("venueAreaId", areaId);
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.success")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
return dataApi.getBodyInJSON().getJSONObject("result").getString("id");
}
/**
* 小程序场地预约冲突提示
*/
public JSONObject checkMemberVenueBookingConflict(String startMinute,String endMinute,String price,String groupId,
String memberId,String reserveDay,String areaId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_checkMemberVenueBookingConflict")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
JSONArray areaTimeInfos = new JSONArray();
JSONObject areaTime = new JSONObject();
areaTime.put("startMinute",startMinute);//预约开始时间
areaTime.put("endMinute",endMinute);//预约结束时间
areaTime.put("price",price);//场地单价
areaTimeInfos.add(areaTime);
//构建请求参数
JSONObject object = new JSONObject();
object.put("areaTimeInfos", areaTimeInfos);
object.put("groupId", groupId);
object.put("memberId", memberId);
object.put("reserveDay", reserveDay);
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("venueAreaId", areaId);
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 小程序允许场地预约
*/
public String checkAllowVenueBooking(String startMinute,String endMinute,String price,String groupId,
String memberId,String reserveDay,String suiteId,String areaId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_checkAllowVenueBooking")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
JSONArray areaTimeInfos = new JSONArray();
JSONObject areaTime = new JSONObject();
areaTime.put("startMinute",startMinute);//预约开始时间
areaTime.put("endMinute",endMinute);//预约结束时间
areaTime.put("price",price);//场地单价
areaTimeInfos.add(areaTime);
//构建请求参数
JSONObject object = new JSONObject();
object.put("areaTimeInfos", areaTimeInfos);
object.put("groupId", groupId);
object.put("memberId", memberId);
object.put("reserveDay", reserveDay);
object.put("studioId", dataApi.getLoginInfo().getStudioId());
object.put("suiteId", suiteId);
object.put("venueAreaId", areaId);
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON().getString("result");
}
/**
* 小程序场地预约的订单详情
*/
public JSONObject getByVoucher(String voucherId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_getByVoucher")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("id", voucherId);
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 小程序我的预约场地列表
*/
public JSONObject pageMemberVenueBooking(String state,String memberId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_pageMemberVenueBooking")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("current", 0);
object.put("state", state);
object.put("size", 20);
object.put("memberId", memberId);
object.put("reserveDayStart", TimeUtils.getStartYear());
object.put("reserveDayEnd", TimeUtils.getEndYear());
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* 小程序我的-我的预约-场地-预约详情
*/
public JSONObject getVenueBookingRecordDetail(String venueBookingRecordId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_getVenueBookingRecordDetail")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("id", venueBookingRecordId);
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
public void getCheckInIdentifier(String venueBookingRecordId,DataUserInfo...userInfos) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_getCheckInIdentifier")
.setTerminal(Terminal.minApp);
super.beforeDataRequest(userInfos);
//构建请求参数
JSONObject object = new JSONObject();
object.put("id", venueBookingRecordId);
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.result"),"SUCCESS");
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.identifier"),venueBookingRecordId);
}
/**
* 小程序取消场地预约
*/
public void cancelVenueBookingRecord(String venueBookingRecordId) {
dataApi.setApiModule(ApiModule.Lunar_VenueArea)
.setApiName("API_cancelVenueBookingRecord")
.setTerminal(Terminal.minApp);
super.beforeDataRequest();
//构建请求参数
JSONObject object = new JSONObject();
object.put("id", venueBookingRecordId);
dataApi.doRequest(RequestType.JSON, dataparams, object.toString(), dataheadrs).assetsSuccess(true);
Assert.assertTrue(Boolean.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.result")) == true, "调用接口返回结果:" + XMJSONPath.readPath(dataApi.getApi_response(), "$.message"));
}
}
......@@ -24,29 +24,21 @@ public class ApiModule {
public static String Polar_Card="polar_card";//会员卡
public static String Polar_Training="polar_training";//训练营活动
public static String Polar_EleContract="polar_eleContract";//训练营活动
public static String Polar_Coupon="polar_coupon";//优惠券
public static String Polar_Membercluster="polar_membercluster";//会员分群
public static String Polar_LuckyDraw ="polar_luckyDraw";//幸运抽奖
public static String Lunar_LuckyDraw ="lunar_luckyDraw";//小程序幸运抽奖
public static String Lunar_Coupon="lunar_coupon";//小程序优惠券
public static String Polar_Reserve="polar_reserve";//预约
public static String Lunar_Reserve="lunar_reserve";//小程序预约
public static String Lunar_User="lunar_user";//预约
public static String Lunar_Card ="lunar_card";//小程序会员卡
public static String Polar_Data ="polar_data";//数据中心
public static String Lunar_Order="lunar_order";//C端订单
public static String Lunar_Training="lunar_training";//C端订单
public static String Lunar_Share="lunar_share";//C端分享
public static String Polar_Coupon="polar_coupon";//优惠券
public static String Polar_LuckyDraw ="polar_luckyDraw";//幸运抽奖
public static String Polar_Membercluster = "polar_membercluster";
//小程序模块
public static String Lunar_LuckyDraw ="lunar_luckyDraw";//幸运抽奖
public static String Lunar_Coupon="lunar_coupon";//优惠券
public static String Lunar_Reserve="lunar_reserve";//预约
public static String Lunar_User="lunar_user";//会员信息
public static String Lunar_Card ="lunar_card";//会员卡
public static String Lunar_Order="lunar_order";//订单
public static String Lunar_Training="lunar_training";//训练
public static String Lunar_Share="lunar_share";//分享
public static String Lunar_VenueArea="lunar_venueArea";//场地
}
\ No newline at end of file
......@@ -135,6 +135,52 @@ public class TimeUtils {
long today_date = calendar.getTime().getTime();
return today_date;
}
/**
* @return 当前时间的小时数
*/
public static int hourOfDay(){
Calendar calendar = Calendar.getInstance(); // 获取当前时间戳
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY); //24小时制
return hourOfDay;
}
/**
* @return 今年的1月1日0点
*/
public static long getStartYear(){
//获取当前日期
Calendar calendar = Calendar.getInstance();
//将当前日期设置为1月1日
calendar.set(Calendar.MONTH,Calendar.JANUARY);
calendar.set(Calendar.DAY_OF_MONTH,1);
//将时间设置为0点
calendar.set(Calendar.HOUR_OF_DAY,0);
calendar.set(Calendar.MINUTE,0);
calendar.set(Calendar.SECOND,0);
calendar.set(Calendar.MILLISECOND,0);
long getStartYear = calendar.getTimeInMillis();
return getStartYear;
}
/**
* @return 今年的12月31日23点59分59秒
*/
public static long getEndYear(){
//获取当前日期
Calendar calendar = Calendar.getInstance();
//清除所有字段
calendar.clear();
calendar.set(Calendar.YEAR, Calendar.getInstance().get(Calendar.YEAR)); // 设置当前年份
calendar.set(Calendar.MONTH, Calendar.DECEMBER); // 设置为12月
calendar.set(Calendar.DATE, 31); // 设置为31号
calendar.set(Calendar.HOUR_OF_DAY, 23); // 设置为23点
calendar.set(Calendar.MINUTE, 59); // 设置为59分
calendar.set(Calendar.SECOND, 59); // 设置为59秒
calendar.set(Calendar.MILLISECOND,59);
long getEndYear = calendar.getTimeInMillis();
return getEndYear;
}
/**
* @return 获取当前时间戳
......
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