统一平台资源中文展示并修复模拟订单状态

This commit is contained in:
czl231
2026-08-15 22:06:42 +08:00
parent a20e228296
commit a663821853
24 changed files with 1048 additions and 175 deletions

View File

@@ -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 {