- 改Struct2MapWithIgnore为递归

This commit is contained in:
gazebo
2019-04-04 22:34:32 +08:00
parent c3e3c32d44
commit 9e18764213
3 changed files with 71 additions and 18 deletions

View File

@@ -29,7 +29,7 @@ type OrderDiscountRuleRequest struct {
DiscountAmount int `json:"discountAmount"`
UpperLimitCount int `json:"upperLimitCount"`
LowerLimitCount int `json:"lowerLimitCount"`
DiscountRate int `json:"discountRate"`
DiscountRate float32 `json:"discountRate"`
AddPrice int `json:"addPrice"` // 分
GiftList []*OrderDiscountGift `json:"giftList"`
LadderLimit int `json:"ladderLimit"`
@@ -85,17 +85,28 @@ type ActivityOpQueryInfoResponse struct {
var (
ignoreOrderDiscountActivity = OrderDiscountActivity{}
ignoreOrderDiscountRuleRequest = OrderDiscountRuleRequest{}
)
func (a *API) OrderDiscountSubmitActivity(actInfo *OrderDiscountActivity) (activityID int64, err error) {
result, err := a.AccessAPINoPage("orderdiscount/submitActivity", utils.Struct2MapWithIgnore(actInfo, map[string]interface{}{
ignoreOrderDiscountSubmitActivityMap = map[string]interface{}{
"outStationNos": ignoreOrderDiscountActivity.OutStationNos,
"stationNos": ignoreOrderDiscountActivity.StationNos,
"outSkuIds": ignoreOrderDiscountActivity.OutSkuIds,
"skuIds": ignoreOrderDiscountActivity.SkuIds,
"limitUserTotalNumber": ignoreOrderDiscountActivity.LimitUserTotalNumber,
"ruleRequestList": ignoreOrderDiscountActivity.RuleRequestList,
}), nil, nil, nil)
"lowerLimitAmount": ignoreOrderDiscountRuleRequest.LowerLimitAmount,
"discountAmount": ignoreOrderDiscountRuleRequest.DiscountAmount,
"upperLimitCount": ignoreOrderDiscountRuleRequest.UpperLimitCount,
"lowerLimitCount": ignoreOrderDiscountRuleRequest.LowerLimitCount,
"discountRate": ignoreOrderDiscountRuleRequest.DiscountRate,
"addPrice": ignoreOrderDiscountRuleRequest.AddPrice,
"giftList": ignoreOrderDiscountRuleRequest.GiftList,
"ladderLimit": ignoreOrderDiscountRuleRequest.LadderLimit,
}
)
func (a *API) OrderDiscountSubmitActivity(actInfo *OrderDiscountActivity) (activityID int64, err error) {
result, err := a.AccessAPINoPage("orderdiscount/submitActivity", utils.Struct2MapWithIgnore(actInfo, ignoreOrderDiscountSubmitActivityMap), nil, nil, nil)
if err == nil {
return utils.MustInterface2Int64((result.(map[string]interface{}))["activityId"]), nil
}
@@ -105,10 +116,8 @@ func (a *API) OrderDiscountSubmitActivity(actInfo *OrderDiscountActivity) (activ
func (a *API) OrderDiscountQuerySubmitActivityResult(activityID int64) (response *ActivityOpQueryResultResponse, err error) {
result, err := a.AccessAPINoPage("orderdiscount/querySubmitActivityResult", map[string]interface{}{
"activityId": activityID,
"sourceFrom": 3,
"operator": "",
"traceId": "",
"version": "",
"operator": "jxc4",
"traceId": utils.GetUUID(),
}, nil, nil, nil)
if err == nil {
resultMap := result.(map[string]interface{})

View File

@@ -2,10 +2,32 @@ package jdapi
import (
"testing"
"time"
"git.rosy.net.cn/baseapi/utils"
)
func TestOrderDiscountSubmitActivity(t *testing.T) {
actID, err := api.OrderDiscountSubmitActivity(&OrderDiscountActivity{})
actInfo := &OrderDiscountActivity{
OutActivityID: utils.GetUUID(),
PromName: "测试0404",
PromType: OrderDiscountActivityTypeManJian,
BeginTime: utils.Time2Str(time.Now().Add(1 * time.Hour)),
EndTime: utils.Time2Str(time.Now().Add(48 * time.Hour)),
ParticipationMode: ParticipationModeAllSku,
Display: "hello",
OutStationNos: []string{"25"},
OutSkuIds: []string{"5199"},
LimitUserTotalNumber: 1,
RuleRequestList: []*OrderDiscountRuleRequest{
&OrderDiscountRuleRequest{
LowerLimitAmount: 100,
DiscountAmount: 1000,
DiscountRate: 0.5,
},
},
}
actID, err := api.OrderDiscountSubmitActivity(actInfo)
if err != nil {
t.Fatal(err)
}