This commit is contained in:
邹宗楠
2023-05-04 16:22:58 +08:00
parent 7215b907ac
commit 5c23542d12

View File

@@ -422,56 +422,54 @@ func LoadingStoreOrderSettleAmount(startTime, endTime int64, jxStoreId []int) er
}
taskFunc := func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
storeListValue := batchItemList[0].([]*model.StoreMap)
for _, v := range storeListValue {
storeOrder, settleId, err := mtwm.GetAPI(v.VendorOrgCode, v.StoreID, v.VendorStoreID).GetStoreBillList(&mtwmapi.Bill{
AppPoiCode: v.VendorStoreID,
StartDate: from,
EndDate: to,
Offset: 0,
Limit: 200,
})
globals.SugarLogger.Debugf("==========order lens : %d,settleID :%d,err:%v", len(storeOrder), settleId, err)
if err != nil {
globals.SugarLogger.Debugf("GetStoreBillList err : %v", err)
return nil, err
}
storeListValue := batchItemList[0].(*model.StoreMap)
storeOrder, settleId, err := mtwm.GetAPI(storeListValue.VendorOrgCode, storeListValue.StoreID, storeListValue.VendorStoreID).GetStoreBillList(&mtwmapi.Bill{
AppPoiCode: storeListValue.VendorStoreID,
StartDate: from,
EndDate: to,
Offset: 0,
Limit: 200,
})
globals.SugarLogger.Debugf("==========order lens : %d,settleID :%d,err:%v", len(storeOrder), settleId, err)
if err != nil {
globals.SugarLogger.Debugf("GetStoreBillList err : %v", err)
return nil, err
}
// 如果收款账户为京西的收款账户,则此门店不是服务商(否则是服务商,使用门店发单[需要自己的账户充值金额才行]!)
if settleId != model.NO && jxSettleIdMap[settleId] {
globals.SugarLogger.Debugf("=================================1")
brandSql := `UPDATE store_map s SET s.create_delivery_type = ?,s.is_service = ? WHERE g.vendor_store_id = ? AND d.deleted_at = ?`
if _, err := dao.ExecuteSQL(db, brandSql, []interface{}{model.NO, model.NO, v.VendorStoreID, utils.DefaultTimeValue}...); err != nil {
globals.SugarLogger.Debugf("将门店修改为非服务商和系统发单: %v", err)
}
} else {
globals.SugarLogger.Debugf("=================================1.1")
brandSql := `UPDATE store_map s SET s.create_delivery_type = ?,s.is_service = ? WHERE g.vendor_store_id = ? AND d.deleted_at = ?`
if _, err := dao.ExecuteSQL(db, brandSql, []interface{}{model.YES, model.YES, v.VendorStoreID, utils.DefaultTimeValue}...); err != nil {
globals.SugarLogger.Debugf("将门店修改为服务商和门店发单: %v", err)
// 如果收款账户为京西的收款账户,则此门店不是服务商(否则是服务商,使用门店发单[需要自己的账户充值金额才行]!)
if settleId != model.NO && jxSettleIdMap[settleId] {
globals.SugarLogger.Debugf("=================================1")
brandSql := `UPDATE store_map s SET s.create_delivery_type = ?,s.is_service = ? WHERE g.vendor_store_id = ? AND d.deleted_at = ?`
if _, err := dao.ExecuteSQL(db, brandSql, []interface{}{model.NO, model.NO, storeListValue.VendorStoreID, utils.DefaultTimeValue}...); err != nil {
globals.SugarLogger.Debugf("将门店修改为非服务商和系统发单: %v", err)
}
} else {
globals.SugarLogger.Debugf("=================================1.1")
brandSql := `UPDATE store_map s SET s.create_delivery_type = ?,s.is_service = ? WHERE g.vendor_store_id = ? AND d.deleted_at = ?`
if _, err := dao.ExecuteSQL(db, brandSql, []interface{}{model.YES, model.YES, storeListValue.VendorStoreID, utils.DefaultTimeValue}...); err != nil {
globals.SugarLogger.Debugf("将门店修改为服务商和门店发单: %v", err)
}
}
globals.SugarLogger.Debugf("=================================2")
for _, so := range storeOrder {
globals.SugarLogger.Debugf("=================================so : %s", utils.Format4Output(so, false))
// 更新订单的结算信息
if so.PlatformSettlement > 0 {
goodsOrderSql := `UPDATE goods_order g SET g.total_shop_money = ? WHERE g.vendor_order_id = ? `
if _, err := dao.ExecuteSQL(db, goodsOrderSql, []interface{}{so.PlatformSettlement + so.TimingFee + so.DeliveryFee, so.OrderId}...); err != nil {
globals.SugarLogger.Debugf("更新订单结算信息错误: %v", err)
}
}
globals.SugarLogger.Debugf("=================================2")
for _, so := range storeOrder {
globals.SugarLogger.Debugf("=================================so : %s", utils.Format4Output(so, false))
// 更新订单的结算信息
if so.PlatformSettlement > 0 {
goodsOrderSql := `UPDATE goods_order g SET g.total_shop_money = ? WHERE g.vendor_order_id = ? `
if _, err := dao.ExecuteSQL(db, goodsOrderSql, []interface{}{so.PlatformSettlement + so.TimingFee + so.DeliveryFee, so.OrderId}...); err != nil {
globals.SugarLogger.Debugf("更新订单结算信息错误: %v", err)
}
// 更新订单的配送信息
if so.TimingFee != 0 || so.DeliveryFee != 0 {
wayBillSql := `UPDATE waybill w SET w.desired_fee = ?,w.punctual_fee = ? WHERE g.vendor_order_id = ? AND g.vendor_waybill_id = ? `
if _, err := dao.ExecuteSQL(db, wayBillSql, []interface{}{so.DeliveryFee * -1, so.TimingFee * -1, so.OrderId, so.OrderId}...); err != nil {
globals.SugarLogger.Debugf("更新订单物流结算信息错误: %v", err)
}
// 更新订单的配送信息
if so.TimingFee != 0 || so.DeliveryFee != 0 {
wayBillSql := `UPDATE waybill w SET w.desired_fee = ?,w.punctual_fee = ? WHERE g.vendor_order_id = ? AND g.vendor_waybill_id = ? `
if _, err := dao.ExecuteSQL(db, wayBillSql, []interface{}{so.DeliveryFee * -1, so.TimingFee * -1, so.OrderId, so.OrderId}...); err != nil {
globals.SugarLogger.Debugf("更新订单物流结算信息错误: %v", err)
}
}
}
}
return retVal, err
}
task := tasksch.NewParallelTask("更新美团订单配送费/保险费/结算信息", tasksch.NewParallelConfig().SetParallelCount(4), jxcontext.AdminCtx, taskFunc, storeMapList)