1
This commit is contained in:
@@ -38,8 +38,6 @@ func (c *OrderManager) OnAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *model.OrderStatus, isAdjust bool) (err error) {
|
func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *model.OrderStatus, isAdjust bool) (err error) {
|
||||||
globals.SugarLogger.Debugf("afsOrder 1 := %s", utils.Format4Output(afsOrder, false))
|
|
||||||
globals.SugarLogger.Debugf("orderStatus 1 := %s", utils.Format4Output(orderStatus, false))
|
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
c.setAfsOrderID(db, orderStatus)
|
c.setAfsOrderID(db, orderStatus)
|
||||||
if afsOrder.AfsOrderID == "" {
|
if afsOrder.AfsOrderID == "" {
|
||||||
@@ -73,7 +71,7 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
isDuplicated, err := addOrderOrWaybillStatus(orderStatus, db)
|
isDuplicated, err := addOrderOrWaybillStatus(orderStatus, db)
|
||||||
if err != nil || isDuplicated {
|
if err != nil || (isDuplicated && orderStatus.VendorID != model.VendorIDJX) {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
dao.Commit(db, txDB)
|
dao.Commit(db, txDB)
|
||||||
}
|
}
|
||||||
@@ -82,14 +80,10 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
|||||||
|
|
||||||
var existAfsOrder *model.AfsOrder
|
var existAfsOrder *model.AfsOrder
|
||||||
if existAfsOrder, err = c.loadAfsOrder(db, afsOrder.AfsOrderID, afsOrder.VendorID); err != nil {
|
if existAfsOrder, err = c.loadAfsOrder(db, afsOrder.AfsOrderID, afsOrder.VendorID); err != nil {
|
||||||
globals.SugarLogger.Debugf("loadAfsOrder 1 := %s", utils.Format4Output(existAfsOrder, false))
|
|
||||||
globals.SugarLogger.Debugf("loadAfsOrder err := %s", utils.Format4Output(err, false))
|
|
||||||
if !dao.IsNoRowsError(err) {
|
if !dao.IsNoRowsError(err) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("existAfsOrder 1 := %s", utils.Format4Output(existAfsOrder, false))
|
|
||||||
globals.SugarLogger.Debugf("existAfsOrder != nil := %s", utils.Format4Output(existAfsOrder != nil, false))
|
|
||||||
|
|
||||||
if existAfsOrder != nil {
|
if existAfsOrder != nil {
|
||||||
// todo 可能导致状态回绕
|
// todo 可能导致状态回绕
|
||||||
@@ -104,6 +98,9 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
|||||||
if afsOrder.RefundType == model.AfsTypeFullRefund {
|
if afsOrder.RefundType == model.AfsTypeFullRefund {
|
||||||
isAdjust = true
|
isAdjust = true
|
||||||
}
|
}
|
||||||
|
globals.SugarLogger.Debugf("afsOrder 1 := %s", utils.Format4Output(afsOrder, false))
|
||||||
|
globals.SugarLogger.Debugf("orderStatus 1 := %s", utils.Format4Output(orderStatus, false))
|
||||||
|
globals.SugarLogger.Debugf("isAdjust 1 := %s", utils.Format4Output(isAdjust, false))
|
||||||
if err = c.SaveAfsOrder(db, afsOrder, isAdjust); err != nil {
|
if err = c.SaveAfsOrder(db, afsOrder, isAdjust); err != nil {
|
||||||
globals.SugarLogger.Debugf("SaveAfsOrder := %s", utils.Format4Output(err, false))
|
globals.SugarLogger.Debugf("SaveAfsOrder := %s", utils.Format4Output(err, false))
|
||||||
return err
|
return err
|
||||||
@@ -116,6 +113,9 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *OrderManager) SaveAfsOrder(db *dao.DaoDB, afsOrder *model.AfsOrder, isDeleteFirst bool) (err error) {
|
func (c *OrderManager) SaveAfsOrder(db *dao.DaoDB, afsOrder *model.AfsOrder, isDeleteFirst bool) (err error) {
|
||||||
|
defer func() {
|
||||||
|
globals.SugarLogger.Debugf("===========err defer %v", err)
|
||||||
|
}()
|
||||||
if db == nil {
|
if db == nil {
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
}
|
}
|
||||||
@@ -156,6 +156,8 @@ func (c *OrderManager) SaveAfsOrder(db *dao.DaoDB, afsOrder *model.AfsOrder, isD
|
|||||||
afsOrder.RefundMoneyByCal = afsOrder.SkuUserMoney + afsOrder.FreightUserMoney + deductionsByPm - afsOrder.PmRefundMoney
|
afsOrder.RefundMoneyByCal = afsOrder.SkuUserMoney + afsOrder.FreightUserMoney + deductionsByPm - afsOrder.PmRefundMoney
|
||||||
// order.TotalMoney += order.SkuJxMoney // 退款单京西补贴部分先不作计算
|
// order.TotalMoney += order.SkuJxMoney // 退款单京西补贴部分先不作计算
|
||||||
if err = dao.CreateEntity(db, afsOrder); err != nil {
|
if err = dao.CreateEntity(db, afsOrder); err != nil {
|
||||||
|
globals.SugarLogger.Debugf("=CreateEntity 1 ==========: %v", utils.Format4Output(err, false))
|
||||||
|
globals.SugarLogger.Debugf("=afsOrder 1 ==========: %v", utils.Format4Output(afsOrder, false))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,6 +167,8 @@ func (c *OrderManager) SaveAfsOrder(db *dao.DaoDB, afsOrder *model.AfsOrder, isD
|
|||||||
utils.Float64TwoInt64(float64(afsOrder.RefundMoneyByCal-afsOrder.PmSkuSubsidyMoney)*float64(orderSku.UserMoney+orderSku.PmSubsidyMoney-orderSku.PmSkuSubsidyMoney)/float64(afsOrder.SkuUserMoney+afsOrder.PmSubsidyMoney-afsOrder.PmSkuSubsidyMoney))
|
utils.Float64TwoInt64(float64(afsOrder.RefundMoneyByCal-afsOrder.PmSkuSubsidyMoney)*float64(orderSku.UserMoney+orderSku.PmSubsidyMoney-orderSku.PmSkuSubsidyMoney)/float64(afsOrder.SkuUserMoney+afsOrder.PmSubsidyMoney-afsOrder.PmSkuSubsidyMoney))
|
||||||
afsOrder.Skus[0].RefundMoneyByCal += orderSku.RefundMoneyByCal
|
afsOrder.Skus[0].RefundMoneyByCal += orderSku.RefundMoneyByCal
|
||||||
if err = dao.CreateEntity(db, orderSku); err != nil {
|
if err = dao.CreateEntity(db, orderSku); err != nil {
|
||||||
|
globals.SugarLogger.Debugf("=CreateEntity 1 ==========: %v", utils.Format4Output(err, false))
|
||||||
|
globals.SugarLogger.Debugf("=afsOrder 1 ==========: %v", utils.Format4Output(afsOrder, false))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ func callbackAfsMsg2Status(msg *CallbackMsg) *model.OrderStatus {
|
|||||||
RefVendorID: model.VendorIDJX,
|
RefVendorID: model.VendorIDJX,
|
||||||
VendorStatus: msg.SubMsgType,
|
VendorStatus: msg.SubMsgType,
|
||||||
Status: int(utils.Str2Int64WithDefault(msg.SubMsgType, 0)),
|
Status: int(utils.Str2Int64WithDefault(msg.SubMsgType, 0)),
|
||||||
StatusTime: utils.Timestamp2Time(msg.Timestamp),
|
StatusTime: time.Now(),
|
||||||
Remark: "",
|
Remark: "",
|
||||||
}
|
}
|
||||||
return orderStatus
|
return orderStatus
|
||||||
|
|||||||
Reference in New Issue
Block a user