已完成用户APP首期功能开发
交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
This commit is contained in:
@@ -37,6 +37,36 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
switch os.Args[1] {
|
||||
case "migrate-family-sharing":
|
||||
if err := migrateFamilySharing(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("family sharing tables ready")
|
||||
case "migrate-usage-messages":
|
||||
if err := migrateUsageMessages(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("usage statistics and message read tables ready")
|
||||
case "migrate-device-groups":
|
||||
if err := migrateDeviceGroups(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("device group table ready")
|
||||
case "migrate-device-mapping":
|
||||
if err := migrateDeviceMapping(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("device mapping columns ready")
|
||||
case "migrate-emergency-contacts":
|
||||
if err := migrateEmergencyContacts(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("emergency contact table ready")
|
||||
case "version":
|
||||
fmt.Println("platform-cli 0.1.0")
|
||||
case "resource-contract":
|
||||
@@ -88,11 +118,48 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Printf("mock refund reviewers repaired: %d\n", count)
|
||||
case "repair-mock-user-password":
|
||||
count, err := repairMockUserPassword()
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Printf("mock user passwords repaired: %d\n", count)
|
||||
case "repair-legacy-gas-account":
|
||||
if err := repairLegacyGasAccount(os.Args[2:], os.Stdout); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
case "migrate-user-address":
|
||||
if err := migrateUserAddress(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("user address additive migration completed")
|
||||
case "migrate-ec-favorite":
|
||||
if err := migrateEcFavorite(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("ec favorite additive migration completed")
|
||||
case "migrate-deposit":
|
||||
if err := migrateDeposit(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("deposit additive migration completed")
|
||||
case "migrate-ticket-contact":
|
||||
if err := migrateTicketContact(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("ticket contact additive migration completed")
|
||||
case "migrate-ticket-contract":
|
||||
if err := migrateTicketContract(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Println("ticket contract additive migration completed")
|
||||
case "migrate":
|
||||
if err := migrateDatabase(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
@@ -107,7 +174,7 @@ func main() {
|
||||
}
|
||||
|
||||
func printUsage() {
|
||||
fmt.Fprintln(os.Stderr, "usage: platform-cli <version|resource-contract|gas-resource-contract|delivery-resource-contract|migrate|mock-data|repair-mock-gasorder-status|repair-mock-ec-order|repair-mock-track-point|repair-mock-refund-reviewer|repair-legacy-gas-account>")
|
||||
fmt.Fprintln(os.Stderr, "usage: platform-cli <version|resource-contract|gas-resource-contract|delivery-resource-contract|migrate|migrate-family-sharing|migrate-device-groups|migrate-device-mapping|migrate-emergency-contacts|migrate-user-address|migrate-ticket-contact|migrate-ticket-contract|migrate-ec-favorite|migrate-deposit|mock-data|repair-mock-gasorder-status|repair-mock-ec-order|repair-mock-track-point|repair-mock-refund-reviewer|repair-mock-user-password|repair-legacy-gas-account>")
|
||||
}
|
||||
|
||||
type route struct {
|
||||
@@ -302,6 +369,23 @@ func repairMockRefundReviewer() (int64, error) {
|
||||
return count, nil
|
||||
}
|
||||
|
||||
// repairMockUserPassword 使用当前远程配置,只恢复固定开发账号凭据。
|
||||
func repairMockUserPassword() (int64, error) {
|
||||
config.New(serviceKey)
|
||||
if config.Spec.Databases == nil {
|
||||
return 0, fmt.Errorf("database configuration is required")
|
||||
}
|
||||
databaseService, err := database.NewDatabase(
|
||||
config.Spec.Databases.Driver,
|
||||
config.Spec.Databases.Source,
|
||||
dbsql.SetOptions(nil),
|
||||
)
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf("connect database: %w", err)
|
||||
}
|
||||
return seed.RepairMockUserPassword(databaseService)
|
||||
}
|
||||
|
||||
// repairLegacyGasAccount 显式修复唯一历史 010 气站账号,并将前后值写入操作审计表。
|
||||
func repairLegacyGasAccount(arguments []string, output io.Writer) error {
|
||||
flags := flag.NewFlagSet("repair-legacy-gas-account", flag.ContinueOnError)
|
||||
|
||||
Reference in New Issue
Block a user