统一平台资源中文展示并修复模拟订单状态
This commit is contained in:
@@ -677,7 +677,7 @@ func seedAdditionalCoreScenarios(database *gorm.DB, passwordHash string, now tim
|
||||
}
|
||||
|
||||
gasOrder := models.GasorderBasic{
|
||||
Entity: entity(sequence+12, common.StatusEnable), OrderStatus: common.StatusPending,
|
||||
Entity: entity(sequence+12, common.StatusEnable), OrderStatus: mockGasorderInitialStatus(),
|
||||
OrderNo: "MOCK-GASORDER-" + suffix, RequestNo: "MOCK-REQ-GASORDER-" + suffix,
|
||||
GasorderContractID: contract.ID, UserAccountID: user.ID, CreatorType: "user", CreatorID: user.ID,
|
||||
CreatorIdentity: user.Identity, GasBasicID: gas.ID, DeliveryBasicID: delivery.ID,
|
||||
@@ -689,6 +689,9 @@ func seedAdditionalCoreScenarios(database *gorm.DB, passwordHash string, now tim
|
||||
if err := put(database, &gasOrder); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := repairMockGasorderInitialStatus(database, gasOrder); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
gasOrderItem := models.GasorderItem{
|
||||
Entity: entity(sequence+13, common.StatusEnable), GasorderBasicID: gasOrder.ID,
|
||||
@@ -756,6 +759,33 @@ func seedAdditionalCoreScenarios(database *gorm.DB, passwordHash string, now tim
|
||||
return nil
|
||||
}
|
||||
|
||||
// mockGasorderInitialStatus 统一 Mock 配送订单初始状态,必须与正式订单状态机保持一致。
|
||||
func mockGasorderInitialStatus() int {
|
||||
return common.StatusCreated
|
||||
}
|
||||
|
||||
// repairMockGasorderInitialStatus 幂等修复历史种子数据中误写为“待处理”的 Mock 配送订单。
|
||||
func repairMockGasorderInitialStatus(database *gorm.DB, order models.GasorderBasic) error {
|
||||
result := database.Model(&models.GasorderBasic{}).
|
||||
Where("identity = ? AND order_no LIKE ? AND order_status = ?", order.Identity, "MOCK-GASORDER-%", common.StatusPending).
|
||||
Update("order_status", mockGasorderInitialStatus())
|
||||
if result.Error != nil {
|
||||
return fmt.Errorf("repair mock gasorder initial status: %w", result.Error)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// RepairMockGasorderInitialStatuses 批量修复固定 Mock 标识范围内误写为“待处理”的配送订单,返回修复数量。
|
||||
func RepairMockGasorderInitialStatuses(database *gorm.DB) (int64, error) {
|
||||
result := database.Model(&models.GasorderBasic{}).
|
||||
Where("identity LIKE ? AND order_no LIKE ? AND order_status = ?", mockIdentityPrefix+"%", "MOCK-GASORDER-%", common.StatusPending).
|
||||
Update("order_status", mockGasorderInitialStatus())
|
||||
if result.Error != nil {
|
||||
return 0, fmt.Errorf("repair mock gasorder initial statuses: %w", result.Error)
|
||||
}
|
||||
return result.RowsAffected, nil
|
||||
}
|
||||
|
||||
// linkMockProductProducer 为未来生成的 Mock 智能气阀建立真实生产商关联。
|
||||
func linkMockProductProducer(product *models.ProductInfo, producer models.ProducerAccount) error {
|
||||
if product == nil || producer.ID == 0 {
|
||||
|
||||
@@ -83,3 +83,13 @@ func TestAdditionalScenarioIdentitiesDoNotOverlapBaseScenario(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestMockGasorderInitialStatusMatchesWorkflow 验证 Mock 订单从文档定义的“已创建”状态起步。
|
||||
func TestMockGasorderInitialStatusMatchesWorkflow(t *testing.T) {
|
||||
if got := mockGasorderInitialStatus(); got != common.StatusCreated {
|
||||
t.Fatalf("Mock 订单初始状态 = %d, want %d", got, common.StatusCreated)
|
||||
}
|
||||
if mockGasorderInitialStatus() == common.StatusPending {
|
||||
t.Fatal("Mock 配送订单不得使用通用待处理状态")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user