Commit 203d26a1 by DuJunLi

增加会员卡开卡case,优化会员卡相关case代码

parent edc2b7a3
...@@ -6,6 +6,7 @@ import com.xiaomai.client.DataUserInfo; ...@@ -6,6 +6,7 @@ import com.xiaomai.client.DataUserInfo;
import com.xiaomai.enums.ApiModule; import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.RequestType; import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal; import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.CommUtil;
import com.xiaomai.utils.RandomStringUtil; import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.TimeUtils; import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest; import com.xiaomai.utils.XMBaseTest;
...@@ -371,6 +372,13 @@ public class OrderTools extends XMBaseTest { ...@@ -371,6 +372,13 @@ public class OrderTools extends XMBaseTest {
card.put("cardChange",cardChange); card.put("cardChange",cardChange);
card.put("deductionAmount",deductionAmount);//优惠金额(元) card.put("deductionAmount",deductionAmount);//优惠金额(元)
card.put("activatePattern",activatePattern); card.put("activatePattern",activatePattern);
if(activatePattern.equals("FIRST_USED")){ //如果选择生效方式为 首次使用生效
card.put("maxIdlePeriod",30); //最晚生效天数
card.put("giftQuantity",2);//赠送2次
}
if(activatePattern.equals("SPECIFIC_DATE")){//选择指定日期生效
card.put("activateDate", CommUtil.oneKeyGetAddDay(7));//当前时间+7天
}
card.put("commodityCardType",commodityCardType); card.put("commodityCardType",commodityCardType);
jsonObject.put("card",card); jsonObject.put("card",card);
......
...@@ -9,10 +9,13 @@ import com.xiaomai.enums.Terminal; ...@@ -9,10 +9,13 @@ import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil; import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.TimeUtils; import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest; import com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath;
import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@Component("cardTools")
public class CardTools extends XMBaseTest { public class CardTools extends XMBaseTest {
/** /**
...@@ -20,14 +23,14 @@ public class CardTools extends XMBaseTest { ...@@ -20,14 +23,14 @@ public class CardTools extends XMBaseTest {
* @description:创建会员卡 * @description:创建会员卡
* @author: yangjian * @author: yangjian
**/ **/
public JSONObject memberCardCreate(String title, DataUserInfo...dataUserInfos) { public JSONObject memberCardCreate(String title, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card) dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_tenantMemberCard_create") .setApiName("API_tenantMemberCard_create")
.setTerminal(Terminal.B); .setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos); super.beforeDataRequest(dataUserInfos);
JSONArray activatePatternList=new JSONArray(); JSONArray activatePatternList = new JSONArray();
activatePatternList.add("PURCHASE"); activatePatternList.add("PURCHASE");
activatePatternList.add("SPECIFIC_DATE"); activatePatternList.add("SPECIFIC_DATE");
activatePatternList.add("FIRST_USED"); activatePatternList.add("FIRST_USED");
...@@ -48,13 +51,10 @@ public class CardTools extends XMBaseTest { ...@@ -48,13 +51,10 @@ public class CardTools extends XMBaseTest {
benefitList.add(Object); benefitList.add(Object);
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("surfaceUrl","https://image.xiaomaiketang.com/xm/internal/HpRiJpFnTC.png");//会员卡封面图片 jsonObject.put("surfaceUrl", "https://image.xiaomaiketang.com/xm/internal/HpRiJpFnTC.png");//会员卡封面图片
jsonObject.put("surfaceCornerMark","自动化标签"); jsonObject.put("surfaceCornerMark", "自动化标签");
jsonObject.put("title",title );//会员卡名称 不能重复要加东西 "次卡-自动化会员卡"+RandomStringUtil.randomString(3) jsonObject.put("title", title);//会员卡名称 不能重复要加东西 "次卡-自动化会员卡"+RandomStringUtil.randomString(3)
jsonObject.put("validPeriod", "3");//有效期-3天 jsonObject.put("validPeriod", "3");//有效期-3天
jsonObject.put("activatePatternList", activatePatternList);//三种生效方式 jsonObject.put("activatePatternList", activatePatternList);//三种生效方式
jsonObject.put("sharePeopleLimit", "2");//共享人数 jsonObject.put("sharePeopleLimit", "2");//共享人数
...@@ -71,39 +71,87 @@ public class CardTools extends XMBaseTest { ...@@ -71,39 +71,87 @@ public class CardTools extends XMBaseTest {
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/**
* 快速创建会员卡次卡-存量数据: 嘟嘟创建的会员卡-次卡
*
* @param title
* @param dataUserInfos
* @return
*/
public String oneKeyCreateMembershipCardNumberCard(String title, DataUserInfo... dataUserInfos) {
String requestString = "{\n" +
"\"surfaceUrl\": \"https://image.xiaomaiketang.com/xm/internal/HpRiJpFnTC.png\",\n" +
"\"maxIdlePeriod\": 30,\n" +
"\"surfaceCornerMark\": \"\",\n" +
"\"title\": \"" + title + "\",\n" +
"\"validPeriod\": \"9999\",\n" +
"\"activatePatternList\": [\n" +
"\"PURCHASE\",\n" +
"\"FIRST_USED\",\n" +
"\"SPECIFIC_DATE\"\n" +
"],\n" +
"\"benefitList\": [\n" +
"{\n" +
"\"identifier\": \"" + RandomStringUtil.randomString(20) + "\",\n" +
"\"benefitType\": \"BALANCE\",\n" +
"\"targetScope\": \"GROUP_CLASS_AND_PERSONAL_COURSE\",\n" +
"\"balance\": \"60\",\n" +
"\"reserveLimitType\": \"UN_LIMIT\",\n" +
"\"reserveLimitNumber\": 0,\n" +
"\"defaultConsumeBalance\": 1,\n" +
"\"itemList\": [],\n" +
"\"targetType\": \"COURSE\"\n" +
"}\n" +
"],\n" +
"\"price\": \"398\",\n" +
"\"underlinePrice\": \"1000\",\n" +
"\"purchaseNumberLimit\": \"-1\",\n" +
"\"xcxSaleStatus\": \"YES\",\n" +
"\"creatorId\": \"1798957492546801666\",\n" +
"\"shelfState\": \"YES\",\n" +
"\"brandId\": \"1796482011391729666\",\n" +
"\"studioId\": \"1800375402938871809\",\n" +
"\"description\": \"{\\\"items\\\":[]}\",\n" +
"\"operatorId\": \"1798957492546801666\",\n" +
"\"commodityCardType\": \"MEMBER_CARD\"\n" +
"}";
dataApi.doRequest(RequestType.JSON, dataparams, requestString, dataheadrs).assetsSuccess(true);
return XMJSONPath.readPath(dataApi.getApi_response(), "$.result");
}
/**
* @param
* @description:会员卡列表
* @author: yangjian
**/
public JSONObject fetchPageOfMemberCard(DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_fetchPageOfMemberCard")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
//jsonObject.put("shelfState",shelfState);//启用状态
//jsonObject.put("xcxSaleStatus",xcxSaleStatus);//售卖状态
jsonObject.put("current", 0);
jsonObject.put("size", 20);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON(); JSONObject response = dataApi.getBodyInJSON();
return response; return response;
} }
/** public JSONObject fetchPageOfMemberCard(String courseId, DataUserInfo... dataUserInfos) {
* @param
* @description:会员卡列表
* @author: yangjian
**/
public JSONObject fetchPageOfMemberCard(DataUserInfo...dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_fetchPageOfMemberCard")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
//jsonObject.put("shelfState",shelfState);//启用状态
//jsonObject.put("xcxSaleStatus",xcxSaleStatus);//售卖状态
jsonObject.put("current",0);
jsonObject.put("size",20);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON();
return response;
}
public JSONObject fetchPageOfMemberCard(String courseId,DataUserInfo...dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card) dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_fetchPageOfMemberCard") .setApiName("API_fetchPageOfMemberCard")
.setTerminal(Terminal.B); .setTerminal(Terminal.B);
...@@ -112,64 +160,64 @@ public JSONObject fetchPageOfMemberCard(DataUserInfo...dataUserInfos) { ...@@ -112,64 +160,64 @@ public JSONObject fetchPageOfMemberCard(DataUserInfo...dataUserInfos) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
//jsonObject.put("shelfState",shelfState);//启用状态 //jsonObject.put("shelfState",shelfState);//启用状态
//jsonObject.put("xcxSaleStatus",xcxSaleStatus);//售卖状态 //jsonObject.put("xcxSaleStatus",xcxSaleStatus);//售卖状态
jsonObject.put("courseId",courseId); jsonObject.put("courseId", courseId);
jsonObject.put("current",0); jsonObject.put("current", 0);
jsonObject.put("size",20); jsonObject.put("size", 20);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId()); jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId()); jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON(); JSONObject response = dataApi.getBodyInJSON();
return response.getJSONObject("result"); return response.getJSONObject("result");
} }
/** /**
* @param * @param
* @description:会员卡搜索 * @description:会员卡搜索
* @author: yangjian * @author: yangjian
**/ **/
public JSONObject testMemberCardcommonSearch(String title, DataUserInfo...dataUserInfos) { public JSONObject doMemberCardcommonSearch(String title, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_commonSearch")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("brandId",dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",dataApi.getLoginInfo().getStudioId());
jsonObject.put("title",title);//搜索的卡名
jsonObject.put("operatorId",dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON();
return response;
}
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_commonSearch")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
/** JSONObject jsonObject = new JSONObject();
* @param jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
* @description:会员卡售卖记录 jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
* @author: yangjian jsonObject.put("title", title);//搜索的卡名
**/ jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_membercard_search")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject(); /**
* @param
* @description:会员卡售卖记录
* @author: yangjian
**/
public JSONObject membercardsearch(DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_membercard_search")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
jsonObject.put("current",0); JSONObject jsonObject = new JSONObject();
jsonObject.put("size",20);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); jsonObject.put("current", 0);
JSONObject response=dataApi.getBodyInJSON(); jsonObject.put("size", 20);
return response; jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
} jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response = dataApi.getBodyInJSON();
return response;
}
/** /**
* @param * @param
...@@ -177,22 +225,22 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -177,22 +225,22 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @author: yangjian * @author: yangjian
**/ **/
public JSONObject commonSearch( String content ,DataUserInfo...dataUserInfos) { public JSONObject commonSearch(String content, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Clue) dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_commonSearch") .setApiName("API_commonSearch")
.setTerminal(Terminal.B); .setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos); super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("content",content); jsonObject.put("content", content);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId()); jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId()); jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON(); JSONObject response = dataApi.getBodyInJSON();
return response; return response;
} }
...@@ -201,7 +249,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -201,7 +249,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:会员卡详情 * @description:会员卡详情
* @author: yangjian * @author: yangjian
**/ **/
public JSONObject fetchDetailById( String id ,DataUserInfo...dataUserInfos) { public JSONObject fetchDetailById(String id, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card) dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_fetchDetailById") .setApiName("API_fetchDetailById")
...@@ -210,80 +258,80 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -210,80 +258,80 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("id",id); jsonObject.put("id", id);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
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
**/
public JSONObject membercardfindDetailById(String id, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_membercard_findDetailById")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", id);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId()); jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId()); jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON(); JSONObject response = dataApi.getBodyInJSON();
return response; return response;
} }
/**
* @param /**
* @description:会员卡售卖记录详情 * @param courseId:课程id
* @author: yangjian * @param courseType:课程类型 GROUP_CLASS
**/ * @param accountType:账户类型 MEMBER
public JSONObject membercardfindDetailById( String id ,DataUserInfo...dataUserInfos) { * @param memberId 会员id
* @param reserveDate:约课时间
dataApi.setApiModule(ApiModule.Polar_Card) * @param dataUserInfos
.setApiName("API_membercard_findDetailById") * @description:查询会员可用于约课的会员卡
.setTerminal(Terminal.B); * @author: xuyamei
super.beforeDataRequest(dataUserInfos); * @date: 2024/6/23 12:38
* @return: com.alibaba.fastjson.JSONArray
JSONObject jsonObject = new JSONObject(); **/
public JSONArray listUserReservableBenefit(String courseId, String courseType, String accountType, String memberId, long reserveDate, DataUserInfo... dataUserInfos) {
jsonObject.put("id", id); dataApi.setApiModule(ApiModule.Polar_Card)
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId()); .setApiName("API_listUserReservableBenefit")
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId()); .setTerminal(Terminal.B);
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId()); super.beforeDataRequest(dataUserInfos);
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); JSONObject jsonObject = new JSONObject();
JSONObject response = dataApi.getBodyInJSON(); jsonObject.put("courseId", courseId);
return response; jsonObject.put("courseType", courseType);
} jsonObject.put("accountType", accountType);
jsonObject.put("memberId", memberId);
jsonObject.put("reserveDate", reserveDate);
/** jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
* @description:查询会员可用于约课的会员卡 jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
* @author: xuyamei jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
* @date: 2024/6/23 12:38
* @param courseId:课程id dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
* @param courseType:课程类型 GROUP_CLASS return dataApi.getBodyInJSON().getJSONArray("result");
* @param accountType:账户类型 MEMBER
* @param memberId 会员id }
* @param reserveDate:约课时间
* @param dataUserInfos
* @return: com.alibaba.fastjson.JSONArray
**/
public JSONArray listUserReservableBenefit(String courseId,String courseType,String accountType,String memberId,long reserveDate,DataUserInfo...dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_listUserReservableBenefit")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("courseId", courseId);
jsonObject.put("courseType", courseType);
jsonObject.put("accountType", accountType);
jsonObject.put("memberId", memberId);
jsonObject.put("reserveDate", reserveDate);
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
return dataApi.getBodyInJSON().getJSONArray("result");
}
/** /**
* @param * @param
* @description:手动扣次 * @description:手动扣次
* @author: yangjian * @author: yangjian
**/ **/
public JSONObject manualDeduct( String benefitId ,String memberCardId ,DataUserInfo...dataUserInfos) { public JSONObject manualDeduct(String benefitId, String memberCardId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card) dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_manualDeduct") .setApiName("API_manualDeduct")
...@@ -292,7 +340,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -292,7 +340,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("balance",1); jsonObject.put("balance", 1);
jsonObject.put("benefitId", benefitId); jsonObject.put("benefitId", benefitId);
jsonObject.put("memberCardId", memberCardId); jsonObject.put("memberCardId", memberCardId);
jsonObject.put("memo", "自动化手动扣次"); jsonObject.put("memo", "自动化手动扣次");
...@@ -301,7 +349,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -301,7 +349,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId()); jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON(); JSONObject response = dataApi.getBodyInJSON();
return response; return response;
} }
...@@ -310,7 +358,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -310,7 +358,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:会员卡消耗记录 * @description:会员卡消耗记录
* @author: yangjian * @author: yangjian
**/ **/
public JSONObject fetchPageOfConsumeRecord( String benefitId ,String memberCardId ,DataUserInfo...dataUserInfos) { public JSONObject fetchPageOfConsumeRecord(String benefitId, String memberCardId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card) dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_fetchPageOfConsumeRecord") .setApiName("API_fetchPageOfConsumeRecord")
...@@ -319,16 +367,16 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -319,16 +367,16 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("current",0); jsonObject.put("current", 0);
jsonObject.put("size",20); jsonObject.put("size", 20);
jsonObject.put("benefitId",benefitId); jsonObject.put("benefitId", benefitId);
jsonObject.put("memberCardId",memberCardId); jsonObject.put("memberCardId", memberCardId);
jsonObject.put("brandId",dataApi.getLoginInfo().getBrandId()); jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",dataApi.getLoginInfo().getStudioId()); jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",dataApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON(); JSONObject response = dataApi.getBodyInJSON();
return response; return response;
} }
...@@ -337,7 +385,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -337,7 +385,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:修改会员卡有效期 * @description:修改会员卡有效期
* @author: yangjian * @author: yangjian
**/ **/
public JSONObject modifyExpireDate( String benefitId ,String memberCardId ,DataUserInfo...dataUserInfos) { public JSONObject modifyExpireDate(String benefitId, String memberCardId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card) dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_modifyExpireDate") .setApiName("API_modifyExpireDate")
...@@ -346,17 +394,17 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -346,17 +394,17 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("confirm",false); jsonObject.put("confirm", false);
jsonObject.put("expireDate", TimeUtils.getTodayTime()); jsonObject.put("expireDate", TimeUtils.getTodayTime());
jsonObject.put("memo","自动化修改会员卡有效期"); jsonObject.put("memo", "自动化修改会员卡有效期");
jsonObject.put("benefitId",benefitId); jsonObject.put("benefitId", benefitId);
jsonObject.put("memberCardId",memberCardId); jsonObject.put("memberCardId", memberCardId);
jsonObject.put("brandId",dataApi.getLoginInfo().getBrandId()); jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",dataApi.getLoginInfo().getStudioId()); jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",dataApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON(); JSONObject response = dataApi.getBodyInJSON();
return response; return response;
} }
...@@ -365,7 +413,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -365,7 +413,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:会员卡停卡 * @description:会员卡停卡
* @author: yangjian * @author: yangjian
**/ **/
public JSONObject membercard_suspend( String benefitId ,String memberCardId ,DataUserInfo...dataUserInfos) { public JSONObject membercard_suspend(String benefitId, String memberCardId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card) dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_membercard_suspend") .setApiName("API_membercard_suspend")
...@@ -376,15 +424,15 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -376,15 +424,15 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
jsonObject.put("planRestoreDate", TimeUtils.getAfterDayDate(1));//停卡到第二天 jsonObject.put("planRestoreDate", TimeUtils.getAfterDayDate(1));//停卡到第二天
jsonObject.put("memo","自动化停卡"); jsonObject.put("memo", "自动化停卡");
jsonObject.put("benefitId",benefitId); jsonObject.put("benefitId", benefitId);
jsonObject.put("memberCardId",memberCardId); jsonObject.put("memberCardId", memberCardId);
jsonObject.put("brandId",dataApi.getLoginInfo().getBrandId()); jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",dataApi.getLoginInfo().getStudioId()); jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",dataApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON(); JSONObject response = dataApi.getBodyInJSON();
return response; return response;
} }
...@@ -393,7 +441,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -393,7 +441,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:会员卡查看编辑记录 * @description:会员卡查看编辑记录
* @author: yangjian * @author: yangjian
**/ **/
public JSONObject fetchPageOfHistory( String memberCardId ,DataUserInfo...dataUserInfos) { public JSONObject fetchPageOfHistory(String memberCardId, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card) dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_fetchPageOfHistory") .setApiName("API_fetchPageOfHistory")
...@@ -402,21 +450,79 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) { ...@@ -402,21 +450,79 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("memberCardId",memberCardId); jsonObject.put("memberCardId", memberCardId);
jsonObject.put("current",0); jsonObject.put("current", 0);
jsonObject.put("size",20); jsonObject.put("size", 20);
jsonObject.put("brandId",dataApi.getLoginInfo().getBrandId()); jsonObject.put("brandId", dataApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",dataApi.getLoginInfo().getStudioId()); jsonObject.put("studioId", dataApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",dataApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId", dataApi.getLoginInfo().getAdminId());
dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true); dataApi.doRequest(RequestType.JSON, dataparams, jsonObject.toJSONString(), dataheadrs).assetsSuccess(true);
JSONObject response=dataApi.getBodyInJSON(); JSONObject response = dataApi.getBodyInJSON();
return response; return response;
} }
/**
* 修改会员卡的停启用状态
*
* @param memberCardId 会员卡ID
* @param shelfState 启用:YES,停用:NO
* @param dataUserInfos
*/
public void modifyMemberCardShelfState(String memberCardId, String shelfState, DataUserInfo... dataUserInfos) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_modifyShelfState")
.setTerminal(Terminal.B);
super.beforeDataRequest(dataUserInfos);
JSONObject jsonObject = new JSONObject();
jsonObject.put("memberCardId", memberCardId);
jsonObject.put("shelfState", shelfState);
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);
}
/**
* 售卖记录全局搜索:根据会员名称/手机号搜索,获取会员名下购卡相关记录
*
* @param memberId
*/
public void getUserMemberCardList(String memberId) {
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_fetchUserCardList")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject jsonObject = new JSONObject();
jsonObject.put("accountType", "MEMBER");
jsonObject.put("memberId", memberId);
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);
}
/**
* 查看会员卡售卖记录-变动记录
* @param memberCardAccountId
*/
public void getMemberCardAccountOperateRecord(String memberCardAccountId){
dataApi.setApiModule(ApiModule.Polar_Card)
.setApiName("API_fetchPageOfOperateRecord")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject jsonObject = new JSONObject();
jsonObject.put("memberCardId", memberCardAccountId);
jsonObject.put("current", 0);
jsonObject.put("size", 100);
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);
} }
}
package com.xiaomai.cases.polar.memberCard;
import com.xiaomai.basetest.BaseTestImpl;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.cases.polar.member.Tools;
import com.xiaomai.cases.polar.training.TrainingTools;
import com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath;
import org.testng.annotations.BeforeClass;
import javax.annotation.Resource;
import java.math.BigDecimal;
/**
* @author adu
* data 2024/7/24 10:15
*/
public class GetMemberCardBaseInfoForSign extends BaseTestImpl {
String memberId = "";
String memberCardId="";
@Resource(name = "tools")
Tools tools;
@Resource(name = "orderTools")
OrderTools orderTools;
@Resource(name = "trainingTools")
TrainingTools trainingTools;
@Resource(name = "cardTools")
CardTools cardTools;
String shelfState="";
BigDecimal quantity; //可用次数
float price; //价格
int validPeriod; //有效期
String latestSnapshotId;//最近的快照ID
@BeforeClass
public void beforeTest() {
super.beforeTest();
//搜索目标会员
String phone = "17682302508";
memberId = trainingTools.searchTargerMember(phone);
if (memberId.isEmpty()) {
memberId = tools.create("测试机吴彦祖", phone).getString("result");
}
//搜索目标会员卡-次卡
String title = "嘟嘟创建的会员卡-次卡";
cardTools.doMemberCardcommonSearch(title);
int total = XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(), "$.result").size();
if (total > 0) {
memberCardId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result[0].id");
shelfState = XMJSONPath.readPath(dataApi.getApi_response(), "$.result[0].shelfState");//YES,上架状态:YES
if (shelfState.equals("NO")) {
cardTools.modifyMemberCardShelfState(memberCardId, "YES");
}
} else {
//创建一个新的会员卡
memberCardId = cardTools.oneKeyCreateMembershipCardNumberCard(title);
}
//获取会员卡详情
cardTools.fetchDetailById(memberCardId);
quantity=BigDecimal.valueOf(Long.valueOf(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.benefitList[0].balance")));
price=Float.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.price"));
validPeriod=Integer.valueOf(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.validPeriod"));
latestSnapshotId=XMJSONPath.readPath(dataApi.getApi_response(), "$.result.latestSnapshotId");
//给会员签单-购买会员卡
orderTools.signOrder(memberCardId,latestSnapshotId,quantity,price,validPeriod,
latestSnapshotId,0,"FIRST_USED","MEMBER_CARD",
memberId,price,price,"1");
}
}
\ No newline at end of file
package com.xiaomai.cases.polar.memberCard;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.finance.order.OrderTools;
import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import javax.annotation.Resource;
/**
* 售卖记录详情-会员卡开卡
*
* @author adu
* data 2024/7/24 14:43
*/
public class TestActivateMemberCard extends GetMemberCardBaseInfoForSign {
@Resource(name = "cardTools")
CardTools cardTools;
@Resource(name = "orderTools")
OrderTools orderTools;
@BeforeClass
public void beforeTest() {
setTestInfo(ApiModule.Polar_Card, "API_activateMemberCard", LoginAccount.ADU_PROD, Terminal.B, "adu");
super.beforeTest();
}
@Test(description = "操作会员卡开卡")
public void testActivateMemberCard() {
cardTools.getUserMemberCardList(memberId);
String memberAccountCardId="";
String state;
int count= XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(),"$.result").size();
if(count>0){
memberAccountCardId=XMJSONPath.readPath(dataApi.getApi_response(),"$.result[0].id");
state=XMJSONPath.readPath(dataApi.getApi_response(),"$.result[0].state");
if(state.equals("UN_ACTIVE")){
//操作开卡
JSONObject body = new JSONObject();
body.put("operatorId", xmAppApi.getLoginInfo().getAdminId());
body.put("studioId", xmAppApi.getLoginInfo().getStudioId());
body.put("brandId", xmAppApi.getLoginInfo().getBrandId());
body.put("memberCardId", memberAccountCardId);
xmAppApi.doRequest(RequestType.JSON, params, body.toString(), headers).assetsSuccess(true);
//查看售卖记录详情
cardTools.membercardfindDetailById(memberAccountCardId);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.state"),"NORMAL","开卡后卡状态没变更为生效状态");
String benefitId=XMJSONPath.readPath(dataApi.getApi_response(),"$.result.benefitList[0].id");
//check生成一条变动记录
cardTools.getMemberCardAccountOperateRecord(memberAccountCardId);
Assert.assertTrue(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].operateType").equals("ACTIVATE"),"手动开卡后生成的变动记录第一条备注不是手动开卡ACTIVATE");
Assert.assertTrue(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].remark").equals("手动开卡"),"手动开卡后生成的变动记录第一条备注不是手动开卡");
//查看消耗记录
cardTools.fetchPageOfConsumeRecord(benefitId,memberAccountCardId);
int totalBefore=XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(),"$.result.records").size();
Assert.assertTrue(totalBefore==1,"会员购卡后没生成购买的消耗记录");
Assert.assertTrue(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].consumeType").equals("PURCHASE"),"会员购卡后生成消耗记录不是购买");
//操作退卡
orderTools.refundOrder(2,memberAccountCardId,quantity,price,"MEMBER_CARD",
memberId,price,price,"1");
String refundOrderId=XMJSONPath.readPath(dataApi.getApi_response(),"$.result");
//退卡成功后check 售卖记录详情状态:已退卡
cardTools.membercardfindDetailById(memberAccountCardId);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.state"),"REFUNDED","退卡后卡卡账户状态没变更为已退卡状态");
//退卡后check是否生成一条退卡的消耗记录
cardTools.fetchPageOfConsumeRecord(benefitId,memberAccountCardId);
int totalAfter=XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(),"$.result.records").size();
Assert.assertTrue(totalAfter==2,"会员退卡后没生成购买的消耗记录");
Assert.assertTrue(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].consumeType").equals("REFUND"),"会员退卡后生成消耗记录不是退卡");
//check 消耗次数
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].changeOfPurchaseBalance"),"-60.00","购买次数变动不是-60");
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].changeOfUsablePurchaseBalance"),"-60.00","可用次数变动不是-2");
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].changeOfGiveBalance"),"-2.00","赠送次数变动不是-60");
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].changeOfUsableGiveBalance"),"-2.00","可用赠送次数变动不是-2");
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].changeOfBenefitAmount"),"-398.00","变动金额不是-398.00");
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].leftBenefitAmount"),"0.00","剩余金额不是0.00");
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].leftPurchaseBalance"),"0.00","剩余购买次数不是0");
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].leftUsablePurchaseBalance"),"0.00","剩余可用次数不是0");
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].leftGiveBalance"),"0.00","剩余赠送次数不是0");
Assert.assertEquals( XMJSONPath.readPath(dataApi.getApi_response(),"$.result.records[0].leftUsableGiveBalance"),"0.00","剩余可用赠送次数不是0");
}
}
}
}
\ No newline at end of file
package com.xiaomai.cases.polar.memberCard; package com.xiaomai.cases.polar.memberCard;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.xiaomai.cases.polar.clue.MemberTools;
import com.xiaomai.enums.ApiModule; import com.xiaomai.enums.ApiModule;
import com.xiaomai.enums.LoginAccount; import com.xiaomai.enums.LoginAccount;
import com.xiaomai.enums.RequestType; import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal; import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil; import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.TimeUtils;
import com.xiaomai.utils.XMBaseTest; import com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath; import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test; import org.testng.annotations.Test;
import javax.annotation.Resource;
public class TestMemberCardSearch extends XMBaseTest { public class TestMemberCardSearch extends XMBaseTest {
@Resource(name = "cardTools")
CardTools cardTools;
@BeforeMethod @BeforeMethod
public void beforeTest(){ public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Card) xmAppApi.setApiModule(ApiModule.Polar_Card)
...@@ -26,25 +28,23 @@ public class TestMemberCardSearch extends XMBaseTest { ...@@ -26,25 +28,23 @@ public class TestMemberCardSearch extends XMBaseTest {
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]); .setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest(); super.beforeTest();
} }
@Test(description = "会员卡列表搜索") @Test(description = "会员卡列表根据卡名称-全局搜索")
public void testMemberCardcommonSearch() { public void testMemberCardcommonSearch() {
CardTools Cardtools = new CardTools(); String memberCardName="次卡-自动化会员卡"+ RandomStringUtil.randomString(8);
Cardtools.memberCardCreate("次卡-自动化会员卡"+ RandomStringUtil.randomString(3));//创建随机的名的次卡 cardTools.memberCardCreate(memberCardName);//创建随机的名的次卡
Cardtools.fetchPageOfMemberCard(); cardTools.fetchPageOfMemberCard();//创建成功后查询会员卡列表(此处也可以不查询)
Assert.assertTrue(XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(),"$.result.records").size()>=1,"创建会员卡成功后,会员卡列表数据为空");
String title = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].title"); Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].title"),memberCardName,"创建成功后,列表中第一条数据不是显示的该卡");
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId()); jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId()); jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("title",title);//这里需要搜索新创建的会员卡 jsonObject.put("title",memberCardName);//这里需要搜索新创建的会员卡
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true); xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true);
Assert.assertTrue(XMJSONPath.getJSONArrayByReadPath(xmAppApi.getApi_response(),"$.result").size()==1,"精确搜索后发现会搜索到的数据不等于1");
Assert.assertTrue(XMJSONPath.readPath(xmAppApi.getApi_response(),"$.result[0].title").equals(memberCardName),"精确搜索后发现会员卡名称不匹配");
} }
} }
...@@ -7,10 +7,15 @@ import com.xiaomai.enums.RequestType; ...@@ -7,10 +7,15 @@ import com.xiaomai.enums.RequestType;
import com.xiaomai.enums.Terminal; import com.xiaomai.enums.Terminal;
import com.xiaomai.utils.XMBaseTest; import com.xiaomai.utils.XMBaseTest;
import com.xiaomai.utils.XMJSONPath; import com.xiaomai.utils.XMJSONPath;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test; import org.testng.annotations.Test;
import javax.annotation.Resource;
public class TestModifyShelfState extends XMBaseTest { public class TestModifyShelfState extends XMBaseTest {
@Resource(name = "cardTools")
CardTools cardTools;
@BeforeMethod @BeforeMethod
public void beforeTest(){ public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Card) xmAppApi.setApiModule(ApiModule.Polar_Card)
...@@ -26,43 +31,60 @@ public class TestModifyShelfState extends XMBaseTest { ...@@ -26,43 +31,60 @@ public class TestModifyShelfState extends XMBaseTest {
public void testmodifyShelfState() { public void testmodifyShelfState() {
CardTools Cardtools = new CardTools(); CardTools Cardtools = new CardTools();
Cardtools.fetchPageOfMemberCard(); Cardtools.fetchPageOfMemberCard();
String memberCardId = "";
String memberCardId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].id"); String shelfState;
//先检查次下列表有没有数据,有数据才会执行下面的点代码(如果是个空机构,肯定不会被执行,想从存量数据中获取,需要自己先造个数据)
int listDatas = XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(), "$.result.records").size();
JSONObject jsonObject = new JSONObject(); if (listDatas > 0) {
memberCardId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].id");
jsonObject.put("shelfState","NO"); //取出第一个数据后,要check下会员卡的启用状态,想停用,要保证卡的状态目前就是启用状态
jsonObject.put("memberCardId",memberCardId); shelfState=XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].shelfState");
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId()); //如果不是启用状态,则开启
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId()); if(shelfState.equals("NO")){
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId()); cardTools.modifyMemberCardShelfState(memberCardId,"YES");
}
JSONObject jsonObject = new JSONObject();
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true); jsonObject.put("shelfState", "NO");
jsonObject.put("memberCardId", memberCardId);
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);
//check 会员卡详情,查看状态是否是下架状态
cardTools.fetchDetailById(memberCardId);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(),"$.result.shelfState"),"NO","操作停用会员卡后,查看卡详情,卡启用状态没变更为NO");
}
} }
@Test(description = "启用会员卡") @Test(description = "启用会员卡")
public void testmodifyShelfState1() { public void testmodifyShelfState1() {
CardTools Cardtools = new CardTools(); CardTools Cardtools = new CardTools();
Cardtools.fetchPageOfMemberCard(); Cardtools.fetchPageOfMemberCard();
String memberCardId = "";
String memberCardId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].id"); String shelfState;
int listDatas = XMJSONPath.getJSONArrayByReadPath(dataApi.getApi_response(), "$.result.records").size();
if (listDatas > 0) {
JSONObject jsonObject = new JSONObject(); memberCardId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].id");
shelfState = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].shelfState");
jsonObject.put("shelfState","YES"); if (shelfState.equals("YES")) {
jsonObject.put("memberCardId",memberCardId); cardTools.modifyMemberCardShelfState(memberCardId, "NO");
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId()); }
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId()); JSONObject jsonObject = new JSONObject();
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
jsonObject.put("shelfState", "YES");
jsonObject.put("memberCardId", memberCardId);
jsonObject.put("brandId", xmAppApi.getLoginInfo().getBrandId());
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true); jsonObject.put("studioId", xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId", xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true);
//check 会员卡详情,查看状态是否是上架状态
cardTools.fetchDetailById(memberCardId);
Assert.assertEquals(XMJSONPath.readPath(dataApi.getApi_response(), "$.result.shelfState"), "YES", "操作启用会员卡后,查看卡详情,卡启用状态没变更为YES");
}
} }
} }
...@@ -28,8 +28,6 @@ public class TestModifyXcxSaleState extends XMBaseTest { ...@@ -28,8 +28,6 @@ public class TestModifyXcxSaleState extends XMBaseTest {
Cardtools.fetchPageOfMemberCard(); Cardtools.fetchPageOfMemberCard();
String memberCardId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].id"); String memberCardId = XMJSONPath.readPath(dataApi.getApi_response(), "$.result.records[0].id");
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("xcxSaleState","NO"); jsonObject.put("xcxSaleState","NO");
...@@ -37,9 +35,6 @@ public class TestModifyXcxSaleState extends XMBaseTest { ...@@ -37,9 +35,6 @@ public class TestModifyXcxSaleState extends XMBaseTest {
jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId()); jsonObject.put("brandId",xmAppApi.getLoginInfo().getBrandId());
jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId()); jsonObject.put("studioId",xmAppApi.getLoginInfo().getStudioId());
jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId()); jsonObject.put("operatorId",xmAppApi.getLoginInfo().getAdminId());
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true); xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers).assetsSuccess(true);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment