Commit fd28b21f by yangjian

Merge remote-tracking branch 'origin/master'

parents 67b312e1 1771b127
package com.xiaomai.cases.polar.finance.order;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.member.Tools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
......@@ -12,11 +13,13 @@ import org.testng.annotations.Test;
public class TestPageMemberVoucher extends XMBaseTest {
Tools tools=new Tools();
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_pageMemberVoucher")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -25,11 +28,15 @@ public class TestPageMemberVoucher extends XMBaseTest {
@Test(description = "获取会员详情-订单管理列表")
public void testPageMemberVoucher(){
//获取会员ID
String receiverId=tools.search("NORMAL","NORMAL").getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
JSONObject jsonObject=new JSONObject();
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","1777254935106740226");
jsonObject.put("receiverId",receiverId);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
......
package com.xiaomai.cases.polar.finance.order;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.member.Tools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
......@@ -12,11 +13,13 @@ import org.testng.annotations.Test;
public class TestPageMemberVoucherItem extends XMBaseTest {
Tools tools=new Tools();
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_pageMemberVoucherItem")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -26,11 +29,16 @@ public class TestPageMemberVoucherItem extends XMBaseTest {
@Test(description = "获取会员详情-订单明细列表")
public void testPageMemberVoucherItem(){
//获取会员ID
String receiverId=tools.search("NORMAL","NORMAL").getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
JSONObject jsonObject=new JSONObject();
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","1777254935106740226");
jsonObject.put("receiverId",receiverId);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
......
......@@ -19,7 +19,7 @@ public class TestPageVoucher extends XMBaseTest {
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_pageVoucher")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -32,7 +32,6 @@ public class TestPageVoucher extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","");
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
......@@ -43,13 +42,12 @@ public class TestPageVoucher extends XMBaseTest {
Assert.assertEquals(success,"true","获取订单管理列表失败");
}
@Test(description = "获取财务中心-订单管理列表-无筛选-无卖家ID(场馆ID)、场馆ID、品牌ID、操作人ID")
@Test(description = "获取财务中心-订单管理列表-无筛选-无卖家ID(场馆ID)、品牌ID、场馆ID、操作人ID")
public void testPageVoucher1(){
JSONObject jsonObject=new JSONObject();
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId","");
jsonObject.put("receiverId","");
jsonObject.put("brandId","");
jsonObject.put("studioId","");
jsonObject.put("operatorId","");
......@@ -63,7 +61,6 @@ public class TestPageVoucher extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","");
jsonObject.put("source","OFFLINE_SOURCE");
JSONArray states=new JSONArray();
......@@ -84,8 +81,7 @@ public class TestPageVoucher extends XMBaseTest {
jsonObject.put("operationTimeEnd",TimeUtils.getCurrentTime());
JSONArray salesmanIds=new JSONArray();
salesmanIds.add("1772880092185255937");
salesmanIds.add("1774376463837065218");
salesmanIds.add(xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("salesmanIds",salesmanIds);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
......
......@@ -18,7 +18,7 @@ public class TestPageVoucherItem extends XMBaseTest {
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_pageVoucherItem")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -31,7 +31,6 @@ public class TestPageVoucherItem extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","");
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
......@@ -42,13 +41,12 @@ public class TestPageVoucherItem extends XMBaseTest {
Assert.assertEquals(success,"true","获取订单明细列表失败");
}
@Test(description = "获取财务中心-订单明细列表-无筛选-无卖家ID(场馆ID)、场馆ID、品牌ID、操作人ID")
@Test(description = "获取财务中心-订单明细列表-无筛选-无卖家ID(场馆ID)、品牌ID、场馆ID、操作人ID")
public void testPageVoucherItem1(){
JSONObject jsonObject=new JSONObject();
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId","");
jsonObject.put("receiverId","");
jsonObject.put("brandId","");
jsonObject.put("studioId","");
jsonObject.put("operatorId","");
......@@ -62,7 +60,6 @@ public class TestPageVoucherItem extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","");
jsonObject.put("createdStart", TimeUtils.getMonthFristDay());
jsonObject.put("createdEnd",TimeUtils.getCurrentTime());
......@@ -72,8 +69,7 @@ public class TestPageVoucherItem extends XMBaseTest {
jsonObject.put("operationTimeEnd",TimeUtils.getCurrentTime());
JSONArray salesmanIds=new JSONArray();
salesmanIds.add("1772880092185255937");
salesmanIds.add("1774376463837065218");
salesmanIds.add(xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("salesmanIds",salesmanIds);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
......
package com.xiaomai.cases.polar.finance.order;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.member.Tools;
import com.xiaomai.client.XMAppApi;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class TestSignOrder extends XMBaseTest {
Tools tools=new Tools();
OrderTools orderTools=new OrderTools();
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_signOrder")
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "创建订单")
public void testSignOrder(){
//获取会员ID
String memberId=tools.search("NORMAL","NORMAL").getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取会员卡信息
//获取会员卡列表
JSONObject memberCard=orderTools.fetchPageOfMemberCard(xmAppApi.getLoginInfo().getBrandId(),xmAppApi.getLoginInfo().getStudioId(),xmAppApi.getLoginInfo().getAdminId());
String cardId=memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
int quantity= Integer.parseInt(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("balance"));
float price= Float.parseFloat(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("price"));
int validPeriod= Integer.parseInt(memberCard.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("validPeriod"));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取签单要用的卡快照id
String latestSnapshotId=orderTools.fetchDetailById(cardId,xmAppApi.getLoginInfo().getBrandId(),xmAppApi.getLoginInfo().getStudioId(),xmAppApi.getLoginInfo().getAdminId()).getJSONObject("result").getString("latestSnapshotId");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//检查会员对该卡是否超出购买上限
boolean limitResult=orderTools.checkAllowPurchase("MEMBER_CARD",cardId,memberId,"1",xmAppApi.getLoginInfo().getBrandId(),xmAppApi.getLoginInfo().getStudioId(),xmAppApi.getLoginInfo().getAdminId()).getBoolean("success");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
if( limitResult == true){
//创建订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId,"PURCHASE",memberId,price,price,"1");
} else {
}
}
}
package com.xiaomai.cases.polar.finance.order;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.member.Tools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
......@@ -12,11 +13,13 @@ import org.testng.annotations.Test;
public class TestSumMemberVoucherAmount extends XMBaseTest {
Tools tools=new Tools();
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_sumMemberVoucherAmount")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -26,11 +29,14 @@ public class TestSumMemberVoucherAmount extends XMBaseTest {
@Test(description = "获取会员详情-订单管理金额统计")
public void testSumMemberVoucherAmount(){
//获取会员ID
String receiverId=tools.search("NORMAL","NORMAL").getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
JSONObject jsonObject=new JSONObject();
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","1777254935106740226");
jsonObject.put("receiverId",receiverId);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
......
......@@ -19,7 +19,7 @@ public class TestSumVoucherAmount extends XMBaseTest {
public void beforeTest() {
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_sumVoucherAmount")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -32,7 +32,6 @@ public class TestSumVoucherAmount extends XMBaseTest {
jsonObject.put("current", 0);
jsonObject.put("size", 20);
jsonObject.put("supplierId", xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId", "");
jsonObject.put("brandId", xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", xmAppApi.getLoginInfo().getAdminId());
......@@ -59,7 +58,6 @@ public class TestSumVoucherAmount extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","");
jsonObject.put("source","OFFLINE_SOURCE");
JSONArray states=new JSONArray();
......@@ -80,8 +78,7 @@ public class TestSumVoucherAmount extends XMBaseTest {
jsonObject.put("operationTimeEnd",TimeUtils.getCurrentTime());
JSONArray salesmanIds=new JSONArray();
salesmanIds.add("1772880092185255937");
salesmanIds.add("1774376463837065218");
salesmanIds.add(xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("salesmanIds",salesmanIds);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
......@@ -102,7 +99,6 @@ public class TestSumVoucherAmount extends XMBaseTest {
jsonObject.put("current", 0);
jsonObject.put("size", 20);
jsonObject.put("supplierId", "");
jsonObject.put("receiverId", "");
jsonObject.put("brandId", "");
jsonObject.put("studioId", "");
jsonObject.put("operatorId", "");
......
......@@ -18,7 +18,7 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_sumVoucherItemAmount")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -31,7 +31,6 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","");
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
......@@ -57,7 +56,6 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId","");
jsonObject.put("receiverId","");
jsonObject.put("brandId","");
jsonObject.put("studioId","");
jsonObject.put("operatorId","");
......@@ -71,7 +69,6 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("supplierId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("receiverId","");
jsonObject.put("createdStart", TimeUtils.getMonthFristDay());
jsonObject.put("createdEnd",TimeUtils.getCurrentTime());
......@@ -81,8 +78,7 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
jsonObject.put("operationTimeEnd",TimeUtils.getCurrentTime());
JSONArray salesmanIds=new JSONArray();
salesmanIds.add("1772880092185255937");
salesmanIds.add("1774376463837065218");
salesmanIds.add(xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("salesmanIds",salesmanIds);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
......
......@@ -13,24 +13,33 @@ import org.testng.annotations.Test;
public class TestFindDetailById extends XMBaseTest {
Tools tools=new Tools();
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Clue)
.setApiName("API_findDetailById")
.setLoginUser(LoginAccount.YFF_DEV)
.setApiName("API_findStudioMemberDetail")
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "获取会员详情以及更多资料")
public void testFindDetailById(){
//暂时还不能转会员,只能写死:memberId:1771002119284924417-自动化正式会员勿动
//获取正式会员列表
JSONObject memberResult=tools.search("NORMAL","NORMAL");
String id=memberResult.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
JSONObject jsonObject=new JSONObject();
jsonObject.put("memberId","1771059838226341890");
jsonObject.put("memberId",id);
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
JSONObject response=xmAppApi.getBodyInJSON();
......@@ -41,11 +50,20 @@ public class TestFindDetailById extends XMBaseTest {
@Test(description = "获取会员详情以及更多资料-会员id不能为空")
public void testFindDetailById_1(){
//获取正式会员列表
JSONObject memberResult=tools.search("NORMAL","NORMAL");
String id=memberResult.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
JSONObject jsonObject1=new JSONObject();
jsonObject1.put("memberId","");
jsonObject1.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject1.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject1.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON,params,jsonObject1.toJSONString(),headers).assetsSuccess(false);
Assert.assertEquals(XMJSONPath.readPath(xmAppApi.getBodyInJSON(),"$message"),"会员id不能为空");
}
}
package com.xiaomai.cases.polar.member;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.clue.MemberTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
......@@ -15,12 +16,14 @@ import org.testng.annotations.Test;
public class TestForceUpdate extends XMBaseTest {
Tools tools= new Tools();
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Clue)
.setApiName("API_forceUpdate")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
......@@ -31,13 +34,21 @@ public class TestForceUpdate extends XMBaseTest {
@Test(description = "编辑正式会员信息")
public void testForceUpdate() {
//暂时还不能转会员,只能写死:memberId:1771059838226341890-自动化正式会员勿动
JSONObject create=tools.create("编辑正式会员"+RandomStringUtil.randomString(3),RandomStringUtil.randomMobile("88"));
String memberId=create.getString("result");
//创建订单转成正式会员
//编辑
JSONObject jsonObject = new JSONObject();
jsonObject.put("brandId", xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId", xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("status", "NORMAL");
jsonObject.put("status", "POTENTIAL");
jsonObject.put("name", "自动化正式会员" + RandomStringUtil.randomString(2));
jsonObject.put("phone", RandomStringUtil.randomMobile("22"));
jsonObject.put("gender", "WOMEN");
......@@ -54,9 +65,10 @@ public class TestForceUpdate extends XMBaseTest {
jsonObject.put("emergencyContactPerson", RandomStringUtil.randomString(3));
jsonObject.put("emergencyContactPhone", RandomStringUtil.randomMobile("66"));
jsonObject.put("resourceId", "1");
jsonObject.put("intention", "HIGH");
jsonObject.put("creatorId", xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("remark", "备注"+RandomStringUtil.randomString(12));
jsonObject.put("memberId", "1771059838226341890");
jsonObject.put("memberId", memberId);
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true);
......
......@@ -18,7 +18,7 @@ public class TestSearch extends XMBaseTest {
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Clue)
.setApiName("API_searchMember")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -28,26 +28,35 @@ public class TestSearch extends XMBaseTest {
@DataProvider
public Object[][] dataProvider(){
return new Object[][]{
{"NORMAL"},
{"HISTORY"}
{"NORMAL","NORMAL"},
{"HISTORY","HISTORY"}
};
}
@Test(description = "获取会员管理(正式会员/流失会员)列表",dataProvider = "dataProvider")
public void testSearch(String status){
public void testSearch(String searchType,String status){
JSONObject jsonObject=new JSONObject();
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
JSONObject studioFilter=new JSONObject();
studioFilter.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("studioFilter",studioFilter);
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("searchType",searchType);
JSONArray statusList=new JSONArray();
statusList.add(status);
jsonObject.put("statusList",statusList);
jsonObject.put("resourceId",null);
jsonObject.put("creatorId",null);
jsonObject.put("wechatBindStatus",null);
jsonObject.put("saleId",null);
jsonObject.put("birthdayEnd",null);
jsonObject.put("createdEnd",null);
jsonObject.put("createdStart",null);
jsonObject.put("tags",null);
jsonObject.put("coachId",null);
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
JSONObject response=xmAppApi.getBodyInJSON();
String success=response.getString("success");
......@@ -58,21 +67,20 @@ public class TestSearch extends XMBaseTest {
@DataProvider
public Object[][] dataProvider1(){
return new Object[][]{
{"NORMAL"},
{"HISTORY"}
{"NORMAL","NORMAL"},
{"HISTORY","HISTORY"}
};
}
@Test(description = "筛选会员管理(正式会员/流失学员)列表来源、当前创建人、性别",dataProvider = "dataProvider1")
public void testSearchResource(String status){
@Test(description = "筛选会员管理(正式会员/流失学员)列表来源、当前创建人、跟进销售、跟进教练、绑定微信公众号、性别",dataProvider = "dataProvider1")
public void testSearchResource(String searchType,String status){
JSONObject jsonObject=new JSONObject();
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
JSONObject studioFilter=new JSONObject();
studioFilter.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("studioFilter",studioFilter);
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("searchType",searchType);
JSONArray statusList=new JSONArray();
statusList.add(status);
......@@ -81,6 +89,14 @@ public class TestSearch extends XMBaseTest {
jsonObject.put("creatorId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("gender","WOMEN");
jsonObject.put("wechatBindStatus","NO");
jsonObject.put("saleId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("birthdayEnd",null);
jsonObject.put("createdEnd",null);
jsonObject.put("createdStart",null);
jsonObject.put("tags",null);
jsonObject.put("coachId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
JSONObject response=xmAppApi.getBodyInJSON();
......
package com.xiaomai.cases.polar.member;
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.XMBaseTest;
import java.util.List;
public class Tools extends XMBaseTest {
/**
* @param
* @description:获取会员管理列表
* @param searchType:查询类型 POTENTIAL, NORMAL, HISTORY
* @param status:会员状态 POTENTIAL, NORMAL, HISTORY
* @author: yangfangfang
**/
public JSONObject search(String searchType,String status, DataUserInfo...dataUserInfos){
dataApi.setApiModule(ApiModule.Polar_Clue)
.setApiName("API_searchMember")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject=new JSONObject();
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("searchType",searchType);
JSONArray statusList=new JSONArray();
statusList.add(status);
jsonObject.put("statusList",statusList);
jsonObject.put("resourceId",null);
jsonObject.put("creatorId",null);
jsonObject.put("wechatBindStatus",null);
jsonObject.put("saleId",null);
jsonObject.put("birthdayEnd",null);
jsonObject.put("createdEnd",null);
jsonObject.put("createdStart",null);
jsonObject.put("tags",null);
jsonObject.put("coachId",null);
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON();
return response;
}
/**
* @param
* @description:添加线索
* @param name:姓名
* @param phone:手机号
* @param
* @author: yangfangfang
**/
public JSONObject create(String name,String phone,DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Polar_Clue)
.setApiName("API_create")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONObject object = new JSONObject();
object.put("brandId",xmAppApi.getLoginInfo().getBrandId());
object.put("studioId",xmAppApi.getLoginInfo().getStudioId());
object.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
object.put("creatorId",xmAppApi.getLoginInfo().getAdminId());
object.put("status","POTENTIAL");
object.put("name",name);
object.put("phone",phone);
object.put("gender","UNKNOWN");
object.put("position","INITIAL");
object.put("saleId","-1");
dataApi.doRequest(RequestType.JSON,dataparams,object.toString(),dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
/**
* @param
* @description:搜索会员
* @param content:姓名/手机号
* @param status:POTENTIAL, NORMAL, HISTORY
* @param
* @author: yangfangfang
**/
public JSONObject commonSearch(String content,String status, DataUserInfo...userInfos){
dataApi.setApiModule(ApiModule.Polar_Clue)
.setApiName("API_commonSearch")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfos);
JSONObject object = new JSONObject();
object.put("brandId",xmAppApi.getLoginInfo().getBrandId());
object.put("studioId",xmAppApi.getLoginInfo().getStudioId());
object.put("operatorId",xmAppApi.getLoginInfo().getStudioId());
object.put("content",content);
JSONArray statusList=new JSONArray();
statusList.add(status);
object.put("statusList",statusList);
object.put("followerId",null);
object.put("position",null);
object.put("dataPermissionFilter",true);
dataApi.doRequest(RequestType.JSON,dataparams,object.toString(),dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON();
}
}
package com.xiaomai.cases.polar.schedule.group;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.setting.venue.VenueAreaTools;
import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.CommUtil;
import com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author adu
* data 2024/6/12 11:51
*/
@Component("groupScheduleTools")
public class GroupScheduleTools extends XMBaseTest {
@Resource(name = "venueAreaTools")
VenueAreaTools venueAreaTools;
public void setUP(String apiName, DataUserInfo... userInfo) {
dataApi.setApiModule(ApiModule.Polar_Schedule)
.setApiName(apiName)
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfo);
}
/**
* 创建团课排课
*
* @param courseId 团课课程ID
* @param chiefCoachId 教练ID
* @param startDate 排课开始日期
* @param endDate 排课结束日期
* @param venueAreaIds 场馆ID
* @param assistCoachIds 助教ID
* @param force 是否冲突
* @param endType 排课结束方式:1 按日期,2 按次数
*/
public void createGroupRuleSchedule(String courseId, String chiefCoachId, String startDate, String endDate, List<String> venueAreaIds, List<String> assistCoachIds, Boolean force, int endType) {
setUP("API_createGroupRuleSchedule");
JSONObject body = new JSONObject();
body.put("operatorId", dataApi.getLoginInfo().getAdminId());
body.put("studioId", dataApi.getLoginInfo().getStudioId()); // 场馆
body.put("brandId", dataApi.getLoginInfo().getBrandId());
body.put("courseId", courseId);
body.put("chiefCoachId", chiefCoachId);
body.put("minMemberNum", 2); // 开课人数
body.put("maxMemberNum", 999); //人数上限
body.put("minuteOffset", 480); //上课开始时间
body.put("startDate", startDate); //排课开始日期
body.put("endDate", endDate); //排课结束日期
String[] weekDaysArray = {"MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"};
List<String> weekdaysList = Arrays.asList(weekDaysArray);
body.put("weekdays", weekdaysList); //设置上课星期,目前是每天都会选择
body.put("venueAreaIds", venueAreaIds); //场地,可设置为空 new ArrayList<>();
body.put("assistCoachIds", assistCoachIds); //设置助教,可设置为空 new ArrayList<>();
body.put("force", force); //是否有冲突 true,false
if (endType == 2) {
body.put("maxLoop", 60); //如果排课方式选择按次数,设置次数为60
body.put("endDate", CommUtil.getNDayEndTimeTamp(60)); //排课结束日期,这里就设置自动延顺60天,结束日期会覆盖你传的endDate
}
dataApi.doRequest(RequestType.JSON, params, body.toString(), headers).assetsSuccess(true);
}
/**
* 查看排课日程
* @param courseId 可根据课程查询
* @param coachId 可根据教练查询
* @return
*/
public JSONArray getGroupRuleScheduleList(String courseId, String coachId){
setUP("API_getGroupRuleScheduleList");
JSONObject body = new JSONObject();
body.put("operatorId", dataApi.getLoginInfo().getAdminId());
body.put("studioId", dataApi.getLoginInfo().getStudioId());
body.put("brandId", dataApi.getLoginInfo().getBrandId());
if(courseId!=null&&courseId.length()!=0){
body.put("courseId", courseId);
}
if(coachId!=null&&coachId.length()!=0){
body.put("coachId", coachId);
}
dataApi.doRequest(RequestType.JSON, params, body.toString(), headers).assetsSuccess(true);
return XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(),"$.result");
}
/**
* 查询存量团课课程
* @param courseName
* @return
*/
public String getStockGroupCourseId(String courseName){
dataApi.setApiModule(ApiModule.Polar_Course)
.setApiName("API_getGroupClassPage")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body = new JSONObject();
body.put("operatorId", dataApi.getLoginInfo().getAdminId());
body.put("studioId", dataApi.getLoginInfo().getStudioId());
body.put("brandId", dataApi.getLoginInfo().getBrandId());
body.put("courseState", "ON");
body.put("current", 0);
body.put("size", 50);
body.put("courseNameLike", courseName);
dataApi.doRequest(RequestType.JSON, params, body.toString(), headers).assetsSuccess(true);
if(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records").length()==0){
return "";
}
else {
return XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].brandCourseId");
}
}
/**
* 删除团课排课日程
* @param ruleId
*/
public void delGroupRuleSchedule(String ruleId){
setUP("API_delGroupRuleSchedule");
JSONObject body = new JSONObject();
body.put("operatorId", dataApi.getLoginInfo().getAdminId());
body.put("studioId", dataApi.getLoginInfo().getStudioId());
body.put("brandId", dataApi.getLoginInfo().getBrandId());
body.put("force", false);
body.put("ruleId", ruleId);
dataApi.doRequest(RequestType.JSON, params, body.toString(), headers).assetsSuccess(true);
}
/**
* 获取教练ID
* @param nickNameList 可根据传入的昵称,获取对应的ID
* @return
*/
public List<String> getStudioAdminId(List<String> nickNameList){
dataApi.setApiModule(ApiModule.Polar_Admin)
.setApiName("API_pageStudioAdmin")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject body = new JSONObject();
body.put("operatorId", dataApi.getLoginInfo().getAdminId());
body.put("studioId", dataApi.getLoginInfo().getStudioId());
body.put("brandId", dataApi.getLoginInfo().getBrandId());
body.put("current", 0);
body.put("size", 50);
body.put("state", "DUTY");
body.put("teachingType", "LEAGUE_CLASS");
dataApi.doRequest(RequestType.JSON, params, body.toString(), headers).assetsSuccess(true);
int count=Integer.valueOf(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.total"));
List<String> adminIds = new ArrayList<>();
if (count > 0) {
JSONArray records = XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(), "$.result.records");
adminIds = records.stream()
.filter(obj -> CollectionUtils.isEmpty(nickNameList) || nickNameList.contains(((JSONObject) obj).getString("nickName"))) //如果nickNameList为空或者包含搜索结果集中对应的昵称,就会过滤
.map(obj -> {
JSONObject adminIdInfo = (JSONObject) obj;
return adminIdInfo.getString("id");
}
).collect(Collectors.toList());
return adminIds;
}
return null;
}
/**
* 获取存量场地
*
* @param areaName 根据指定场地名称,匹配出对应的场地ID,如果无匹配的则新建,如果场地列表无数据,则新建个
* @return
*/
public List<String> getStockArea(String areaName) {
JSONObject result = venueAreaTools.getVenueAreaPage();
int count = XMJSONPath.getJSONArrayByReadPath(result, "$.records").size();
List<String> areaIds = new ArrayList<>();
if (count > 0) {
areaIds = result.getJSONArray("records").toJavaList(JSONObject.class).stream().filter(obj -> (areaName).equals(obj.getString("groupName")))
.map(obj -> {
JSONObject areaIdInfo = (JSONObject) obj;
return areaIdInfo.getJSONArray("areaList").getJSONObject(0).getString("id");
}
).collect(Collectors.toList());
if (areaIds.isEmpty()) {//如果无匹配的则新建一个匹配的场地
String areaId = venueAreaTools.createVenueArea(areaName);
areaIds.add(areaId);
return areaIds;
}
return areaIds;//如果匹配到了,取匹配到的场地ID
} else {//如果场地列表为空,则新建一个
String areaId = venueAreaTools.createVenueArea(areaName);
areaIds.add(areaId);
return areaIds;
}
}
/**
* 查看团课排课日程详情
* @param ruldId
*/
public void getGroupRuleScheduleDetail(String ruldId){
setUP("API_getGroupRuleScheduleDetail");
JSONObject body = new JSONObject();
body.put("operatorId", dataApi.getLoginInfo().getAdminId());
body.put("studioId", dataApi.getLoginInfo().getStudioId());
body.put("brandId", dataApi.getLoginInfo().getBrandId());
body.put("id", ruldId);
dataApi.doRequest(RequestType.JSON, params, body.toString(), headers).assetsSuccess(true);
}
}
package com.xiaomai.cases.polar.schedule.group;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.polar.course.CourseTools;
import com.xiaomai.cases.polar.setting.courseCategory.CourseCategoryTools;
import com.xiaomai.cases.polar.setting.venue.VenueAreaTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.CommUtil;
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;
import java.util.stream.Collectors;
/**
* @author adu
* data 2024/6/12 15:54
*/
public class TestCreateGroupRuleSchedule extends BaseTestImpl {
@Resource(name = "courseCategoryTools")
CourseCategoryTools courseCategoryTools;
@Resource(name = "courseTools")
CourseTools courseTools;
@Resource(name = "groupScheduleTools")
GroupScheduleTools groupScheduleTools;
@Resource(name = "venueAreaTools")
VenueAreaTools venueAreaTools;
//获取本周第一天的时间戳
String beginTimeTamp = CommUtil.oneKeyGetWeekStartDay();
//获取当前时间加160天后的时间戳 23:59:59 用于结束日期
String endDateTimeTamp = CommUtil.getNDayEndTimeTamp(180);
//获取当天时间时间戳:当天时间戳格式:2024-6-12 00:00:00点,用于开始日期
String todayStartTimeTamp = CommUtil.oneKeyGetAddDay(0);
//获取今天结束日期的时间戳
String todayEndDateTimeTamp = CommUtil.getNDayEndTimeTamp(0);
String courseName = "阿杜自动化团课课程";
@BeforeClass
public void beforeTest() {
setTestInfo(ApiModule.Polar_Schedule, "API_createGroupRuleSchedule", LoginAccount.ADU_PROD, Terminal.B, "adu");
super.beforeTest();
}
@Test(description = "测试新建团课排课")
public void testCreateGroupRuleSchedule() {
//获取存量课程ID
String courseId = groupScheduleTools.getStockGroupCourseId(courseName);
if (courseId == "") {
//获取存量课程分类ID
String categoryId = courseCategoryTools.getCourseCategoryPage("普拉提");
courseId = courseTools.createGroupCourse(courseName, categoryId, "STUDIO");
}
//获取存量场地
List<String> venueAreaIds = groupScheduleTools.getStockArea("流星花园秘密基地");
//获取存量教练
List<String> chiefCoachId = new ArrayList<>();
chiefCoachId.add("杜君丽");
String chiefCoachIdS = groupScheduleTools.getStudioAdminId(chiefCoachId).get(0).toString();
//获取存量助教
List<String> assistCoachIds = new ArrayList<>();
assistCoachIds.add("木头");
assistCoachIds.add("吴彦祖");
List<String> assistCoachIdS = groupScheduleTools.getStudioAdminId(chiefCoachId);
//1-创建排课日程
groupScheduleTools.createGroupRuleSchedule(courseId, chiefCoachIdS, todayStartTimeTamp, endDateTimeTamp, venueAreaIds, assistCoachIdS, false, 1);
//2-查询排课日程
JSONArray result = groupScheduleTools.getGroupRuleScheduleList(courseId, chiefCoachIdS);
Assert.assertTrue(result.size() >= 1);
//统计查询到的目标日程数量
int size = result.size();
String ruldId = XMJSONPath.readPath(result.getJSONObject(0), "$.ruleId");
groupScheduleTools.delGroupRuleSchedule(ruldId);
JSONArray result2 = groupScheduleTools.getGroupRuleScheduleList(courseId, chiefCoachIdS);
//删除成功后,统计查询到的目标日程数量是否-1
Assert.assertEquals(result2.size(), size - 1);
}
}
\ No newline at end of file
package com.xiaomai.cases.polar.schedule.group;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.polar.course.CourseTools;
import com.xiaomai.cases.polar.setting.venue.VenueAreaTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.CommUtil;
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;
/**
* @author adu
* data 2024/6/13 14:31
*/
public class TestEditGroupRuleSchedule extends BaseTestImpl {
@Resource(name = "courseTools")
CourseTools courseTools;
@Resource(name = "groupScheduleTools")
GroupScheduleTools groupScheduleTools;
@Resource(name = "venueAreaTools")
VenueAreaTools venueAreaTools;
//前天的时间戳,开始时间
String theDayBeforeYesterdayTimeTamp = CommUtil.oneKeyGetAddDay(-2);
//获取今天+12天后日期的时间戳(结束时间)
String endDateTimeTamp = CommUtil.getNDayEndTimeTamp(12);
String todayEndDateTimeTamp = CommUtil.getNDayEndTimeTamp(0);
String courseName = "阿杜自动化团课课程";
@BeforeClass
public void beforeTest() {
setTestInfo(ApiModule.Polar_Schedule, "API_editGroupRuleSchedule", LoginAccount.ADU_PROD, Terminal.B, "adu");
super.beforeTest();
}
@Test(description = "测试编辑团课规则")
public void testEditGroupRuleSchedule() {
//先创建排课规则
//获取存量课程ID
String courseId = groupScheduleTools.getStockGroupCourseId(courseName);
//获取存量教练
List<String> chiefCoachId = new ArrayList<>();
chiefCoachId.add("杜君丽");
String chiefCoachIdS = groupScheduleTools.getStudioAdminId(chiefCoachId).get(0).toString();
//获取存量助教
List<String> assistCoachIds = new ArrayList<>();
assistCoachIds.add("木头");
assistCoachIds.add("吴彦祖");
List<String> assistCoachIdS = groupScheduleTools.getStudioAdminId(chiefCoachId);
//1-创建排课日程
groupScheduleTools.createGroupRuleSchedule(courseId, chiefCoachIdS, theDayBeforeYesterdayTimeTamp, endDateTimeTamp, new ArrayList<>(), assistCoachIdS, false, 1);
//2-查询排课日程
JSONArray result = groupScheduleTools.getGroupRuleScheduleList(courseId, chiefCoachIdS);
Assert.assertTrue(result.size() >= 1);
String ruldId = XMJSONPath.readPath(result.getJSONObject(0), "$.ruleId");
//3-编辑排课日程
JSONObject body = new JSONObject();
body.put("operatorId", dataApi.getLoginInfo().getAdminId());
body.put("studioId", dataApi.getLoginInfo().getStudioId());
body.put("brandId", dataApi.getLoginInfo().getBrandId());
body.put("chiefCoachId", chiefCoachIdS);
body.put("minMemberNum", 5);//改变了有2->5
body.put("maxMemberNum", 20);//改变了999->20
body.put("minuteOffset", "1320");
List<String> venueAreaIds = groupScheduleTools.getStockArea("流星花园秘密基地");
body.put("venueAreaIds", venueAreaIds); //有空改为有数据
body.put("assistCoachIds", new ArrayList<>()); //有数据AB改成空
body.put("ruleId", ruldId);
body.put("spanMinutes", 50);
body.put("endDate", todayEndDateTimeTamp); //结束日期缩短了,改成当天结束
body.put("force", false);
body.put("retainBooking", true);
xmAppApi.doRequest(RequestType.JSON, params, body.toString(), headers).assetsSuccess(true);
//4-查看日程详情,check修改内容是否同步变更
groupScheduleTools.getGroupRuleScheduleDetail(ruldId);
String detailResult = dataApi.getApi_response();
Assert.assertEquals(XMJSONPath.readPath(detailResult,"$.result.chiefCoachId"),chiefCoachIdS);
Assert.assertEquals(XMJSONPath.readPath(detailResult,"$.result.minMemberNum"),"5");
Assert.assertEquals(XMJSONPath.readPath(detailResult,"$.result.maxMemberNum"),"20");
Assert.assertEquals(XMJSONPath.readPath(detailResult,"$.result.minuteOffset"),"1320");
Assert.assertEquals((XMJSONPath.readPath(detailResult,"$.result.endDate").substring(0,9)),todayEndDateTimeTamp.substring(0,9));
Assert.assertTrue(XMJSONPath.getJSONArrayByReadPath(detailResult,"$.result.assistCoachIds").isEmpty(),"助教设置为空后没生效");
Assert.assertTrue(XMJSONPath.getJSONArrayByReadPath(detailResult,"$.result.venueAreaIds").containsAll(venueAreaIds),"设置有空改为有数据后没生效");
//5-删除日程
groupScheduleTools.delGroupRuleSchedule(ruldId);
}
}
\ No newline at end of file
package com.xiaomai.cases.polar.setting;
package com.xiaomai.cases.polar.setting.tag;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
......@@ -6,6 +6,7 @@ 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 java.util.ArrayList;
......@@ -31,6 +32,8 @@ public class TagTools extends XMBaseTest {
jsonObject.put("bizAccountId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("label", label);
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON();
......@@ -112,6 +115,8 @@ public class TagTools extends XMBaseTest {
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("needUsageInfo","true");
jsonObject.put("content",content);
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON();
......@@ -127,7 +132,7 @@ public class TagTools extends XMBaseTest {
* @date: 2024/3/16 16:28
* @return: com.alibaba.fastjson.JSONObject
**/
public JSONObject forceUpdate(String memberId, String name, String phone, String status,String tagId, DataUserInfo...dataUserInfos) {
public JSONObject forceUpdate(String memberId, String name,String creator, String phone, String status,String tagId, DataUserInfo...dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Clue)
.setApiName("API_forceUpdate")
......@@ -135,18 +140,41 @@ public class TagTools extends XMBaseTest {
super.beforeDataRequest(dataUserInfos);
JSONObject dataJson=new JSONObject();
dataJson.put("id",memberId);
dataJson.put("brandId",xmAppApi.getLoginInfo().getBrandId());
dataJson.put("studioId",xmAppApi.getLoginInfo().getStudioId());
dataJson.put("memberId",memberId);
dataJson.put("name",name);
dataJson.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
dataJson.put("phone",phone);
dataJson.put("gender","UNKNOWN");
dataJson.put("status",status);
dataJson.put("studioId",xmAppApi.getLoginInfo().getStudioId());
dataJson.put("resourceId","-1");
dataJson.put("creatorId",xmAppApi.getLoginInfo().getAdminId());
dataJson.put("wechatBindStatus","NO");
dataJson.put("created", TimeUtils.getCurrentTime());
dataJson.put("updated",TimeUtils.getCurrentTime());
dataJson.put("intention","UNKNOWN");
dataJson.put("position","INITIAL");
dataJson.put("saleId","-1");
dataJson.put("lastFeedbackResult","NONE");
dataJson.put("planReleaseTime","-1");
dataJson.put("disableOperatorId","-1");
dataJson.put("coachId","-1");
dataJson.put("creator",creator);
dataJson.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
List tags = new ArrayList();
tags.add(tagId);
dataJson.put("tags",tags);
JSONObject refStudioList=new JSONObject();
refStudioList.put("id",xmAppApi.getLoginInfo().getStudioId());
refStudioList.put("name","小麦乐动自动化场馆");
dataJson.put("refStudioList",refStudioList);
dataApi.doRequest(RequestType.JSON, dataparams, dataJson.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON();
return response;
......
package com.xiaomai.cases.polar.setting.tag;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.setting.TagTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
......@@ -24,7 +23,7 @@ public class TestCreate extends XMBaseTest {
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_tag_create")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -44,6 +43,8 @@ public class TestCreate extends XMBaseTest {
jsonObject.put("bizAccountId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("label","自动化"+ RandomStringUtil.randomString(3));
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
JSONObject response=xmAppApi.getBodyInJSON();
......@@ -80,6 +81,8 @@ public class TestCreate extends XMBaseTest {
jsonObject.put("bizAccountId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("label","自动化-禁止使用");
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(false);
JSONObject response=xmAppApi.getBodyInJSON();
......
package com.xiaomai.cases.polar.setting.tag;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.setting.TagTools;
import com.xiaomai.cases.polar.admin.AdminTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
......@@ -16,6 +16,7 @@ import org.testng.annotations.Test;
public class TestDeleteById extends XMBaseTest {
TagTools tagTools=new TagTools();
AdminTools adminTools=new AdminTools();
@BeforeMethod
......@@ -23,7 +24,7 @@ public class TestDeleteById extends XMBaseTest {
xmAppApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_tag_deleteById")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -63,14 +64,18 @@ public class TestDeleteById extends XMBaseTest {
@Test(description = "删除标签--已被本场馆会员使用-同步删除同场馆会员的标签")
public void testDeleteById_1(){
//memberId:1768875352924524545-自动化标签会员勿动1(还不能删除线索,不添加这么多,暂时先用一个)
//memberId:1801136353800269825-自动化标签会员勿动1(还不能删除线索,不添加这么多,暂时先用一个)
//增加标签
JSONObject createTag=tagTools.tagCreate("自动化标签勿动1");
String tagId1=createTag.getString("result");
//获取当前员工昵称
JSONObject adminResult= adminTools.getStudioAdmin(xmAppApi.getLoginInfo().getAdminId());
String nickName=adminResult.getJSONObject("result").getString("nickName");
//给会员添加标签
JSONObject forceUpdate=tagTools.forceUpdate("1768875352924524545","自动化标签会员勿动1","10022233333","POTENTIAL",tagId1);
JSONObject forceUpdate=tagTools.forceUpdate("1801136353800269825","自动化标签会员勿动1",nickName,"10022233333","POTENTIAL",tagId1);
//删除标签
JSONObject deleteTag1=new JSONObject();
......@@ -94,13 +99,13 @@ public class TestDeleteById extends XMBaseTest {
@Test(description = "删除标签--已被非本场馆会员使用-不能删除")
public void testDeleteById_2() {
//被别的场馆使用:tagId:1768900252624130050;memberId:1768900398913064961-自动化标签会员勿动1
//被别的场馆使用:tagId:1801151244447690753-自动化标签勿动;memberId:1801150921062658049-自动化标签会员勿动1
//删除标签
JSONObject deleteTag2=new JSONObject();
deleteTag2.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
deleteTag2.put("brandId",xmAppApi.getLoginInfo().getBrandId());
deleteTag2.put("studioId",xmAppApi.getLoginInfo().getStudioId());
deleteTag2.put("id","1768900252624130050");
deleteTag2.put("id","1801151244447690753");
deleteTag2.put("confirm","");
xmAppApi.doRequest(RequestType.JSON,params,deleteTag2.toJSONString(),headers).assetsSuccess(true);
......
package com.xiaomai.cases.polar.setting.tag;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.admin.AdminTools;
import com.xiaomai.cases.polar.clue.MemberTools;
import com.xiaomai.cases.polar.setting.TagTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
......@@ -18,6 +18,8 @@ public class TestEdit extends XMBaseTest {
TagTools tagTools=new TagTools();
MemberTools memberTools=new MemberTools();
AdminTools adminTools=new AdminTools();
String tagId1;
String tagId2;
String tagId3;
......@@ -26,7 +28,7 @@ public class TestEdit extends XMBaseTest {
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_tag_edit")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
......@@ -62,14 +64,18 @@ public class TestEdit extends XMBaseTest {
@Test(description = "编辑标签--已被本场馆会员使用-同步编辑使用此标签会员的标签")
public void testEdit_1(){
//memberId:1768875352924524545-自动化标签会员勿动1(还不能删除线索,不添加这么多,暂时先用一个)
//memberId:1801136353800269825-自动化标签会员勿动1(还不能删除线索,不添加这么多,暂时先用一个)
//增加标签
JSONObject createTag=tagTools.tagCreate("自动化标签勿动2");
tagId2=createTag.getString("result");
//获取当前员工昵称
JSONObject nickNameResult=adminTools.getStudioAdmin(xmAppApi.getLoginInfo().getAdminId());
String nickName=nickNameResult.getJSONObject("result").getString("nickName");
//给会员添加标签
JSONObject forceUpdate=tagTools.forceUpdate("1768875352924524545","自动化标签会员勿动1","10022233333","POTENTIAL",tagId2);
JSONObject forceUpdate=tagTools.forceUpdate("1801136353800269825","自动化标签会员勿动1",nickName,"10022233333","POTENTIAL",tagId2);
//编辑标签
JSONObject editTag1=new JSONObject();
......@@ -93,7 +99,7 @@ public class TestEdit extends XMBaseTest {
Assert.assertEquals(1,total,"已被本场馆使用标签编辑失败");
//查看会员详情的标签名有没有更新
JSONObject findDetailById=memberTools.getDetailById("1768875352924524545");
JSONObject findDetailById=memberTools.getDetailById("1801136353800269825");
String label=findDetailById.getJSONObject("result").getJSONArray("tags").getJSONObject(0).getString("label");
Assert.assertEquals(label,"自动化编辑呀","此标签被使用的会员未同步更新标签");
......@@ -101,14 +107,14 @@ public class TestEdit extends XMBaseTest {
@Test(description = "编辑标签--已被非本场馆会员使用-不能编辑")
public void testEdit_2() {
//被别的场馆使用:tagId:1768900252624130050;memberId:1768900398913064961-自动化标签会员勿动1
//被别的场馆使用:tagId:1801151244447690753-自动化标签勿动;memberId:1801150921062658049-自动化标签会员勿动1
//编辑标签
JSONObject editTag2=new JSONObject();
editTag2.put("bizAccountId",xmAppApi.getLoginInfo().getAdminId());
editTag2.put("brandId",xmAppApi.getLoginInfo().getBrandId());
editTag2.put("studioId",xmAppApi.getLoginInfo().getStudioId());
editTag2.put("label","自动化编辑"+RandomStringUtil.randomString(2));
editTag2.put("id","1768900252624130050");
editTag2.put("id","1801151244447690753");
xmAppApi.doRequest(RequestType.JSON,params,editTag2.toJSONString(),headers).assetsSuccess(true);
JSONObject response=xmAppApi.getBodyInJSON();
......@@ -119,7 +125,7 @@ public class TestEdit extends XMBaseTest {
@Test(description = "编辑标签--编辑相同标签名失败")
public void testEdit_3() {
//被别的场馆使用:tagId:1768900252624130050;memberId:1768900398913064961-自动化标签会员勿动1
//被别的场馆使用:tagId:1801151244447690753-自动化标签勿动;memberId:1801150921062658049-自动化标签会员勿动1
//增加标签
JSONObject createTag=tagTools.tagCreate("自动化标签勿动3");
......@@ -130,7 +136,7 @@ public class TestEdit extends XMBaseTest {
editTag3.put("bizAccountId",xmAppApi.getLoginInfo().getAdminId());
editTag3.put("brandId",xmAppApi.getLoginInfo().getBrandId());
editTag3.put("studioId",xmAppApi.getLoginInfo().getStudioId());
editTag3.put("label","自动化标签勿");
editTag3.put("label","自动化标签勿");
editTag3.put("id",tagId3);
xmAppApi.doRequest(RequestType.JSON,params,editTag3.toJSONString(),headers).assetsSuccess(false);
......
......@@ -18,7 +18,7 @@ public class TestFetchPage extends XMBaseTest {
xmAppApi.setApiModule(ApiModule.Polar_Setting)
.setApiName("API_tag_fetchPage")
.setLoginUser(LoginAccount.YFF_DEV)
.setLoginUser(LoginAccount.GYM_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
......@@ -35,6 +35,8 @@ public class TestFetchPage extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("needUsageInfo","true");
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
JSONObject response=xmAppApi.getBodyInJSON();
......@@ -50,6 +52,8 @@ public class TestFetchPage extends XMBaseTest {
jsonObject.put("current",0);
jsonObject.put("brandId","");
jsonObject.put("needUsageInfo","true");
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(false);
Assert.assertEquals(XMJSONPath.readPath(xmAppApi.getBodyInJSON(),"$message"),"品牌id不能为空");
......
......@@ -14,6 +14,9 @@ public class ApiModule {
public static String Polar_Finance="polar_finance";//财务中心
public static String Polar_Schedule="polar_schedule";//课程排期
......
......@@ -10,7 +10,7 @@ public class LoginAccount {
public static String YFF_DEV = "yff_dev";
public static String ZYX_DEV = "zyx_dev";
public static String ADU_PROD = "adu_prod";
public static String ADU_PROD = "gym_prod_du";
public static String GYM_PROD = "GYM_PROd" +
"";
......
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;
import java.beans.PropertyDescriptor;
import java.io.FileInputStream;
import java.lang.reflect.Method;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.*;
public class CommUtil {
public static Date now = new Date();
public static String getCurrentTime() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
......@@ -67,4 +71,143 @@ public class CommUtil {
}
}
/**
* 在当前时间上增加days天,days – 可以为负
*
* @param days
* @return
*/
public static Date addDay(int days) {
return new LocalDate().plusDays(days).toDate();
}
public static String getFormatTimeStr(Date date, String format) {
assert date != null;
try {
return new SimpleDateFormat(format).format(date);
} catch (Exception ignored) {
return "";
}
}
/**
* 获取日期的时间戳格式
*
* @param time 制定日期时间,根据pattern格式传值
* @param pattern 时间格式 比如1>yyyy-MM-dd HH:mm:ss 2>yyyy-MM-dd 3>yyyy-MM-dd HH:mm
* @return
*/
public static String getStringTimestamp(String time, String pattern) {
Date date = null;
try {
date = getFormattedDate(time, pattern);
} catch (ParseException e) {
e.printStackTrace();
}
return date.getTime() + "";
}
/**
* 将指定格式的日期时间字符串,转换为Date
* 若 指定格式 与 日期时间字符串 不一致时,会抛出转换异常
*
* @param dateStr 日期时间字符串
* @param format 指定格式
* @return
* @throws ParseException
*/
public static Date getFormattedDate(String dateStr, String format) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.parse(dateStr);
}
/**
* 获取当前时间+n天的日期时间戳,一般是开始日期的时间戳 00:00:00
*
* @return
*/
public static String oneKeyGetAddDay(int day) {
Date getAddDayData = addDay(day);//获取本周的第一天
String getAddDayDataString = getFormatTimeStr(getAddDayData, "yyyy-MM-dd HH:mm:ss");//时间格式转化为string
return getStringTimestamp(getAddDayDataString, "yyyy-MM-dd HH:mm:ss");
}
public static Date getStartOfDateWeek(Date date) {
return new DateTime(date).withDayOfWeek(1).withTimeAtStartOfDay().toDate();
}
/**
* 获取本周第一天
*
* @return
*/
public static String oneKeyGetWeekStartDay() {
Date getWeekStartDayData = getStartOfDateWeek(now);//获取本周的第一天
String getWeekStartDay = getFormatTimeStr(getWeekStartDayData, "yyyy-MM-dd HH:mm:ss");//时间格式转化为string
return getStringTimestamp(getWeekStartDay, "yyyy-MM-dd HH:mm:ss");
}
public static Date getEndOfDateWeek(Date date) {
return new DateTime(date).withDayOfWeek(7).withTime(23, 59, 59, 0).toDate();
}
/**
* 获取本周最后一天
*
* @return
*/
public static String oneKeyGetWeekEndDay() {
Date getWeekEndDayData = getEndOfDateWeek(now);//获取本周的最后一天
String getWeekEndDay = getFormatTimeStr(getWeekEndDayData, "yyyy-MM-dd HH:mm:ss");//时间格式转化为string
return getStringTimestamp(getWeekEndDay, "yyyy-MM-dd HH:mm:ss");
}
public static Date getEndOfDay(Date date) {
assert date != null;
return new DateTime(date).withTime(23, 59, 59, 999).toDate();
}
/**
* 设定时间+N天
*
* @param date 设置的时间 Date now=new Date();
* @param n 天
* @return
*/
public static Date addNDays(Date date, int n) {
Calendar now = Calendar.getInstance();
now.setTime(date);
now.add(Calendar.DAY_OF_MONTH, n);
return now.getTime();
}
/**
* 当前时间+n天结束日期时间戳 23:59:59
* @param n
* @return
*/
public static String getNDayEndTimeTamp(int n){
Date now = new Date();
Date totalDate = addNDays(now, n);
String getNDayEndTime = getFormatTimeStr(getEndOfDay(totalDate), "yyyy-MM-dd HH:mm:ss");//时间格式转化为string
return getStringTimestamp(getNDayEndTime, "yyyy-MM-dd HH:mm:ss");
}
//@Test
public void test() {
//当天时间戳格式:2024-6-12 00:00:00点
System.out.println("当前时间时间戳" + oneKeyGetAddDay(0));
System.out.println("****" +getNDayEndTimeTamp(0));
}
}
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