Merge remote-tracking branch 'origin/mark' into yonghui
This commit is contained in:
@@ -92,11 +92,10 @@ type StoreSkuNameExt struct {
|
|||||||
StoreName string `json:"storeName"`
|
StoreName string `json:"storeName"`
|
||||||
|
|
||||||
model.SkuName
|
model.SkuName
|
||||||
PayPercentage int `json:"-"`
|
PayPercentage int `json:"-"`
|
||||||
UnitPrice int `json:"unitPrice"`
|
UnitPrice int `json:"unitPrice"`
|
||||||
Skus []map[string]interface{} `orm:"-" json:"skus2,omitempty"`
|
Skus []*StoreSkuExt `orm:"-" json:"skus,omitempty"`
|
||||||
Skus2 []*StoreSkuExt `orm:"-" json:"skus,omitempty"`
|
SkusStr string `json:"-"`
|
||||||
SkusStr string `json:"-"`
|
|
||||||
|
|
||||||
PendingOpType int8 `json:"pendingOpType"` // 取值同 StoreOpRequest.Type
|
PendingOpType int8 `json:"pendingOpType"` // 取值同 StoreOpRequest.Type
|
||||||
PendingUnitPrice int `json:"pendingUnitPrice"` // 这个是待审核的价格申请
|
PendingUnitPrice int `json:"pendingUnitPrice"` // 这个是待审核的价格申请
|
||||||
@@ -495,7 +494,7 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus bo
|
|||||||
} else {
|
} else {
|
||||||
storeName = storeNameMap[index]
|
storeName = storeNameMap[index]
|
||||||
}
|
}
|
||||||
storeName.Skus2 = append(storeName.Skus2, &v.StoreSkuExt)
|
storeName.Skus = append(storeName.Skus, &v.StoreSkuExt)
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if isSaleInfo {
|
if isSaleInfo {
|
||||||
@@ -524,7 +523,7 @@ func GetStoreAndSkuIDsFromInfo(skuNamesInfo *StoreSkuNamesInfo) (storeIDs, skuID
|
|||||||
skuIDMap := make(map[int]int)
|
skuIDMap := make(map[int]int)
|
||||||
for _, skuName := range skuNamesInfo.SkuNames {
|
for _, skuName := range skuNamesInfo.SkuNames {
|
||||||
storeIDMap[skuName.StoreID] = 1
|
storeIDMap[skuName.StoreID] = 1
|
||||||
for _, sku := range skuName.Skus2 {
|
for _, sku := range skuName.Skus {
|
||||||
skuIDMap[sku.SkuID] = 1
|
skuIDMap[sku.SkuID] = 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -572,8 +571,8 @@ func updateActPrice4StoreSkuNameNew(db *dao.DaoDB, storeIDs, skuIDs []int, skuNa
|
|||||||
actStoreSkuMap4EarningPrice := jxutils.NewActStoreSkuMap(actStoreSkuList, false)
|
actStoreSkuMap4EarningPrice := jxutils.NewActStoreSkuMap(actStoreSkuList, false)
|
||||||
|
|
||||||
for _, skuName := range skuNamesInfo.SkuNames {
|
for _, skuName := range skuNamesInfo.SkuNames {
|
||||||
if len(skuName.Skus2) > 0 {
|
if len(skuName.Skus) > 0 {
|
||||||
for _, v := range skuName.Skus2 {
|
for _, v := range skuName.Skus {
|
||||||
if actStoreSku := actStoreSkuMap4Act.GetActStoreSku(skuName.StoreID, v.SkuID, -1); actStoreSku != nil {
|
if actStoreSku := actStoreSkuMap4Act.GetActStoreSku(skuName.StoreID, v.SkuID, -1); actStoreSku != nil {
|
||||||
v.ActPrice = int(actStoreSku.ActualActPrice)
|
v.ActPrice = int(actStoreSku.ActualActPrice)
|
||||||
v.ActID = actStoreSku.ActID
|
v.ActID = actStoreSku.ActID
|
||||||
@@ -628,7 +627,7 @@ func updateSaleInfo4StoreSkuName(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
|||||||
var newSkuNames []*StoreSkuNameExt
|
var newSkuNames []*StoreSkuNameExt
|
||||||
for _, skuName := range skuNamesInfo.SkuNames {
|
for _, skuName := range skuNamesInfo.SkuNames {
|
||||||
var newSkus []*StoreSkuExt
|
var newSkus []*StoreSkuExt
|
||||||
for _, sku := range skuName.Skus2 {
|
for _, sku := range skuName.Skus {
|
||||||
saleInfo := saleInfoMap[jxutils.Combine2Int(skuName.StoreID, sku.SkuID)]
|
saleInfo := saleInfoMap[jxutils.Combine2Int(skuName.StoreID, sku.SkuID)]
|
||||||
if saleInfo == nil && fromCount == 0 {
|
if saleInfo == nil && fromCount == 0 {
|
||||||
saleInfo = &SkuSaleInfo{}
|
saleInfo = &SkuSaleInfo{}
|
||||||
@@ -640,7 +639,7 @@ func updateSaleInfo4StoreSkuName(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(newSkus) > 0 {
|
if len(newSkus) > 0 {
|
||||||
skuName.Skus2 = newSkus
|
skuName.Skus = newSkus
|
||||||
newSkuNames = append(newSkuNames, skuName)
|
newSkuNames = append(newSkuNames, skuName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ func GetMultiStoreAllSkuInfo(ctx *jxcontext.Context, vendorMap map[int]bool) {
|
|||||||
func GetFilterJxSkuInfoMap(jxSkuInfoList []*StoreSkuNameExt) map[int]*StoreSkuNameExt {
|
func GetFilterJxSkuInfoMap(jxSkuInfoList []*StoreSkuNameExt) map[int]*StoreSkuNameExt {
|
||||||
filterJxSkuInfoMap := make(map[int]*StoreSkuNameExt)
|
filterJxSkuInfoMap := make(map[int]*StoreSkuNameExt)
|
||||||
for _, value := range jxSkuInfoList {
|
for _, value := range jxSkuInfoList {
|
||||||
for _, skuInfo := range value.Skus2 {
|
for _, skuInfo := range value.Skus {
|
||||||
filterJxSkuInfoMap[skuInfo.SkuID] = value
|
filterJxSkuInfoMap[skuInfo.SkuID] = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -329,24 +329,24 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
|||||||
//多规格商品不用比较数量单位
|
//多规格商品不用比较数量单位
|
||||||
if jxSkuInfo.IsSpu == 0 {
|
if jxSkuInfo.IsSpu == 0 {
|
||||||
//jxSkuDetailName : 前缀 ([荐]) + 分类名(xxx水饺) + 数量单位(约..g/份) + 注释 (补充..)
|
//jxSkuDetailName : 前缀 ([荐]) + 分类名(xxx水饺) + 数量单位(约..g/份) + 注释 (补充..)
|
||||||
jxSkuDetailName = jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, jxSkuInfo.Skus2[0].Comment, jxSkuInfo.SkuName.Unit, jxSkuInfo.Skus2[0].SkuSpecQuality, jxSkuInfo.Skus2[0].SkuSpecUnit, 0)
|
jxSkuDetailName = jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, jxSkuInfo.Skus[0].Comment, jxSkuInfo.SkuName.Unit, jxSkuInfo.Skus[0].SkuSpecQuality, jxSkuInfo.Skus[0].SkuSpecUnit, 0)
|
||||||
} else {
|
} else {
|
||||||
//jxSkuDetailName : 前缀 ([荐]) + 分类名(xxx水饺) + 数量单位(约..g/份) + 注释 (补充..)
|
//jxSkuDetailName : 前缀 ([荐]) + 分类名(xxx水饺) + 数量单位(约..g/份) + 注释 (补充..)
|
||||||
jxSkuDetailName = jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, jxSkuInfo.Skus2[0].Comment, "", jxSkuInfo.Skus2[0].SkuSpecQuality, "", 0)
|
jxSkuDetailName = jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, jxSkuInfo.Skus[0].Comment, "", jxSkuInfo.Skus[0].SkuSpecQuality, "", 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
//jxSkuSaleStatus : 商品状态 ,skustatus 优先级高于 StoreSkuStatus
|
//jxSkuSaleStatus : 商品状态 ,skustatus 优先级高于 StoreSkuStatus
|
||||||
jxSkuSaleStatus := jxutils.MergeSkuStatus(jxSkuInfo.Skus2[0].SkuStatus, jxSkuInfo.Skus2[0].StoreSkuStatus)
|
jxSkuSaleStatus := jxutils.MergeSkuStatus(jxSkuInfo.Skus[0].SkuStatus, jxSkuInfo.Skus[0].StoreSkuStatus)
|
||||||
jxSkuSaleStatusName := GetSkuSaleStatusName(jxSkuSaleStatus)
|
jxSkuSaleStatusName := GetSkuSaleStatusName(jxSkuSaleStatus)
|
||||||
|
|
||||||
vendorSkuInfo := filterVendorSkuInfoMap[skuID]
|
vendorSkuInfo := filterVendorSkuInfoMap[skuID]
|
||||||
var status int8
|
var status int8
|
||||||
if vendorID == model.VendorIDMTWM {
|
if vendorID == model.VendorIDMTWM {
|
||||||
status = jxSkuInfo.Skus2[0].MtwmSyncStatus
|
status = jxSkuInfo.Skus[0].MtwmSyncStatus
|
||||||
} else if vendorID == model.VendorIDEBAI {
|
} else if vendorID == model.VendorIDEBAI {
|
||||||
status = jxSkuInfo.Skus2[0].EbaiSyncStatus
|
status = jxSkuInfo.Skus[0].EbaiSyncStatus
|
||||||
} else if vendorID == model.VendorIDJD {
|
} else if vendorID == model.VendorIDJD {
|
||||||
status = jxSkuInfo.Skus2[0].JdSyncStatus
|
status = jxSkuInfo.Skus[0].JdSyncStatus
|
||||||
}
|
}
|
||||||
syncStatus := utils.Int2Str(int(status))
|
syncStatus := utils.Int2Str(int(status))
|
||||||
toBeCreate := GetBoolName(model.IsSyncStatusNeedCreate(status))
|
toBeCreate := GetBoolName(model.IsSyncStatusNeedCreate(status))
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ func GetAllStoreSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, storeList
|
|||||||
if jxSkuInfoData, err2 := cms.GetStoreSkus(ctx, storeID, []int{}, true, "", true, false, map[string]interface{}{}, 0, -1); jxSkuInfoData != nil {
|
if jxSkuInfoData, err2 := cms.GetStoreSkus(ctx, storeID, []int{}, true, "", true, false, map[string]interface{}{}, 0, -1); jxSkuInfoData != nil {
|
||||||
jxSkuPriceMapData := make(map[int]int)
|
jxSkuPriceMapData := make(map[int]int)
|
||||||
for _, value := range jxSkuInfoData.SkuNames {
|
for _, value := range jxSkuInfoData.SkuNames {
|
||||||
for _, skuInfo := range value.Skus2 {
|
for _, skuInfo := range value.Skus {
|
||||||
saleStatus := jxutils.MergeSkuStatus(skuInfo.SkuStatus, skuInfo.StoreSkuStatus)
|
saleStatus := jxutils.MergeSkuStatus(skuInfo.SkuStatus, skuInfo.StoreSkuStatus)
|
||||||
if saleStatus == model.SkuStatusNormal {
|
if saleStatus == model.SkuStatusNormal {
|
||||||
jxSkuPriceMapData[skuInfo.SkuID] = skuInfo.BindPrice
|
jxSkuPriceMapData[skuInfo.SkuID] = skuInfo.BindPrice
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ func GetStoreSkuSalesInfo(ctx *jxcontext.Context, storeID int) (outStoreSkuSales
|
|||||||
storeSkuData, err := cms.GetStoreSkus(ctx, storeID, citySkuIDs, true, "", true, false, map[string]interface{}{}, 0, -1)
|
storeSkuData, err := cms.GetStoreSkus(ctx, storeID, citySkuIDs, true, "", true, false, map[string]interface{}{}, 0, -1)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
for _, value := range storeSkuData.SkuNames {
|
for _, value := range storeSkuData.SkuNames {
|
||||||
for _, skuInfo := range value.Skus2 {
|
for _, skuInfo := range value.Skus {
|
||||||
storeSkuMapData[skuInfo.SkuID] = value
|
storeSkuMapData[skuInfo.SkuID] = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -98,7 +98,7 @@ func GetStoreSkuSalesInfo(ctx *jxcontext.Context, storeID int) (outStoreSkuSales
|
|||||||
jxSkuInfoData, err := cms.GetStoreSkus(ctx, storeID, citySkuIDs, true, "", true, false, map[string]interface{}{}, 0, -1)
|
jxSkuInfoData, err := cms.GetStoreSkus(ctx, storeID, citySkuIDs, true, "", true, false, map[string]interface{}{}, 0, -1)
|
||||||
jxSkuPriceMapData := make(map[int]int)
|
jxSkuPriceMapData := make(map[int]int)
|
||||||
for _, value := range jxSkuInfoData.SkuNames {
|
for _, value := range jxSkuInfoData.SkuNames {
|
||||||
for _, skuInfo := range value.Skus2 {
|
for _, skuInfo := range value.Skus {
|
||||||
jxSkuPriceMapData[skuInfo.SkuID] = skuInfo.BindPrice
|
jxSkuPriceMapData[skuInfo.SkuID] = skuInfo.BindPrice
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -148,10 +148,10 @@ func GetStoreSkuSalesInfo(ctx *jxcontext.Context, storeID int) (outStoreSkuSales
|
|||||||
skuAndNameInfo := skuAndNameMapData[skuID]
|
skuAndNameInfo := skuAndNameMapData[skuID]
|
||||||
if storeSkuInfo != nil {
|
if storeSkuInfo != nil {
|
||||||
skuName := storeSkuInfo.SkuName
|
skuName := storeSkuInfo.SkuName
|
||||||
skuInfo := storeSkuInfo.Skus2[0]
|
skuInfo := storeSkuInfo.Skus[0]
|
||||||
storeSkuSales.SkuName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, skuInfo.Comment, skuName.Unit, skuInfo.SkuSpecQuality, skuInfo.SkuSpecUnit, 0)
|
storeSkuSales.SkuName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, skuInfo.Comment, skuName.Unit, skuInfo.SkuSpecQuality, skuInfo.SkuSpecUnit, 0)
|
||||||
storeSkuSales.SkuImage = storeSkuInfo.Img
|
storeSkuSales.SkuImage = storeSkuInfo.Img
|
||||||
storeSkuSales.SkuPrice = jxutils.IntPrice2StandardCurrencyString(int64(storeSkuInfo.Skus2[0].BindPrice))
|
storeSkuSales.SkuPrice = jxutils.IntPrice2StandardCurrencyString(int64(storeSkuInfo.Skus[0].BindPrice))
|
||||||
} else if skuAndNameInfo != nil {
|
} else if skuAndNameInfo != nil {
|
||||||
skuNameList, err := dao.GetSkuNames(db, []int{skuAndNameInfo.NameID})
|
skuNameList, err := dao.GetSkuNames(db, []int{skuAndNameInfo.NameID})
|
||||||
prefix := ""
|
prefix := ""
|
||||||
|
|||||||
@@ -954,15 +954,22 @@ func GetMyOrderCountInfo(db *DaoDB, userID string, fromDate, toDate time.Time, s
|
|||||||
if utils.IsTimeZero(fromDate) {
|
if utils.IsTimeZero(fromDate) {
|
||||||
return nil, fmt.Errorf("必须指定开始日期")
|
return nil, fmt.Errorf("必须指定开始日期")
|
||||||
}
|
}
|
||||||
if utils.IsTimeZero(toDate) {
|
if !utils.IsTimeZero(fromDate) {
|
||||||
toDate = fromDate
|
fromDate = utils.Time2Date(fromDate)
|
||||||
|
if utils.IsTimeZero(toDate) {
|
||||||
|
toDate = fromDate
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !utils.IsTimeZero(toDate) {
|
||||||
|
toDate = utils.Time2Date(toDate)
|
||||||
|
toDate = toDate.Add(24 * time.Hour)
|
||||||
}
|
}
|
||||||
|
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t1.lock_status, t1.status, COUNT(*) count
|
SELECT t1.lock_status, t1.status, COUNT(*) count
|
||||||
FROM goods_order t1
|
FROM goods_order t1
|
||||||
WHERE t1.user_id = ? AND t1.vendor_id = ?
|
WHERE t1.user_id = ? AND t1.vendor_id = ?
|
||||||
AND t1.order_created_at >= ? AND t1.order_created_at <= ?
|
AND t1.order_created_at >= ? AND t1.order_created_at < ?
|
||||||
`
|
`
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
userID,
|
userID,
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import (
|
|||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/baseapi/utils/errlist"
|
"git.rosy.net.cn/baseapi/utils/errlist"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
@@ -346,13 +347,26 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
|||||||
for _, v := range skus {
|
for _, v := range skus {
|
||||||
skuIDs = append(skuIDs, v.SkuID)
|
skuIDs = append(skuIDs, v.SkuID)
|
||||||
}
|
}
|
||||||
storeSkuList, err := dao.GetStoresSkusInfo(db, []int{jxOrder.StoreID}, skuIDs)
|
|
||||||
|
// storeSkuList, err := dao.GetStoresSkusInfo(db, []int{jxOrder.StoreID}, skuIDs)
|
||||||
|
// if err != nil {
|
||||||
|
// return nil, nil, err
|
||||||
|
// }
|
||||||
|
// storeSkuMap := make(map[int]*model.StoreSkuBind)
|
||||||
|
// for _, v := range storeSkuList {
|
||||||
|
// storeSkuMap[v.SkuID] = v
|
||||||
|
// }
|
||||||
|
storeSkuInfo, err := cms.GetStoreSkus(ctx, jxOrder.StoreID, skuIDs, true, "", true, false, map[string]interface{}{
|
||||||
|
"actVendorID": model.VendorIDJX,
|
||||||
|
}, 0, model.UnlimitedPageSize)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
storeSkuMap := make(map[int]*model.StoreSkuBind)
|
storeSkuMap := make(map[int]*cms.StoreSkuExt)
|
||||||
for _, v := range storeSkuList {
|
for _, v1 := range storeSkuInfo.SkuNames {
|
||||||
storeSkuMap[v.SkuID] = v
|
for _, v2 := range v1.Skus {
|
||||||
|
storeSkuMap[v2.SkuID] = v2
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
skuList, err := dao.GetSkus(db, skuIDs, nil, nil, nil)
|
skuList, err := dao.GetSkus(db, skuIDs, nil, nil, nil)
|
||||||
@@ -367,6 +381,7 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
|||||||
outJxOrder2 := *jxOrder
|
outJxOrder2 := *jxOrder
|
||||||
outJxOrder2.Skus = nil
|
outJxOrder2.Skus = nil
|
||||||
outJxOrder2.OrderPrice = 0
|
outJxOrder2.OrderPrice = 0
|
||||||
|
outJxOrder2.Weight = 0
|
||||||
outJxOrder = &outJxOrder2
|
outJxOrder = &outJxOrder2
|
||||||
outJxOrder.StoreName = storeDetail.Name
|
outJxOrder.StoreName = storeDetail.Name
|
||||||
for _, v := range skus {
|
for _, v := range skus {
|
||||||
@@ -374,20 +389,38 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
|||||||
if sku := skuMap[v.SkuID]; sku != nil {
|
if sku := skuMap[v.SkuID]; sku != nil {
|
||||||
jxSku := &JxSkuInfo{
|
jxSku := &JxSkuInfo{
|
||||||
SkuID: v.SkuID,
|
SkuID: v.SkuID,
|
||||||
Count: v.Count,
|
|
||||||
Price: int64(storeSkuBind.JxPrice),
|
Price: int64(storeSkuBind.JxPrice),
|
||||||
|
Count: v.Count,
|
||||||
SalePrice: int64(storeSkuBind.JxPrice), // todo 考虑活动价
|
SalePrice: int64(storeSkuBind.JxPrice), // todo 考虑活动价
|
||||||
Weight: sku.Weight,
|
Weight: sku.Weight,
|
||||||
Name: jxutils.ComposeSkuName(sku.Prefix, sku.Name, sku.Comment, sku.Unit, sku.SpecQuality, sku.SpecUnit, 0),
|
Name: jxutils.ComposeSkuName(sku.Prefix, sku.Name, sku.Comment, sku.Unit, sku.SpecQuality, sku.SpecUnit, 0),
|
||||||
}
|
}
|
||||||
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
|
if storeSkuBind.ActPrice != 0 && storeSkuBind.ActPrice < storeSkuBind.JxPrice {
|
||||||
outJxOrder.OrderPrice += int64(v.Count) * jxSku.SalePrice
|
jxSku.SalePrice = int64(storeSkuBind.ActPrice)
|
||||||
outJxOrder.Weight = v.Count * jxSku.Weight
|
jxSku.Count = 1
|
||||||
|
|
||||||
|
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
|
||||||
|
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
|
||||||
|
outJxOrder.Weight += jxSku.Count * jxSku.Weight
|
||||||
|
if v.Count-1 > 0 {
|
||||||
|
jxSku2 := *jxSku
|
||||||
|
jxSku2.SalePrice = jxSku.Price
|
||||||
|
jxSku2.Count = v.Count - 1
|
||||||
|
|
||||||
|
jxSku = &jxSku2
|
||||||
|
} else {
|
||||||
|
jxSku = nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if jxSku != nil {
|
||||||
|
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
|
||||||
|
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
|
||||||
|
outJxOrder.Weight += jxSku.Count * jxSku.Weight
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sort.Sort(JxSkuInfoList(outJxOrder.Skus))
|
sort.Sort(JxSkuInfoList(outJxOrder.Skus))
|
||||||
|
|
||||||
if outJxOrder.FreightPrice, _, err = delivery.CalculateDeliveryFee(dao.GetDB(), jxOrder.StoreID, "",
|
if outJxOrder.FreightPrice, _, err = delivery.CalculateDeliveryFee(dao.GetDB(), jxOrder.StoreID, "",
|
||||||
jxutils.StandardCoordinate2Int(deliveryAddress.Lng), jxutils.StandardCoordinate2Int(deliveryAddress.Lat),
|
jxutils.StandardCoordinate2Int(deliveryAddress.Lng), jxutils.StandardCoordinate2Int(deliveryAddress.Lat),
|
||||||
model.CoordinateTypeMars, outJxOrder.Weight, checkTime); err == nil {
|
model.CoordinateTypeMars, outJxOrder.Weight, checkTime); err == nil {
|
||||||
|
|||||||
@@ -428,7 +428,13 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
|
|||||||
// err = api.MtwmAPI.OrderReceived(utils.Str2Int64(order.VendorOrderID))
|
// err = api.MtwmAPI.OrderReceived(utils.Str2Int64(order.VendorOrderID))
|
||||||
err = api.MtwmAPI.OrderConfirm(utils.Str2Int64(order.VendorOrderID))
|
err = api.MtwmAPI.OrderConfirm(utils.Str2Int64(order.VendorOrderID))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
globals.SugarLogger.Warnf("mtwm AcceptOrRefuseOrder orderID:%s failed with err:%v", order.VendorOrderID, err)
|
if utils.IsErrMatch(err, utils.Int2Str(mtwmapi.ErrCodeOpFailed), []string{
|
||||||
|
"订单已经确认过了",
|
||||||
|
}) {
|
||||||
|
err = nil
|
||||||
|
} else {
|
||||||
|
globals.SugarLogger.Warnf("mtwm AcceptOrRefuseOrder orderID:%s failed with err:%v", order.VendorOrderID, err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if err == nil {
|
// if err == nil {
|
||||||
|
|||||||
@@ -42,9 +42,9 @@ func (c *PurchaseHandler) isAfsMsg(msg *mtwmapi.CallbackMsg) bool {
|
|||||||
if msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderPartialRefund {
|
if msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderPartialRefund {
|
||||||
// refundData := msg.Data.(*mtwmapi.CallbackRefundInfo)
|
// refundData := msg.Data.(*mtwmapi.CallbackRefundInfo)
|
||||||
orderID := utils.Str2Int64(GetOrderIDFromMsg(msg))
|
orderID := utils.Str2Int64(GetOrderIDFromMsg(msg))
|
||||||
orderInfo, err := api.MtwmAPI.OrderGetOrderDetail2(orderID, false)
|
status, err := api.MtwmAPI.OrderViewStatus(orderID)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
return orderInfo.Status == int(utils.Str2Int64(mtwmapi.OrderStatusFinished))
|
return utils.Int2Str(status) == mtwmapi.OrderStatusFinished
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Warnf("mtwm isAfsMsg OrderGetOrderDetail2 orderID:%d failed with error:%v", orderID, err)
|
globals.SugarLogger.Warnf("mtwm isAfsMsg OrderGetOrderDetail2 orderID:%d failed with error:%v", orderID, err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user