Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -2,6 +2,7 @@ package tao_vegetable
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math/rand"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability2770/domain"
|
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability2770/domain"
|
||||||
@@ -17,18 +18,17 @@ import (
|
|||||||
"git.rosy.net.cn/jx-callback/business/partner"
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func actType2Txd(actType int) *int64 {
|
func actType2Txd(actType int) int64 {
|
||||||
if actType == model.ActSkuDirectDown {
|
if actType == model.ActSkuDirectDown {
|
||||||
actType = tao_vegetable.DiscountTypeDeductMoney
|
actType = tao_vegetable.DiscountTypeDeductMoney
|
||||||
} else if actType == model.ActSkuSecKill {
|
} else if actType == model.ActSkuSecKill {
|
||||||
actType = tao_vegetable.DiscountTypeOnePrice
|
actType = tao_vegetable.DiscountTypeOnePrice
|
||||||
} else {
|
} else if actType == model.ActSkuDiscount {
|
||||||
actType = tao_vegetable.DiscountTypeDiscounts
|
actType = tao_vegetable.DiscountTypeDiscounts
|
||||||
}
|
}
|
||||||
return utils.Int64ToPointer(int64(actType))
|
return int64(actType)
|
||||||
}
|
}
|
||||||
|
|
||||||
func actOrderRules2Mtwm(actOrderRules []*model.ActOrderRule) (actDetails []*mtwmapi.FullDiscountActDetail) {
|
func actOrderRules2Mtwm(actOrderRules []*model.ActOrderRule) (actDetails []*mtwmapi.FullDiscountActDetail) {
|
||||||
@@ -46,12 +46,12 @@ func act2TxdActivity(act *model.Act2) (activity *domain.AlibabaRetailMarketingIt
|
|||||||
actName := act.GetRealActName()
|
actName := act.GetRealActName()
|
||||||
activity = &domain.AlibabaRetailMarketingItemdiscountActivityCreateItemDiscountActivityOperateRequest{
|
activity = &domain.AlibabaRetailMarketingItemdiscountActivityCreateItemDiscountActivityOperateRequest{
|
||||||
ActivityName: &actName,
|
ActivityName: &actName,
|
||||||
CreatorId: &act.VendorActID,
|
CreatorId: utils.String2Pointer(utils.Int2Str(rand.Int())),
|
||||||
CreatorName: &act.LastOperator,
|
CreatorName: &act.LastOperator,
|
||||||
Description: &act.Advertising,
|
Description: &act.Advertising,
|
||||||
Terminals: &[]int32{tao_vegetable.TerminalsAPP, tao_vegetable.TerminalsPOS},
|
Terminals: &[]int32{tao_vegetable.TerminalsAPP},
|
||||||
//StoreIds: &[]string{act.Act.},
|
//StoreIds: &[]string{act.s},
|
||||||
DiscountType: actType2Txd(act.Type),
|
DiscountType: utils.Int64ToPointer(actType2Txd(act.Type)),
|
||||||
StartTime: utils.Int64ToPointer(act.BeginAt.UnixNano() / int64(time.Millisecond)),
|
StartTime: utils.Int64ToPointer(act.BeginAt.UnixNano() / int64(time.Millisecond)),
|
||||||
EndTime: utils.Int64ToPointer(act.EndAt.UnixNano() / int64(time.Millisecond)),
|
EndTime: utils.Int64ToPointer(act.EndAt.UnixNano() / int64(time.Millisecond)),
|
||||||
}
|
}
|
||||||
@@ -65,7 +65,7 @@ func storeSku2ActData(act *model.Act2, actStoreSku []*model.ActStoreSku2, handle
|
|||||||
fixPriceMoney = int64(0)
|
fixPriceMoney = int64(0)
|
||||||
discountRate = int64(0)
|
discountRate = int64(0)
|
||||||
decreaseMoney = int64(0)
|
decreaseMoney = int64(0)
|
||||||
limitDaily = int64(0)
|
limitDaily = int64(1)
|
||||||
)
|
)
|
||||||
if act.LimitCount > 0 {
|
if act.LimitCount > 0 {
|
||||||
limitCount = int64(act.LimitCount)
|
limitCount = int64(act.LimitCount)
|
||||||
@@ -77,28 +77,19 @@ func storeSku2ActData(act *model.Act2, actStoreSku []*model.ActStoreSku2, handle
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, v := range actStoreSku {
|
for _, v := range actStoreSku {
|
||||||
|
globals.SugarLogger.Debugf("打印初始商品参数 sku=%s", utils.Format4Output(v, false))
|
||||||
if handler == nil || handler(v.SyncStatus) {
|
if handler == nil || handler(v.SyncStatus) {
|
||||||
stock := int64(0)
|
stock := int64(0)
|
||||||
if v.Stock > 0 {
|
if v.Stock > 0 {
|
||||||
stock = int64(v.Stock)
|
stock = int64(v.Stock)
|
||||||
}
|
}
|
||||||
|
|
||||||
sType := *actType2Txd(v.Type)
|
|
||||||
switch sType {
|
|
||||||
case tao_vegetable.DiscountTypeDeductMoney:
|
|
||||||
decreaseMoney = v.VendorPrice - v.ActualActPrice
|
|
||||||
case tao_vegetable.DiscountTypeOnePrice:
|
|
||||||
fixPriceMoney = v.ActualActPrice
|
|
||||||
case tao_vegetable.DiscountTypeDiscounts:
|
|
||||||
discountRate = int64(v.PricePercentage * 10)
|
|
||||||
}
|
|
||||||
|
|
||||||
actData = &domain.AlibabaRetailMarketingItemdiscountActivitySkuAddItemDiscountActivityElementOperateRequest{
|
actData = &domain.AlibabaRetailMarketingItemdiscountActivitySkuAddItemDiscountActivityElementOperateRequest{
|
||||||
SkuElements: &[]domain.AlibabaRetailMarketingItemdiscountActivitySkuAddSkuActivityElementDto{{
|
SkuElements: &[]domain.AlibabaRetailMarketingItemdiscountActivitySkuAddSkuActivityElementDto{{
|
||||||
SkuCode: utils.String2Pointer(utils.Int2Str(v.SkuID)),
|
SkuCode: utils.String2Pointer(utils.Int2Str(v.SkuID)),
|
||||||
FixPriceMoney: &fixPriceMoney,
|
//FixPriceMoney: &fixPriceMoney,
|
||||||
DiscountRate: &discountRate,
|
//DiscountRate: &discountRate,
|
||||||
DecreaseMoney: &decreaseMoney,
|
//DecreaseMoney: &decreaseMoney,
|
||||||
Limit: &domain.AlibabaRetailMarketingItemdiscountActivitySkuAddLimitDto{
|
Limit: &domain.AlibabaRetailMarketingItemdiscountActivitySkuAddLimitDto{
|
||||||
TotalLimitCnt: &stock,
|
TotalLimitCnt: &stock,
|
||||||
DailyTotalLimitCnt: &limitDaily,
|
DailyTotalLimitCnt: &limitDaily,
|
||||||
@@ -107,11 +98,42 @@ func storeSku2ActData(act *model.Act2, actStoreSku []*model.ActStoreSku2, handle
|
|||||||
OrderLimitCnt: &limitCount,
|
OrderLimitCnt: &limitCount,
|
||||||
},
|
},
|
||||||
}},
|
}},
|
||||||
CreatorId: &v.VendorSkuID,
|
CreatorId: utils.String2Pointer(utils.Int2Str(rand.Int())),
|
||||||
CreatorName: &v.LastOperator,
|
CreatorName: &v.LastOperator,
|
||||||
OutActId: utils.String2Pointer(utils.Int2Str(v.ActID)),
|
OutActId: utils.String2Pointer(utils.Int2Str(v.ActID)),
|
||||||
}
|
}
|
||||||
//actData = append(actData, temp)
|
|
||||||
|
sType := actType2Txd(v.Type)
|
||||||
|
globals.SugarLogger.Debugf("sType=%d", sType)
|
||||||
|
switch sType {
|
||||||
|
case tao_vegetable.DiscountTypeDeductMoney:
|
||||||
|
decreaseMoney = v.VendorPrice - v.ActualActPrice
|
||||||
|
actData.SkuElements = &[]domain.AlibabaRetailMarketingItemdiscountActivitySkuAddSkuActivityElementDto{{
|
||||||
|
SkuCode: utils.String2Pointer(utils.Int2Str(v.SkuID)),
|
||||||
|
DecreaseMoney: &decreaseMoney,
|
||||||
|
Limit: &domain.AlibabaRetailMarketingItemdiscountActivitySkuAddLimitDto{
|
||||||
|
OrderLimitCnt: &limitCount,
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
case tao_vegetable.DiscountTypeOnePrice:
|
||||||
|
fixPriceMoney = v.ActualActPrice
|
||||||
|
actData.SkuElements = &[]domain.AlibabaRetailMarketingItemdiscountActivitySkuAddSkuActivityElementDto{{
|
||||||
|
SkuCode: utils.String2Pointer(utils.Int2Str(v.SkuID)),
|
||||||
|
FixPriceMoney: &fixPriceMoney,
|
||||||
|
Limit: &domain.AlibabaRetailMarketingItemdiscountActivitySkuAddLimitDto{
|
||||||
|
OrderLimitCnt: &limitCount,
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
case tao_vegetable.DiscountTypeDiscounts:
|
||||||
|
discountRate = int64(v.PricePercentage * 10)
|
||||||
|
actData.SkuElements = &[]domain.AlibabaRetailMarketingItemdiscountActivitySkuAddSkuActivityElementDto{{
|
||||||
|
SkuCode: utils.String2Pointer(utils.Int2Str(v.SkuID)),
|
||||||
|
DiscountRate: &discountRate,
|
||||||
|
Limit: &domain.AlibabaRetailMarketingItemdiscountActivitySkuAddLimitDto{
|
||||||
|
OrderLimitCnt: &limitCount,
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return actData
|
return actData
|
||||||
@@ -130,14 +152,15 @@ func storeSku2ActData4Delete(actStoreSku []*model.ActStoreSku2, handler func(int
|
|||||||
}
|
}
|
||||||
|
|
||||||
//删除活动的商品详情
|
//删除活动的商品详情
|
||||||
func actSku2Delete(actIDs []string) (map[string]domain.AlibabaRetailMarketingItemdiscountActivitySkuDeleteItemDiscountActivityElementOperateRequest, error) {
|
func actSku2Delete(actIDs []string, vendorOrgCode, vendorStoreID string) (map[string]domain.AlibabaRetailMarketingItemdiscountActivitySkuDeleteItemDiscountActivityElementOperateRequest, error) {
|
||||||
var (
|
var (
|
||||||
SkuElement []domain.AlibabaRetailMarketingItemdiscountActivitySkuDeleteSkuActivityElementDto
|
SkuElement []domain.AlibabaRetailMarketingItemdiscountActivitySkuDeleteSkuActivityElementDto
|
||||||
deData = make(map[string]domain.AlibabaRetailMarketingItemdiscountActivitySkuDeleteItemDiscountActivityElementOperateRequest, 0)
|
deData = make(map[string]domain.AlibabaRetailMarketingItemdiscountActivitySkuDeleteItemDiscountActivityElementOperateRequest, 0)
|
||||||
)
|
)
|
||||||
for _, v := range actIDs {
|
for _, v := range actIDs {
|
||||||
i := utils.Str2Int64(v)
|
i := utils.Str2Int64(v)
|
||||||
if skus, err := api.TaoVegetableApi.ActivitySkuQuery(i); err == nil {
|
//if skus, err := api.TaoVegetableApi.ActivitySkuQuery(i); err == nil {
|
||||||
|
if skus, err := getAPI(vendorOrgCode, 0, vendorStoreID).ActivitySkuQuery(i); err == nil {
|
||||||
//查询商品
|
//查询商品
|
||||||
for _, sku := range skus {
|
for _, sku := range skus {
|
||||||
SkuElement = append(SkuElement, domain.AlibabaRetailMarketingItemdiscountActivitySkuDeleteSkuActivityElementDto{
|
SkuElement = append(SkuElement, domain.AlibabaRetailMarketingItemdiscountActivitySkuDeleteSkuActivityElementDto{
|
||||||
@@ -145,7 +168,7 @@ func actSku2Delete(actIDs []string) (map[string]domain.AlibabaRetailMarketingIte
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
//查询活动详情
|
//查询活动详情
|
||||||
act, err := api.TaoVegetableApi.ActivityQuery(i, "")
|
act, err := getAPI(vendorOrgCode, 0, vendorStoreID).ActivityQuery(i, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -175,7 +198,8 @@ func createOneShopAct(act *model.Act2, vendorStoreID string, actStoreSku []*mode
|
|||||||
if globals.EnableMtwmStoreWrite {
|
if globals.EnableMtwmStoreWrite {
|
||||||
globals.SugarLogger.Debugf("进入创建活动")
|
globals.SugarLogger.Debugf("进入创建活动")
|
||||||
//创建活动
|
//创建活动
|
||||||
actID, err1 := api.TaoVegetableApi.ActivityCreate(*actData)
|
actData.StoreIds = &[]string{vendorStoreID}
|
||||||
|
actID, err1 := getAPI(act.VendorOrgCode, 0, vendorStoreID).ActivityCreate(*actData)
|
||||||
globals.SugarLogger.Debugf("createOneShopAct actData=%s,err=%v", utils.Format4Output(actData, false), err1)
|
globals.SugarLogger.Debugf("createOneShopAct actData=%s,err=%v", utils.Format4Output(actData, false), err1)
|
||||||
if err1 != nil || actID == 0 {
|
if err1 != nil || actID == 0 {
|
||||||
failedList = append(failedList, &partner.StoreSkuInfoWithErr{
|
failedList = append(failedList, &partner.StoreSkuInfoWithErr{
|
||||||
@@ -188,7 +212,7 @@ func createOneShopAct(act *model.Act2, vendorStoreID string, actStoreSku []*mode
|
|||||||
}
|
}
|
||||||
//活动增加商品
|
//活动增加商品
|
||||||
actSkuData.ActId = &actID
|
actSkuData.ActId = &actID
|
||||||
err3, successSkuCode, failSkuCode := api.TaoVegetableApi.ActivitySkuCreate(*actSkuData)
|
err3, successSkuCode, failSkuCode := getAPI(act.VendorOrgCode, 0, vendorStoreID).ActivitySkuCreate(*actSkuData)
|
||||||
globals.SugarLogger.Debugf("createOneShopAct actSkuData=%s,err=%v", utils.Format4Output(actSkuData, false), err3)
|
globals.SugarLogger.Debugf("createOneShopAct actSkuData=%s,err=%v", utils.Format4Output(actSkuData, false), err3)
|
||||||
err = err3
|
err = err3
|
||||||
actStoreSkuMap := make(map[int]*model.ActStoreSku2)
|
actStoreSkuMap := make(map[int]*model.ActStoreSku2)
|
||||||
@@ -227,14 +251,14 @@ func cancelOneShopAct(act *model.Act2, vendorStoreID string, actStoreSku []*mode
|
|||||||
actStoreSkuMap[v.VendorActID] = v
|
actStoreSkuMap[v.VendorActID] = v
|
||||||
}
|
}
|
||||||
//查找删除的活动商品
|
//查找删除的活动商品
|
||||||
sku2Delete, err := actSku2Delete(list)
|
sku2Delete, err := actSku2Delete(list, act.VendorOrgCode, vendorStoreID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
//删除活动以及商品
|
//删除活动以及商品
|
||||||
for k, v := range sku2Delete {
|
for k, v := range sku2Delete {
|
||||||
if err = api.TaoVegetableApi.ActivitySkuDelete(v); err == nil {
|
if err = getAPI(act.VendorOrgCode, 0, vendorStoreID).ActivitySkuDelete(v); err == nil {
|
||||||
err = api.TaoVegetableApi.ActivityDelete(*v.CreatorId, *v.CreatorName, utils.Str2Int64(k))
|
err = getAPI(act.VendorOrgCode, 0, vendorStoreID).ActivityDelete(*v.CreatorId, *v.CreatorName, utils.Str2Int64(k))
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
failedList = append(failedList, &partner.StoreSkuInfoWithErr{
|
failedList = append(failedList, &partner.StoreSkuInfoWithErr{
|
||||||
|
|||||||
Reference in New Issue
Block a user