update: 优化导入逻辑,使用 switch 替代 if-else,调整导入包顺序

This commit is contained in:
cnb.asek4HHRAKA 2025-10-01 21:05:42 +08:00 committed by 初意
parent e2d47daa2e
commit c9f4a33562
1 changed files with 18 additions and 14 deletions

View File

@ -4,13 +4,14 @@ import (
"bufio" "bufio"
"encoding/csv" "encoding/csv"
"errors" "errors"
"github.com/beancount-gs/script"
"github.com/gin-gonic/gin"
"golang.org/x/text/encoding/simplifiedchinese"
"io" "io"
"strconv" "strconv"
"strings" "strings"
"time" "time"
"github.com/beancount-gs/script"
"github.com/gin-gonic/gin"
"golang.org/x/text/encoding/simplifiedchinese"
) )
func ImportAliPayCSV(c *gin.Context) { func ImportAliPayCSV(c *gin.Context) {
@ -64,11 +65,12 @@ func importBrowserAliPayCSV(lines []string, currency string, currencySymbol stri
dateColumn := strings.Fields(lines[2]) dateColumn := strings.Fields(lines[2])
status := strings.Trim(lines[15], " ") status := strings.Trim(lines[15], " ")
account := "" account := ""
if status == "" { switch status {
case "":
account = "" account = ""
} else if status == "已收入" { case "已收入":
account = "Income:" account = "Income:"
} else { default:
account = "Expenses:" account = "Expenses:"
} }
@ -91,12 +93,13 @@ func importMobileAliPayCSV(lines []string, currency string, currencySymbol strin
dateColumn := strings.Fields(lines[0]) dateColumn := strings.Fields(lines[0])
status := strings.Trim(lines[5], " ") status := strings.Trim(lines[5], " ")
account := "" account := ""
if status == "" { switch status {
case "":
account = "" account = ""
} else if status == "支出" { case "已收入":
account = "Expenses:"
} else {
account = "Income:" account = "Income:"
default:
account = "Expenses:"
} }
if len(dateColumn) >= 2 { if len(dateColumn) >= 2 {
@ -137,12 +140,13 @@ func ImportWxPayCSV(c *gin.Context) {
fields := strings.Fields(lines[0]) fields := strings.Fields(lines[0])
status := strings.Trim(lines[4], " ") status := strings.Trim(lines[4], " ")
account := "" account := ""
if status == "收入" { switch status {
case "收入":
account = "Income:" account = "Income:"
} else if status == "支出" { case "支出":
account = "Expenses:" account = "Expenses:"
} else { default:
continue account = ""
} }
if len(fields) >= 2 { if len(fields) >= 2 {