移除履约任务表
This commit is contained in:
@@ -181,14 +181,6 @@ func (s *FulfillmentService) CreateOrder(in CreateFulfillmentOrderInput) (*Creat
|
||||
return err
|
||||
}
|
||||
}
|
||||
if err := tx.Create(&model.FulfillmentJob{
|
||||
MerchantID: in.MerchantID,
|
||||
OrderID: order.ID,
|
||||
Status: model.FulfillmentJobStatusPending,
|
||||
NextRunAt: time.Now(),
|
||||
}).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if err := writeAudit(tx, &in.MerchantID, nil, &in.APIClientID, "open_order.create", "fulfillment_order", order.OrderNo, map[string]interface{}{"client_order_no": in.ClientOrderNo, "sku": in.SKU}); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -415,20 +407,6 @@ func (s *FulfillmentService) UpdateFulfillment(in FulfillmentUpdateInput) (*mode
|
||||
if err := tx.Model(&order).Updates(updates).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
jobStatus := model.FulfillmentJobStatusProcessing
|
||||
if in.Status == model.FulfillmentStatusSucceeded {
|
||||
jobStatus = model.FulfillmentJobStatusSucceeded
|
||||
} else if in.Status == model.FulfillmentStatusFailed {
|
||||
jobStatus = model.FulfillmentJobStatusFailed
|
||||
}
|
||||
if err := tx.Model(&model.FulfillmentJob{}).Where("order_id = ?", order.ID).Updates(map[string]interface{}{
|
||||
"status": jobStatus,
|
||||
"provider_order_no": in.ProviderOrderNo,
|
||||
"result_payload": resultData,
|
||||
"last_error": in.FailureReason,
|
||||
}).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if err := tx.First(&out, order.ID).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -509,12 +487,6 @@ func (s *FulfillmentService) CancelOrder(merchantID, apiClientID uint, orderNo,
|
||||
return err
|
||||
}
|
||||
}
|
||||
if err := tx.Model(&model.FulfillmentJob{}).Where("order_id = ?", order.ID).Updates(map[string]interface{}{
|
||||
"status": model.FulfillmentJobStatusFailed,
|
||||
"last_error": "订单已取消",
|
||||
}).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if err := tx.First(&out, order.ID).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -941,22 +913,6 @@ func (s *FulfillmentService) HandleShipNotify(in ShipNotifyInput) (*ShipNotifyRe
|
||||
return err
|
||||
}
|
||||
|
||||
jobStatus := model.FulfillmentJobStatusFailed
|
||||
if nextStatus == model.FulfillmentStatusSucceeded {
|
||||
jobStatus = model.FulfillmentJobStatusSucceeded
|
||||
}
|
||||
jobUpdates := map[string]interface{}{
|
||||
"status": jobStatus,
|
||||
"result_payload": resultData,
|
||||
"last_error": in.FailReason,
|
||||
}
|
||||
if in.ProviderOrderNo != "" {
|
||||
jobUpdates["provider_order_no"] = in.ProviderOrderNo
|
||||
}
|
||||
if err := tx.Model(&model.FulfillmentJob{}).Where("order_id = ?", order.ID).Updates(jobUpdates).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := writeAudit(tx, &order.MerchantID, nil, nil, "ship.notify", "fulfillment_order", order.OrderNo,
|
||||
shipNotifyAuditMetadata(in, nextStatus, message)); err != nil {
|
||||
return err
|
||||
|
||||
@@ -19,7 +19,6 @@ func newServiceTestDB(t *testing.T) *gorm.DB {
|
||||
&model.WalletAccount{},
|
||||
&model.WalletLedgerEntry{},
|
||||
&model.FulfillmentOrder{},
|
||||
&model.FulfillmentJob{},
|
||||
&model.CallbackSubscription{},
|
||||
&model.CallbackDelivery{},
|
||||
&model.AuditLog{},
|
||||
@@ -458,7 +457,7 @@ func TestCreateTestOrderSupportsFailedFulfillableStatus(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleShipNotifyUpdatesOrderJobAndEnqueuesMerchantCallback(t *testing.T) {
|
||||
func TestHandleShipNotifyUpdatesOrderAndEnqueuesMerchantCallback(t *testing.T) {
|
||||
db := newServiceTestDB(t)
|
||||
merchantID, product := seedFulfillmentMerchant(t, db, "merchant-source-notify", 1000, 2, 100)
|
||||
codec, err := NewSecretCodec("test-master-key")
|
||||
@@ -504,13 +503,6 @@ func TestHandleShipNotifyUpdatesOrderJobAndEnqueuesMerchantCallback(t *testing.T
|
||||
if order.FulfillmentStatus != model.FulfillmentStatusSucceeded || order.ProviderOrderNo != "SRC-10001" || order.DeliveredAt == nil {
|
||||
t.Fatalf("unexpected order after source notify: %+v", order)
|
||||
}
|
||||
var job model.FulfillmentJob
|
||||
if err := db.Where("order_id = ?", created.Order.ID).First(&job).Error; err != nil {
|
||||
t.Fatalf("query fulfillment job: %v", err)
|
||||
}
|
||||
if job.Status != model.FulfillmentJobStatusSucceeded || job.ProviderOrderNo != "SRC-10001" {
|
||||
t.Fatalf("unexpected job after source notify: %+v", job)
|
||||
}
|
||||
var delivery model.CallbackDelivery
|
||||
if err := db.Where("merchant_id = ? AND event = ?", merchantID, "order.fulfillment.updated").First(&delivery).Error; err != nil {
|
||||
t.Fatalf("query callback delivery: %v", err)
|
||||
|
||||
Reference in New Issue
Block a user