Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xm-sportstest
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiamai-test
xm-sportstest
Commits
f526a59b
Commit
f526a59b
authored
Sep 07, 2024
by
yangfangfang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
数据中心-财务数据-营收数据
parent
765f7e34
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
505 additions
and
1 deletions
+505
-1
src/main/java/com/xiaomai/cases/polar/data/financeData/FinanceDataTools.java
+64
-0
src/main/java/com/xiaomai/cases/polar/data/financeData/TestGetCostData.java
+247
-0
src/main/java/com/xiaomai/cases/polar/data/financeData/TestGetCostDetail.java
+99
-0
src/main/java/com/xiaomai/cases/polar/data/financeData/TestGetCostTrend.java
+94
-0
src/main/java/com/xiaomai/cases/polar/finance/order/TestSignOrder.java
+1
-1
No files found.
src/main/java/com/xiaomai/cases/polar/data/financeData/FinanceDataTools.java
View file @
f526a59b
...
@@ -100,4 +100,68 @@ public class FinanceDataTools extends XMBaseTest {
...
@@ -100,4 +100,68 @@ public class FinanceDataTools extends XMBaseTest {
return
response
;
return
response
;
}
}
/**
* @param
* @description:获取数据中心-财务数据-营收数据-全部
* @param dateType:时间类型:[ DAY, WEEK, MONTH, QUARTER, YEAR ]
* @param startTime:开始时间
* @param endTime:结束时间 注意:使用这个方法只能搜按天和按月,因为参数类型这里写的long 其他几个不是long型,会用不了
* @author: yangfangfang
**/
public
JSONObject
getCostData_all
(
String
dateType
,
long
startTime
,
long
endTime
,
DataUserInfo
...
dataUserInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Data
)
.
setApiName
(
"API_getCostData"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
getCostData
=
new
JSONObject
();
getCostData
.
put
(
"dateType"
,
dateType
);
getCostData
.
put
(
"endTime"
,
endTime
);
getCostData
.
put
(
"startTime"
,
startTime
);
getCostData
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
getCostData
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
getCostData
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
getCostData
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @param
* @description:获取数据中心-财务数据-营收数据-根据类型筛选
* @param dateType:时间类型:[ DAY, WEEK, MONTH, QUARTER, YEAR ]
* @param startTime:开始时间
* @param endTime:结束时间 注意:使用这个方法只能搜按天和按月,因为参数类型这里写的long 其他几个不是long型,会用不了
* @param type:* ex-enum-descriptions: List [ "会员卡", "训练营", "储值卡", "体验卡", "单次约课" ][ MEMBER_CARD, TRAINING_CAMP, DEPOSIT_CARD, EXPERIENCE_CARD, SINGLE_RESERVE ]
* @author: yangfangfang
**/
public
JSONObject
getCostData_type
(
String
dateType
,
String
type
,
long
startTime
,
long
endTime
,
DataUserInfo
...
dataUserInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Data
)
.
setApiName
(
"API_getCostData"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
getCostData
=
new
JSONObject
();
getCostData
.
put
(
"dateType"
,
dateType
);
getCostData
.
put
(
"endTime"
,
endTime
);
getCostData
.
put
(
"startTime"
,
startTime
);
getCostData
.
put
(
"type"
,
type
);
getCostData
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
getCostData
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
getCostData
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
getCostData
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
}
}
src/main/java/com/xiaomai/cases/polar/data/financeData/TestGetCostData.java
0 → 100644
View file @
f526a59b
package
com
.
xiaomai
.
cases
.
polar
.
data
.
financeData
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.finance.order.OrderTools
;
import
com.xiaomai.cases.polar.member.Tools
;
import
com.xiaomai.cases.polar.memberCard.CardTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.RandomStringUtil
;
import
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
public
class
TestGetCostData
extends
XMBaseTest
{
FinanceDataTools
financeDataTools
=
new
FinanceDataTools
();
OrderTools
orderTools
=
new
OrderTools
();
Tools
tools
=
new
Tools
();
CardTools
cardTools
=
new
CardTools
();
String
memberId
;
String
cardId
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Data
)
.
setApiName
(
"API_getCostData"
)
.
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
testGetCostData
()
{
//注意完成一些操作,再校验数据中心的数据一定要等待几秒,数据中心很容易因为没有等待几秒而核对不上
//先查一下当前营收数据-全部
JSONObject
beforeGetCostData
=
financeDataTools
.
getCostData_all
(
"DAY"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
beforeConfirmedAmount
=
new
BigDecimal
(
beforeGetCostData
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
BigDecimal
beforeLeftAmount
=
new
BigDecimal
(
beforeGetCostData
.
getJSONObject
(
"result"
).
getString
(
"leftAmount"
));
//待消耗金额
//先查一下当前营收数据-会员卡
JSONObject
beforeGetCostDataMember_card
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"MEMBER_CARD"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
beforeConfirmedAmountMember_card
=
new
BigDecimal
(
beforeGetCostDataMember_card
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
BigDecimal
beforeLeftAmountMember_card
=
new
BigDecimal
(
beforeGetCostDataMember_card
.
getJSONObject
(
"result"
).
getString
(
"leftAmount"
));
//待消耗金额
try
{
Thread
.
sleep
(
3000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//①创建部分支付订单,筛选全部和会员卡的确认收入和待消耗金额都无变化
//造订单相关数据
String
name
=
"创建订单潜在会员"
+
RandomStringUtil
.
randomString
(
3
);
String
phone
=
RandomStringUtil
.
randomMobile
(
"666"
);
//获取会员ID,没有则新建一个
int
memberTotal
=
Integer
.
parseInt
(
tools
.
search
(
"NORMAL"
,
"NORMAL"
).
getJSONObject
(
"result"
).
getString
(
"total"
));
if
(
memberTotal
==
0
)
{
memberId
=
tools
.
create
(
name
,
phone
).
getString
(
"result"
);
}
memberId
=
tools
.
search
(
"NORMAL"
,
"NORMAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//获取会员卡信息
//获取会员卡列表,没有则新建一个
int
cardTotal
=
Integer
.
parseInt
(
orderTools
.
fetchPageOfMemberCard
(
"次卡"
,
"MEMBER_CARD"
).
getJSONObject
(
"result"
).
getString
(
"total"
));
if
(
cardTotal
==
0
)
{
cardId
=
cardTools
.
memberCardCreate
(
"次卡-创建订单会员卡"
+
TimeUtils
.
getCurrentTime
()).
getString
(
"result"
);
}
JSONObject
memberCard
=
orderTools
.
fetchPageOfMemberCard
(
"次卡"
,
"MEMBER_CARD"
);
cardId
=
memberCard
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
BigDecimal
quantity
=
new
BigDecimal
(
memberCard
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getJSONArray
(
"benefitList"
).
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
,
0
,
"PURCHASE"
,
"MEMBER_CARD"
,
memberId
,
price
,
price
/
2
,
"1"
);
String
getDetailId
=
orderResult
.
getString
(
"result"
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//获取订单详情
JSONObject
getDetailResult
=
orderTools
.
getDetail
(
getDetailId
);
BigDecimal
unpaidAmount
=
new
BigDecimal
(
getDetailResult
.
getJSONObject
(
"result"
).
getString
(
"unpaidAmount"
));
//欠费金额
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//先查一下当前营收数据-全部
JSONObject
afterGetCostData
=
financeDataTools
.
getCostData_all
(
"DAY"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
afterConfirmedAmount
=
new
BigDecimal
(
afterGetCostData
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
BigDecimal
afterLeftAmount
=
new
BigDecimal
(
afterGetCostData
.
getJSONObject
(
"result"
).
getString
(
"leftAmount"
));
//待消耗金额
//先查一下当前营收数据-会员卡
JSONObject
afterGetCostDataMember_card
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"MEMBER_CARD"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
afterConfirmedAmountMember_card
=
new
BigDecimal
(
afterGetCostDataMember_card
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
BigDecimal
afterLeftAmountMember_card
=
new
BigDecimal
(
afterGetCostDataMember_card
.
getJSONObject
(
"result"
).
getString
(
"leftAmount"
));
//待消耗金额
//校验1:
//校验部分支付订单对于营收数据-全部的确认收入和待消耗金额无变化
Assert
.
assertEquals
(
afterConfirmedAmount
,
beforeConfirmedAmount
,
"创建部分支付订单,数据中心-营收数据汇总-全部-确认收入应该无变化"
);
Assert
.
assertEquals
(
afterLeftAmount
,
beforeLeftAmount
,
"创建部分支付订单,数据中心-营收数据汇总-全部-待消耗金额应该无变化"
);
//校验部分支付订单对于营收数据-会员卡的确认收入和待消耗金额无变化
Assert
.
assertEquals
(
afterConfirmedAmountMember_card
,
beforeConfirmedAmountMember_card
,
"创建部分支付订单,数据中心-营收数据汇总-会员卡-确认收入应该无变化"
);
Assert
.
assertEquals
(
afterLeftAmountMember_card
,
beforeLeftAmountMember_card
,
"创建部分支付订单,数据中心-营收数据汇总-会员卡-待消耗金额应该无变化"
);
//②继续收款,订单变成已支付,待消耗金额应该增加
//继续收款
JSONObject
pay
=
orderTools
.
pay
(
unpaidAmount
,
"1"
,
getDetailId
);
//获取订单详情
JSONObject
getDetailResult1
=
orderTools
.
getDetail
(
getDetailId
);
BigDecimal
receivableAmount1
=
new
BigDecimal
(
getDetailResult1
.
getJSONObject
(
"result"
).
getString
(
"receivableAmount"
));
//应收金额
BigDecimal
paidAmount1
=
new
BigDecimal
(
getDetailResult1
.
getJSONObject
(
"result"
).
getString
(
"paidAmount"
));
//已支付金额
try
{
Thread
.
sleep
(
3000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//再查一下当前营收数据-全部
JSONObject
afterGetCostData1
=
financeDataTools
.
getCostData_all
(
"DAY"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
afterConfirmedAmount1
=
new
BigDecimal
(
afterGetCostData1
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
BigDecimal
afterLeftAmount1
=
new
BigDecimal
(
afterGetCostData1
.
getJSONObject
(
"result"
).
getString
(
"leftAmount"
));
//待消耗金额
//再查一下当前营收数据-会员卡
JSONObject
afterGetCostDataMember_card1
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"MEMBER_CARD"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
afterConfirmedAmountMember_card1
=
new
BigDecimal
(
afterGetCostDataMember_card1
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
BigDecimal
afterLeftAmountMember_card1
=
new
BigDecimal
(
afterGetCostDataMember_card1
.
getJSONObject
(
"result"
).
getString
(
"leftAmount"
));
//待消耗金额
//校验2:
//校验已支付订单对于营收数据-全部的待消耗金额应该增加对应的金额,确认收入应该无变化
Assert
.
assertEquals
(
afterConfirmedAmount1
,
afterConfirmedAmount
,
"创建已支付订单,数据中心-营收数据汇总-全部-确认收入应该无变化"
);
Assert
.
assertEquals
(
afterLeftAmount1
,
afterLeftAmount
.
add
(
paidAmount1
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"创建已支付订单,数据中心-营收数据汇总-全部-待消耗金额应该增加对应的金额"
);
//校验已支付订单对于营收数据-会员卡的待消耗金额应该增加对应的金额,确认收入应该无变化
Assert
.
assertEquals
(
afterConfirmedAmountMember_card1
,
afterConfirmedAmountMember_card
,
"创建已支付订单,数据中心-营收数据汇总-会员卡-确认收入应该无变化"
);
Assert
.
assertEquals
(
afterLeftAmountMember_card1
,
afterLeftAmountMember_card
.
add
(
paidAmount1
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"创建已支付订单,数据中心-营收数据汇总-会员卡-待消耗金额应该增加对应的金额"
);
//③消耗之后,筛选全部和会员卡的待消耗金额减少,确认收入增加
//获取会员下的购买的会员卡
JSONObject
fetchUserCardListResult
=
orderTools
.
fetchUserCardList
(
"MEMBER"
,
memberId
,
"NORMAL"
);
String
memberCardId
=
fetchUserCardListResult
.
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
//memberCardId
String
benefitId
=
fetchUserCardListResult
.
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getJSONObject
(
"courseBenefit"
).
getString
(
"id"
);
//benefitId
String
balance
=
fetchUserCardListResult
.
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getJSONObject
(
"courseBenefit"
).
getString
(
"leftBalance"
);
//memberCardId
//手动扣次,扣完
cardTools
.
manualDeduct
(
benefitId
,
memberCardId
,
balance
);
try
{
Thread
.
sleep
(
3000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//再查一下当前营收数据-全部
JSONObject
afterGetCostData2
=
financeDataTools
.
getCostData_all
(
"DAY"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
afterConfirmedAmount2
=
new
BigDecimal
(
afterGetCostData2
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
BigDecimal
afterLeftAmount2
=
new
BigDecimal
(
afterGetCostData2
.
getJSONObject
(
"result"
).
getString
(
"leftAmount"
));
//待消耗金额
//再查一下当前营收数据-会员卡
JSONObject
afterGetCostDataMember_card2
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"MEMBER_CARD"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
afterConfirmedAmountMember_card2
=
new
BigDecimal
(
afterGetCostDataMember_card2
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
BigDecimal
afterLeftAmountMember_card2
=
new
BigDecimal
(
afterGetCostDataMember_card2
.
getJSONObject
(
"result"
).
getString
(
"leftAmount"
));
//待消耗金额
//校验3:
//校验手动扣次之后营收数据-筛选全部的待消耗金额应该减少对应的金额,确认收入应该增加对应的金额
Assert
.
assertEquals
(
afterConfirmedAmount2
,
afterConfirmedAmount1
.
add
(
paidAmount1
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"手动扣完所有次数之后,数据中心-营收数据汇总-全部-确认收入应该增加对应的金额"
);
Assert
.
assertEquals
(
afterLeftAmount2
,
afterLeftAmount1
.
subtract
(
paidAmount1
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"手动扣完所有次数,数据中心-营收数据汇总-全部-待消耗金额应该减少对应的金额"
);
//校验手动扣次之后营收数据-筛选会员卡的待消耗金额应该减少对应的金额,确认收入应该增加对应的金额
Assert
.
assertEquals
(
afterConfirmedAmountMember_card2
,
afterConfirmedAmountMember_card1
.
add
(
paidAmount1
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"手动扣完所有次数之后,数据中心-营收数据汇总-会员卡-确认收入应该增加对应的金额"
);
Assert
.
assertEquals
(
afterLeftAmountMember_card2
,
afterLeftAmountMember_card1
.
subtract
(
paidAmount1
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"手动扣完所有次数,数据中心-营收数据汇总-会员卡-待消耗金额应该减少对应的金额"
);
}
}
}
src/main/java/com/xiaomai/cases/polar/data/financeData/TestGetCostDetail.java
0 → 100644
View file @
f526a59b
package
com
.
xiaomai
.
cases
.
polar
.
data
.
financeData
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.DataProvider
;
import
org.testng.annotations.Test
;
public
class
TestGetCostDetail
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Data
)
.
setApiName
(
"API_getCostDetail"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@DataProvider
public
Object
[][]
dataProvider
(){
return
new
Object
[][]{
{
"DAY"
,
"LEFT_AMOUNT_ASC"
,
"MEMBER_CARD"
,
TimeUtils
.
getTodayEndTime
(),
TimeUtils
.
getTodayTime
()},
//今天,排序:待消耗金额正序
{
"MONTH"
,
"LEFT_AMOUNT_DESC"
,
"EXPERIENCE_CARD"
,
TimeUtils
.
getMonthLastDay
(),
TimeUtils
.
getMonthFristDay
()},
//本月,排序:待消耗金额倒序
{
"DAY"
,
"CONFIRMED_AMOUNT_ASC"
,
"TRAINING_CAMP"
,
TimeUtils
.
getTodayEndTime
(),
TimeUtils
.
getTodayTime
()},
//今天,排序:确认金额正序
{
"MONTH"
,
"CONFIRMED_AMOUNT_DESC"
,
"DEPOSIT_CARD"
,
TimeUtils
.
getMonthLastDay
(),
TimeUtils
.
getMonthFristDay
()},
//本月,排序:确认金额倒序
{
"DAY"
,
"LEFT_AMOUNT_ASC"
,
"SINGLE_RESERVE"
,
TimeUtils
.
getTodayEndTime
(),
TimeUtils
.
getTodayTime
()}
//今天,排序:待消耗金额正序
};
}
@Test
(
description
=
"获取数据中心-财务数据-营收明细:按天、按月以及各种排序各种类型筛选的营收明细"
,
dataProvider
=
"dataProvider"
)
public
void
testGetCostDetail
(
String
dateType
,
String
sort
,
String
type
,
long
endTime
,
long
startTime
){
JSONObject
getCostDetail
=
new
JSONObject
();
getCostDetail
.
put
(
"dateType"
,
dateType
);
getCostDetail
.
put
(
"memberId"
,
""
);
getCostDetail
.
put
(
"campId"
,
""
);
getCostDetail
.
put
(
"depositId"
,
""
);
getCostDetail
.
put
(
"sort"
,
sort
);
getCostDetail
.
put
(
"type"
,
type
);
getCostDetail
.
put
(
"itemId"
,
""
);
getCostDetail
.
put
(
"endTime"
,
endTime
);
getCostDetail
.
put
(
"startTime"
,
startTime
);
getCostDetail
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
getCostDetail
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
getCostDetail
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
getCostDetail
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
String
getOrderDetailResult
=
xmAppApi
.
getBodyInJSON
().
getString
(
"success"
);
Assert
.
assertEquals
(
getOrderDetailResult
,
"true"
,
"获取数据中心-财务数据-营收明细失败"
);
}
@DataProvider
public
Object
[][]
dataProvider1
(){
return
new
Object
[][]{
{
"WEEK"
,
"LEFT_AMOUNT_ASC"
,
"MEMBER_CARD"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,排序:待消耗金额正序
{
"WEEK"
,
"LEFT_AMOUNT_DESC"
,
"EXPERIENCE_CARD"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,排序:待消耗金额倒序
{
"WEEK"
,
"CONFIRMED_AMOUNT_ASC"
,
"TRAINING_CAMP"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,排序:确认金额正序
{
"WEEK"
,
"CONFIRMED_AMOUNT_DESC"
,
"DEPOSIT_CARD"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,排序:确认金额倒序
{
"WEEK"
,
"LEFT_AMOUNT_ASC"
,
"SINGLE_RESERVE"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,排序:待消耗金额正序
};
}
@Test
(
description
=
"获取数据中心-财务数据-营收明细:按周以及各种排序各种类型筛选的营收明细"
,
dataProvider
=
"dataProvider1"
)
public
void
testGetCostDetail1
(
String
dateType
,
String
sort
,
String
type
,
String
endTime
,
String
startTime
){
JSONObject
getCostDetail
=
new
JSONObject
();
getCostDetail
.
put
(
"dateType"
,
dateType
);
getCostDetail
.
put
(
"memberId"
,
""
);
getCostDetail
.
put
(
"campId"
,
""
);
getCostDetail
.
put
(
"depositId"
,
""
);
getCostDetail
.
put
(
"sort"
,
sort
);
getCostDetail
.
put
(
"type"
,
type
);
getCostDetail
.
put
(
"itemId"
,
""
);
getCostDetail
.
put
(
"endTime"
,
endTime
);
getCostDetail
.
put
(
"startTime"
,
startTime
);
getCostDetail
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
getCostDetail
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
getCostDetail
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
getCostDetail
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
String
getOrderDetailResult
=
xmAppApi
.
getBodyInJSON
().
getString
(
"success"
);
Assert
.
assertEquals
(
getOrderDetailResult
,
"true"
,
"获取数据中心-财务数据-营收明细失败"
);
}
}
src/main/java/com/xiaomai/cases/polar/data/financeData/TestGetCostTrend.java
0 → 100644
View file @
f526a59b
package
com
.
xiaomai
.
cases
.
polar
.
data
.
financeData
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.DataProvider
;
import
org.testng.annotations.Test
;
public
class
TestGetCostTrend
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Data
)
.
setApiName
(
"API_getCostTrend"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@DataProvider
public
Object
[][]
dataProvider
(){
return
new
Object
[][]{
{
"DAY"
,
"LEFT_AMOUNT"
,
TimeUtils
.
getTodayEndTime
(),
TimeUtils
.
getTodayTime
()},
//今天,待消耗金额
{
"MONTH"
,
"CONFIRMED_AMOUNT"
,
TimeUtils
.
getMonthLastDay
(),
TimeUtils
.
getMonthFristDay
()},
//本月,确认收入
{
"DAY"
,
"LEFT_AMOUNT"
,
TimeUtils
.
getTodayEndTime
(),
TimeUtils
.
getTodayTime
()},
//今天,待消耗金额
{
"MONTH"
,
"CONFIRMED_AMOUNT"
,
TimeUtils
.
getMonthLastDay
(),
TimeUtils
.
getMonthFristDay
()},
//本月,确认收入
};
}
@Test
(
description
=
"数据中心-财务数据-筛选全部营收数据趋势图"
,
dataProvider
=
"dataProvider"
)
public
void
testGetCostTrend
(
String
dateType
,
String
metric
,
long
endTime
,
long
startTime
){
JSONObject
trend
=
new
JSONObject
();
trend
.
put
(
"dateType"
,
dateType
);
trend
.
put
(
"endTime"
,
endTime
);
trend
.
put
(
"startTime"
,
startTime
);
trend
.
put
(
"metric"
,
metric
);
trend
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
trend
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
trend
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
trend
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
String
trendResult
=
xmAppApi
.
getBodyInJSON
().
getString
(
"success"
);
Assert
.
assertEquals
(
trendResult
,
"true"
,
"获取财务数据-筛选全部营收数据趋势图失败"
);
}
@DataProvider
public
Object
[][]
dataProvider1
(){
return
new
Object
[][]{
{
"WEEK"
,
"LEFT_AMOUNT"
,
"MEMBER_CARD"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,待消耗金额,会员卡
{
"WEEK"
,
"CONFIRMED_AMOUNT"
,
"EXPERIENCE_CARD"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,确认收入,体验卡
{
"WEEK"
,
"LEFT_AMOUNT"
,
"TRAINING_CAMP"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,待消耗金额,训练营
{
"WEEK"
,
"CONFIRMED_AMOUNT"
,
"DEPOSIT_CARD"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,确认收入,储值卡
{
"WEEK"
,
"LEFT_AMOUNT"
,
"SINGLE_RESERVE"
,
TimeUtils
.
getWeekLastTime
(),
TimeUtils
.
getWeekFirstTime
()},
//本周,待消耗金额,单次约课
};
}
@Test
(
description
=
"数据中心-财务数据-筛选本周的各种类型营收数据趋势图"
,
dataProvider
=
"dataProvider1"
)
public
void
testGetCostTrend
(
String
dateType
,
String
metric
,
String
type
,
String
endTime
,
String
startTime
){
JSONObject
trend
=
new
JSONObject
();
trend
.
put
(
"dateType"
,
dateType
);
trend
.
put
(
"endTime"
,
endTime
);
trend
.
put
(
"startTime"
,
startTime
);
trend
.
put
(
"metric"
,
metric
);
trend
.
put
(
"type"
,
type
);
trend
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
trend
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
trend
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
trend
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
String
trendResult
=
xmAppApi
.
getBodyInJSON
().
getString
(
"success"
);
Assert
.
assertEquals
(
trendResult
,
"true"
,
"获取财务数据-筛选本周的各种类型营收数据趋势图失败"
);
}
}
src/main/java/com/xiaomai/cases/polar/finance/order/TestSignOrder.java
View file @
f526a59b
...
@@ -183,7 +183,7 @@ public class TestSignOrder extends XMBaseTest {
...
@@ -183,7 +183,7 @@ public class TestSignOrder extends XMBaseTest {
//获取会员下的购买的会员卡
//获取会员下的购买的会员卡
JSONObject
fetchUserCardListResult
=
orderTools
.
fetchUserCardList
(
"MEMBER"
,
memberId
,
"NORMAL"
);
JSONObject
fetchUserCardListResult
=
orderTools
.
fetchUserCardList
(
"MEMBER"
,
memberId
,
"NORMAL"
);
String
fetchUserCardListId
=
fetchUserCardListResult
.
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
//
权益ID
String
fetchUserCardListId
=
fetchUserCardListResult
.
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
//
memberCardId
//获取售卖详情
//获取售卖详情
JSONObject
findDetailByIdResult
=
cardTools
.
memberCardFindDetailById
(
fetchUserCardListId
);
JSONObject
findDetailByIdResult
=
cardTools
.
memberCardFindDetailById
(
fetchUserCardListId
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment