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
1d844824
Commit
1d844824
authored
Jul 26, 2024
by
DuJunLi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加创建优惠券接口
parent
07ff89ea
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
133 additions
and
0 deletions
+133
-0
src/main/java/com/xiaomai/cases/polar/coupon/CouponTools.java
+106
-0
src/main/java/com/xiaomai/cases/polar/coupon/TestCreateCoupon.java
+27
-0
No files found.
src/main/java/com/xiaomai/cases/polar/coupon/CouponTools.java
0 → 100644
View file @
1d844824
package
com
.
xiaomai
.
cases
.
polar
.
coupon
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
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.XMJSONPath
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 小麦乐动优惠券工具类
*
* @author adu
* data 2024/7/25 17:32
*/
public
class
CouponTools
extends
BaseTestImpl
{
/**
* 同一个ApiModule下的登录信息封装出一个类,减少代码冗余
*
* @param apiName
* @param userInfo
*/
public
void
setUP
(
String
apiName
,
DataUserInfo
...
userInfo
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Training
)
.
setApiName
(
apiName
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfo
);
}
/**
* 创建优惠券
*
* @param useThresholdType 使用门槛:1无门槛 WITHOUT 2达到条件可用 THRESHOLD
* @param receiveTimesUpperType 每人领取次数限制:1每人限领 FIXED 2不限制 WITHOUT
* @param memberStatusLimits 可领取会员类型 ["POTENTIAL", "NORMAL", "HISTORY"] 一共3种,可以自己自定义选其中的某个或者全部
* @param couponName 优惠券的名称
* @param allScope 适用范围 全部:true,非全部:false
* @param preferentialType 优惠方式:1金额 CERTAIN 2折扣 DISCOUNT
* @param quantity 发放数量
* @param validPeriodType 使用有效期方式:1固定期限 ABSOLUTE 2领取后生效 RELATIVE
* @param memo 备注
* @return
*/
public
String
createCoupon
(
String
useThresholdType
,
String
receiveTimesUpperType
,
List
<
String
>
memberStatusLimits
,
String
couponName
,
Boolean
allScope
,
String
preferentialType
,
int
quantity
,
String
validPeriodType
,
String
memo
)
{
setUP
(
"API_createCoupon"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
JSONObject
receiveCondition
=
new
JSONObject
();
body
.
put
(
"useThresholdType"
,
useThresholdType
);
if
(
useThresholdType
.
equals
(
"THRESHOLD"
))
{
//使用门槛是达到条件可用
body
.
put
(
"useThreshold"
,
10
);
//目前没写成动态传参,固定为10元
}
receiveCondition
.
put
(
"receiveTimesUpperType"
,
receiveTimesUpperType
);
if
(
receiveTimesUpperType
.
equals
(
"FIXED"
))
{
receiveCondition
.
put
(
"receiveTimesUpper"
,
1
);
//每人限领次数
}
receiveCondition
.
put
(
"memberStatusLimits"
,
memberStatusLimits
);
//可领取会员类型
body
.
put
(
"receiveCondition"
,
receiveCondition
);
body
.
put
(
"name"
,
couponName
);
body
.
put
(
"allScope"
,
allScope
);
if
(
allScope
.
equals
(
false
))
{
//适用范围不是选全部时
List
<
String
>
scope
=
new
ArrayList
<>();
scope
.
add
(
"TRAINING_CAMP"
);
body
.
put
(
"scope"
,
scope
);
//此处固定写了适用范围为训练营
}
body
.
put
(
"preferentialType"
,
preferentialType
);
if
(
preferentialType
.
equals
(
"CERTAIN"
))
{
//优惠方式选择金额
body
.
put
(
"preferential"
,
10
);
}
if
(
preferentialType
.
equals
(
"DISCOUNT"
))
{
//优惠方式选择金额
body
.
put
(
"preferential"
,
8.8
);
}
body
.
put
(
"quantity"
,
quantity
);
body
.
put
(
"validPeriodType"
,
validPeriodType
);
if
(
validPeriodType
.
equals
(
"RELATIVE"
))
{
//有效期:领取后生效
body
.
put
(
"relativeDay"
,
1
);
//使用有效期:领取后 1天内
}
if
(
validPeriodType
.
equals
(
"ABSOLUTE"
))
{
//有效期:固定时间
body
.
put
(
"validPeriodStartTime"
,
CommUtil
.
oneKeyGetAddDay
(
1
));
//有效期的开始时间:明天的0点
body
.
put
(
"validPeriodEndTime"
,
CommUtil
.
getNDayEndTimeTamp
(
5
));
//有效期的结束时间:5天后的 23:59:59
}
if
(
null
!=
memo
||
!
memo
.
isEmpty
())
{
body
.
put
(
"memo"
,
memo
);
}
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result"
);
}
}
\ No newline at end of file
src/main/java/com/xiaomai/cases/polar/coupon/TestCreateCoupon.java
0 → 100644
View file @
1d844824
package
com
.
xiaomai
.
cases
.
polar
.
coupon
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.annotations.BeforeClass
;
/**
* 测试创建优惠券
* @author adu
* data 2024/7/26 13:44
*/
public
class
TestCreateCoupon
extends
BaseTestImpl
{
@BeforeClass
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Schedule
,
"API_createCoupon"
,
LoginAccount
.
ADU_PROD
,
Terminal
.
B
,
"adu"
);
super
.
beforeTest
();
}
}
\ No newline at end of file
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