From cda85c0d98b285c5f5e08f00bd4dc70f3121dbcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 3 Sep 2025 11:38:17 +0800 Subject: [PATCH] 1 --- business/jxcallback/orderman/orderman_ext.go | 13 +++++++++++++ business/model/dao/dao_order.go | 2 ++ business/model/dao/store.go | 16 ++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 9144ff648..79e322a7f 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -1201,13 +1201,26 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID saleInfoList = append(saleInfoList, v) } + // 门店服务费 feeList, _ := dao.GetStoreServerFee(db, storeIDList, fromTime, toTime, statusList, true) + // 门店账号支出 + fineList, _ := dao.StatisticsFineFee(db, fromTime, toTime, storeIDList) for _, v := range saleInfoList { for _, f := range feeList { if v.StoreID == f.JxStoreID && v.VendorID == f.VendorID { v.ServerFee = f.ServerFee } } + for _, vf := range fineList { + if v.StoreID == vf.StoreID && v.VendorID == vf.VendorID { + switch vf.BillType { + case 21: + v.PromotionFee += vf.SettleAmount + default: + v.FineFee += vf.SettleAmount + } + } + } } return saleInfoList, err } diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 31046dc78..621c39fe7 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -36,6 +36,8 @@ type StoresOrderSaleInfo struct { PlatformSettlement int64 `json:"platformSettlement"` // 真实订单的平台结算(无扣点) ActualFee int64 `json:"actualFee"` // 真三方运单配送费 ServerFee int64 `json:"serverFee"` // 附加服务费 + FineFee int64 `json:"fineFee"` // 罚款金额 + PromotionFee int64 `json:"promotionFee"` // 推广金额 } type OrderSkuWithActualPayPrice struct { diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 3d406e28d..2efc927be 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1732,3 +1732,19 @@ func StatisticsIncome(db *DaoDB, startTime, endTime time.Time, storeId int, bran return incomeInfo, nil } + +// StatisticsFineFee 统计门店罚款支出 +func StatisticsFineFee(db *DaoDB, startTime, endTime time.Time, storeId []int) ([]*model.StoreFine, error) { + parma := []interface{}{storeId, startTime, endTime} + sql := ` SELECT * FROM store_fine WHERE store_id IN (` + GenQuestionMarks(len(storeId)) + `)` + ` AND finish_time >= ? AND finish_time <= ?` + + fine := make([]*model.StoreFine, 0, 0) + if err := GetRows(db, &fine, sql, parma...); err != nil { + return nil, err + } + if len(fine) == model.NO { + return nil, nil + } + + return fine, nil +}