1
This commit is contained in:
@@ -37,6 +37,9 @@ type StoresOrderSaleInfo struct {
|
||||
WaybillTipMoney int64 `json:"waybillTipMoney"` // 京西加的平台配送小费
|
||||
|
||||
RealEarningPrice int64 `json:"realEarningPrice"`
|
||||
|
||||
PlatformSettlement int64 `json:"platformSettlement"` // 真实订单的平台结算(无扣点)
|
||||
ActualFee int64 `json:"actualFee"` // 真三方运单配送费
|
||||
}
|
||||
|
||||
type OrderSkuWithActualPayPrice struct {
|
||||
@@ -411,6 +414,60 @@ func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAt
|
||||
return skuList, err
|
||||
}
|
||||
|
||||
type TotalShopMoney struct {
|
||||
TotalShopMoney int64 `json:"totalShopMoney"`
|
||||
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
|
||||
}
|
||||
|
||||
// GetPlatformSettlement 统计平台的结算信息
|
||||
func GetPlatformSettlement(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time) ([]*TotalShopMoney, error) {
|
||||
sql := `
|
||||
SELECT SUM(t2.total_shop_money) total_shop_money,t2.vendor_id FROM goods_order t2 WHERE t2.order_finished_at >= ? AND t2.order_finished_at <= ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
finishedAtBegin,
|
||||
finishedAtEnd,
|
||||
}
|
||||
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)
|
||||
}
|
||||
sql += ` AND t2.status = ? GROUP BY t2.vendor_id`
|
||||
sqlParams = append(sqlParams, model.OrderStatusFinished)
|
||||
|
||||
var total []*TotalShopMoney
|
||||
err := GetRows(db, &total, sql, sqlParams...)
|
||||
return total, err
|
||||
}
|
||||
|
||||
type DeliveryFee struct {
|
||||
ActualFee int64 `json:"actualFee"`
|
||||
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
|
||||
}
|
||||
|
||||
// GetPlatformDesiredFee 统计平台的订单的配送费信息
|
||||
func GetPlatformDesiredFee(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time) (fee []*DeliveryFee, err error) {
|
||||
sql := `
|
||||
SELECT sum(b.actual_fee) actual_fee,b.order_vendor_id vendor_id FROM goods_order t2
|
||||
RIGHT JOIN waybill b ON t2.vendor_order_id = b.vendor_order_id AND b.status IN (?,?) AND b.vendor_order_id <> b.vendor_waybill_id
|
||||
WHERE t2.order_finished_at >= ? AND t2.order_finished_at <= ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
model.WaybillStatusDelivered,
|
||||
110,
|
||||
finishedAtBegin,
|
||||
finishedAtEnd,
|
||||
}
|
||||
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)
|
||||
}
|
||||
|
||||
sql += ` GROUP BY b.order_vendor_id `
|
||||
err = GetRows(db, &fee, sql, sqlParams...)
|
||||
return
|
||||
}
|
||||
|
||||
func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, isFinish bool) (skuList []*OrderSkuWithActualPayPrice, err error) {
|
||||
sql := `
|
||||
SELECT t1.*,
|
||||
@@ -458,6 +515,7 @@ func GetStoreOrderSkuList4Afs2(db *DaoDB, vendorOrderIDs []string) (skuList []*O
|
||||
`
|
||||
sqlParams = append(sqlParams, vendorOrderIDs)
|
||||
}
|
||||
|
||||
err = GetRows(db, &skuList, sql, sqlParams...)
|
||||
return skuList, err
|
||||
}
|
||||
@@ -502,6 +560,23 @@ func GetStoreAfsOrderSkuList2(db *DaoDB, vendorOrderIDs []string) (afsSkuList []
|
||||
sql += " AND t2.vendor_order_id IN (" + GenQuestionMarks(len(vendorOrderIDs)) + ")"
|
||||
sqlParams = append(sqlParams, vendorOrderIDs)
|
||||
}
|
||||
|
||||
err = GetRows(db, &afsSkuList, sql, sqlParams...)
|
||||
return afsSkuList, err
|
||||
}
|
||||
|
||||
func GetOrderRefundSkuList(db *DaoDB, vendorOrderIDs []string) (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
|
||||
`
|
||||
sqlParams := []interface{}{}
|
||||
if len(vendorOrderIDs) > 0 {
|
||||
sql += " AND t2.vendor_order_id IN (" + GenQuestionMarks(len(vendorOrderIDs)) + ")"
|
||||
sqlParams = append(sqlParams, vendorOrderIDs)
|
||||
}
|
||||
err = GetRows(db, &afsSkuList, sql, sqlParams...)
|
||||
return afsSkuList, err
|
||||
}
|
||||
@@ -826,7 +901,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat
|
||||
t5.pay_percentage, t5.comment ,t5.old_pay_percentage, t5.market_man_phone, tu.name market_man_name,
|
||||
t5.operator_phone, t5.operator_phone2, t5.operator_phone3, tu1.name operator_name, tu2.name operator_name2, tu3.name operator_name3,
|
||||
t6.vendor_pay_percentage,
|
||||
city.name city_name, district.name district_name,
|
||||
city.name city_name, district.name district_name,op.vendor_pay_type,
|
||||
ROUND(IF(t1.earning_type = 1, t1.total_shop_money-t1.earning_price-IFNULL(t2.desired_fee,0), t1.total_shop_money *(t1.order_pay_percentage/2)/100)) jx_income`, model.DefaultEarningPricePercentage)
|
||||
if isIncludeSku {
|
||||
sql += `,
|
||||
@@ -849,6 +924,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat
|
||||
LEFT JOIN user tu1 ON tu1.mobile = t5.operator_phone
|
||||
LEFT JOIN user tu2 ON tu2.mobile = t5.operator_phone2
|
||||
LEFT JOIN user tu3 ON tu3.mobile = t5.operator_phone3
|
||||
LEFT JOIN order_pay op ON op.vendor_order_id = t1.vendor_order_id
|
||||
-- LEFT JOIN (SELECT MAX(created_at), afs_order_id, vendor_order_id, vendor_id FROM afs_order WHERE status = 180 GROUP BY 2, 3, 4) t7 ON t7.vendor_order_id = t1.vendor_order_id AND t7.vendor_id = t1.vendor_id
|
||||
-- LEFT JOIN afs_order t8 ON t8.afs_order_id = t7.afs_order_id
|
||||
`
|
||||
@@ -943,7 +1019,6 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat
|
||||
} else {
|
||||
sqlWhere += " AND IF(t1.jx_store_id != 0, t1.jx_store_id, t1.store_id) IN (" + GenQuestionMarks(len(storeIDs)) + ")"
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
//globals.SugarLogger.Debugf("sqlParams storeIDs========%d", storeIDs)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1821,8 +1896,8 @@ func GetOrderStoreIDs(db *DaoDB, beginAt, endAt time.Time, vendorID int) (storeI
|
||||
|
||||
// GetOrderListByStoreList 根据门店id获取正在刷单的门店商品
|
||||
func GetOrderListByStoreList(db *DaoDB, storeId []int64) (order []*model.GoodsOrder, err error) {
|
||||
sql := `SELECT * FROM goods_order g WHERE g.order_created_at >= ? AND g.order_created_at <= ? AND g.jx_store_id IN (` + GenQuestionMarks(len(storeId)) + `)` + `AND g.vendor_id = ? AND g.status < ?`
|
||||
sqlParam := []interface{}{time.Now().AddDate(0, 0, -5), time.Now().AddDate(0, 0, 1), storeId, model.VendorIDDD, model.OrderStatusDelivering}
|
||||
sql := `SELECT * FROM goods_order g WHERE g.order_created_at >= ? AND g.order_created_at <= ? AND g.jx_store_id IN (` + GenQuestionMarks(len(storeId)) + `)` + `AND g.vendor_id IN (` + GenQuestionMarks(2) + `)` + `AND g.status < ?`
|
||||
sqlParam := []interface{}{time.Now().AddDate(0, 0, -5), time.Now().AddDate(0, 0, 1), storeId, []int{model.VendorIDDD, model.VendorIDEBAI}, model.OrderStatusDelivering}
|
||||
|
||||
if err := GetRows(db, &order, sql, sqlParam...); err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -1285,7 +1285,7 @@ func GetTopSkusByCityCode(db *DaoDB, cityCode int, orderCreate time.Time) (skuNa
|
||||
AND b.sale_price > ?
|
||||
AND a.order_created_at BETWEEN ? and NOW()
|
||||
GROUP BY 2,3,4
|
||||
ORDER BY count DESC
|
||||
ORDER BY count DESC LIMIT 100
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
|
||||
Reference in New Issue
Block a user