1
This commit is contained in:
@@ -144,6 +144,7 @@ func (c *OrderManager) GetOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID str
|
||||
t3.img4 image4,
|
||||
t3.img5 image5,
|
||||
t3.desc_img descImg,
|
||||
t3.price price,
|
||||
t3.upc
|
||||
FROM order_sku t1
|
||||
LEFT JOIN goods_order t6 ON t6.vendor_order_id = t1.vendor_order_id AND t6.vendor_id = t1.vendor_id
|
||||
@@ -354,36 +355,71 @@ func (c *OrderManager) GetOrders(ctx *jxcontext.Context, isIncludeFake bool, fro
|
||||
task := tasksch.NewParallelTask("RefreshOrderFinancial", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
order := batchItemList[0].(*model.GoodsOrderExt)
|
||||
var afsOrder *AfsOrderExt
|
||||
sql := `
|
||||
SELECT t1.afs_total_shop_money, t2.shop_price
|
||||
FROM afs_order t1
|
||||
LEFT JOIN (
|
||||
SELECT a.afs_order_id, SUM(a.shop_price*a.count) shop_price
|
||||
FROM order_sku_financial a
|
||||
LEFT JOIN (
|
||||
SELECT MAX(created_at), afs_order_id
|
||||
FROM afs_order
|
||||
WHERE status = ?
|
||||
AND vendor_order_id = ?
|
||||
GROUP BY 2
|
||||
) b ON a.afs_order_id = b.afs_order_id
|
||||
WHERE a.afs_order_id = b.afs_order_id AND a.is_afs_order = ?
|
||||
GROUP BY 1) t2 ON t1.afs_order_id = t2.afs_order_id
|
||||
WHERE t1.afs_order_id = t2.afs_order_id
|
||||
`
|
||||
sqlParams := []interface{}{model.AfsOrderStatusFinished, order.VendorOrderID,
|
||||
model.YES}
|
||||
if err = dao.GetRow(db, &afsOrder, sql, sqlParams); err == nil && afsOrder != nil {
|
||||
if afsOrder.AfsTotalShopMoney != 0 && afsOrder.AfsTotalShopMoney != order.TotalShopMoney {
|
||||
//报价,要减去商品的京西价
|
||||
if order.EarningType == model.EarningTypeQuote {
|
||||
order.JxIncome = afsOrder.AfsTotalShopMoney - order.EarningPrice - order.DesiredFee + (afsOrder.ShopPrice * int64(order.OrderPayPercentage) / int64(100))
|
||||
} else {
|
||||
order.JxIncome = afsOrder.AfsTotalShopMoney * int64(order.OrderPayPercentage/2) / 100
|
||||
switch beego.BConfig.RunMode {
|
||||
case model.ServerTypeFruits, model.ServerTypeVegetable:
|
||||
var afsOrder *AfsOrderExt
|
||||
sql := `
|
||||
SELECT t1.afs_total_shop_money, t2.shop_price
|
||||
FROM afs_order t1
|
||||
LEFT JOIN (
|
||||
SELECT a.afs_order_id, SUM(a.shop_price*a.count) shop_price
|
||||
FROM order_sku_financial a
|
||||
LEFT JOIN (
|
||||
SELECT MAX(created_at), afs_order_id
|
||||
FROM afs_order
|
||||
WHERE status = ?
|
||||
AND vendor_order_id = ?
|
||||
GROUP BY 2
|
||||
) b ON a.afs_order_id = b.afs_order_id
|
||||
WHERE a.afs_order_id = b.afs_order_id AND a.is_afs_order = ?
|
||||
GROUP BY 1) t2 ON t1.afs_order_id = t2.afs_order_id
|
||||
WHERE t1.afs_order_id = t2.afs_order_id
|
||||
`
|
||||
sqlParams := []interface{}{model.AfsOrderStatusFinished, order.VendorOrderID, model.YES}
|
||||
if err = dao.GetRow(db, &afsOrder, sql, sqlParams); err == nil && afsOrder != nil {
|
||||
if afsOrder.AfsTotalShopMoney != 0 && afsOrder.AfsTotalShopMoney != order.TotalShopMoney {
|
||||
//报价,要减去商品的京西价
|
||||
if order.EarningType == model.EarningTypeQuote {
|
||||
order.JxIncome = afsOrder.AfsTotalShopMoney - order.EarningPrice - order.DesiredFee + (afsOrder.ShopPrice * int64(order.OrderPayPercentage) / int64(100))
|
||||
} else {
|
||||
order.JxIncome = afsOrder.AfsTotalShopMoney * int64(order.OrderPayPercentage/2) / 100
|
||||
}
|
||||
}
|
||||
}
|
||||
case model.ServerTypePet:
|
||||
afsSkuIDList := make([]int, 0, 0)
|
||||
skuFinancial, _ := dao.GetStoreAfsOrderSkuList(db, []int{order.JxStoreID}, []int{model.AfsOrderStatusFinished, model.AfsOrderStatusNew})
|
||||
if len(skuFinancial) != model.NO {
|
||||
for _, v := range skuFinancial {
|
||||
afsSkuIDList = append(afsSkuIDList, v.JxSkuID)
|
||||
}
|
||||
}
|
||||
|
||||
sql := `
|
||||
SELECT sum(o.sale_price*o.count) - sum(n.price*o.count ) inCome
|
||||
FROM order_sku o
|
||||
INNER JOIN sku s on s.id = o.sku_id
|
||||
INNER JOIN sku_name n ON n.id = s.name_id
|
||||
WHERE o.vendor_order_id = ? `
|
||||
incomeParam := []interface{}{order.VendorOrderID}
|
||||
if len(afsSkuIDList) != model.NO {
|
||||
sql += `AND o.sku_id NOT IN (
|
||||
SELECT t1.sku_id
|
||||
FROM order_sku_financial t1
|
||||
JOIN afs_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.afs_order_id = t1.afs_order_id
|
||||
WHERE t2.vendor_order_id = ? AND IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) = ? AND t1.is_afs_order = 1 AND t2.status IN (` + dao.GenQuestionMarks(2) + `)
|
||||
)`
|
||||
incomeParam = append(incomeParam, order.VendorOrderID, order.JxStoreID, model.AfsOrderStatusFinished, model.AfsOrderStatusNew)
|
||||
}
|
||||
// 百货收益算法
|
||||
var baiHuo = &struct {
|
||||
Income int64 `json:"income"`
|
||||
}{}
|
||||
if err = dao.GetRow(db, baiHuo, sql, incomeParam); err == nil {
|
||||
order.JxIncome = baiHuo.Income
|
||||
}
|
||||
}
|
||||
|
||||
// 统计订单的违约金
|
||||
var damages = &struct {
|
||||
Damages int64 `json:"damages"`
|
||||
|
||||
@@ -750,11 +750,11 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, upcs []strin
|
||||
sqlParams = append(sqlParams, params["minimumPrice"])
|
||||
}
|
||||
}
|
||||
if params["minStock"] != 0 && params["minStock"] != nil {
|
||||
if params["minStock"] != nil {
|
||||
sql += " AND t4.stock >= ? "
|
||||
sqlParams = append(sqlParams, params["minStock"])
|
||||
}
|
||||
if params["maxStock"] != 0 && params["maxStock"] != nil {
|
||||
if params["maxStock"] != nil {
|
||||
sql += " AND t4.stock <= ? "
|
||||
sqlParams = append(sqlParams, params["maxStock"])
|
||||
}
|
||||
|
||||
@@ -84,7 +84,8 @@ type OrderSkuExt struct {
|
||||
Img4 string `orm:"size(512)" json:"image4"` //第三张图片
|
||||
Img5 string `orm:"size(512)" json:"image5"` //第三张图片
|
||||
DescImg string `orm:"size(255)" json:"descImg"` // 商品详情图片描述
|
||||
Upc string `json:"upc"`
|
||||
Upc string `json:"upc"` //
|
||||
Price int64 `json:"price"` // 商品库价格
|
||||
// RealEarningPrice int64 `json:"realEarningPrice"` // 实际单品结算给门店老板钱
|
||||
}
|
||||
|
||||
|
||||
@@ -518,22 +518,14 @@ func GetStoreOrderSkuList4Afs2(db *DaoDB, vendorOrderIDs []string) (skuList []*O
|
||||
return skuList, err
|
||||
}
|
||||
|
||||
func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int, isFinish bool) (afsSkuList []*model.OrderSkuFinancial, err error) {
|
||||
func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, statusList []int) (afsSkuList []*model.OrderSkuFinancial, err error) {
|
||||
sql := `
|
||||
SELECT t1.*
|
||||
FROM order_sku_financial t1
|
||||
JOIN afs_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.afs_order_id = t1.afs_order_id
|
||||
WHERE t1.is_afs_order = 1
|
||||
`
|
||||
if isFinish {
|
||||
sql += " AND t2.afs_finished_at >= ? AND t2.afs_finished_at <= ?"
|
||||
} else {
|
||||
sql += " AND t2.afs_created_at >= ? AND t2.afs_created_at <= ?"
|
||||
}
|
||||
sqlParams := []interface{}{
|
||||
finishedAtBegin,
|
||||
finishedAtEnd,
|
||||
}
|
||||
sqlParams := []interface{}{}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += " AND IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) IN (" + GenQuestionMarks(len(storeIDs)) + ")"
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
|
||||
@@ -535,12 +535,7 @@ func genStoreMapFromStore(store *tEbaiStoreInfo) map[string]interface{} {
|
||||
// // params["phone"] = tel // 外卖客服联系电话,这个有时能修改,有时不能修改,暂时统一不改
|
||||
// params["ivr_phone"] = tel // 订单提醒电话
|
||||
// }
|
||||
phone := ""
|
||||
if store.MarketManPhone != "" {
|
||||
phone = store.MarketManPhone
|
||||
} else {
|
||||
phone = model.VendorStoreTel
|
||||
}
|
||||
phone := store.Tel1
|
||||
params["ivr_phone"] = phone //统一改为这个电话
|
||||
|
||||
if store.VendorStoreID != "" {
|
||||
@@ -722,20 +717,12 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
|
||||
//placeCounty, err := dao.GetPlaceByCode(db, storeDetail.DistrictCode)
|
||||
//param["county"] = placeCounty.EbaiCode
|
||||
|
||||
phone := ""
|
||||
if storeDetail.MarketManPhone != "" {
|
||||
phone = storeDetail.MarketManPhone
|
||||
} else {
|
||||
phone = model.VendorStoreTel
|
||||
}
|
||||
phone := storeDetail.Tel1
|
||||
ebaiInfo := EbaiSupplierInfo[params["supplierID"].(string)]
|
||||
param["name"] = params["vendorStoreName"]
|
||||
param["phone"] = phone
|
||||
param["ivr_phone"] = phone
|
||||
param["service_phone"] = storeDetail.Tel1
|
||||
// param["phone"] = "18160030913"
|
||||
// param["ivr_phone"] = "18160030913"
|
||||
// param["service_phone"] = "18160030913"
|
||||
param["service_phone"] = phone
|
||||
param["address"] = storeDetail.Address
|
||||
param["longitude"] = jxutils.IntCoordinate2Standard(storeDetail.Lng)
|
||||
param["latitude"] = jxutils.IntCoordinate2Standard(storeDetail.Lat)
|
||||
|
||||
@@ -67,7 +67,7 @@ func (c *EbaiController) EBaiMsgPush2FruitsOrPet(serverType string, msg map[stri
|
||||
case model.ServerTypeFruits:
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/ebai/msg", strings.NewReader(utils.Map2URLValues(msg).Encode()))
|
||||
case model.ServerTypePet:
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-gblm.jxc4.com/mtps/status", strings.NewReader(utils.Map2URLValues(msg).Encode()))
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-gblm.jxc4.com/ebai/msg", strings.NewReader(utils.Map2URLValues(msg).Encode()))
|
||||
}
|
||||
if err != nil {
|
||||
return api.EbaiAPI.Err2CallbackResponse(ebaiapi.GetCmd(c.Ctx.Request), err, nil)
|
||||
|
||||
Reference in New Issue
Block a user