package logic import ( "main/dao/mysql" "main/models" "mime/multipart" "strconv" "github.com/xuri/excelize/v2" "go.uber.org/zap" ) func ImportStudentInfoLogic(file *multipart.FileHeader) (err error) { var s []models.User f, err := file.Open() if err != nil { return } defer f.Close() excelFile, err := excelize.OpenReader(f) if err != nil { return } sheetList := excelFile.GetSheetList() if len(sheetList) == 0 { return } rows, err := excelFile.GetRows(sheetList[0]) if err != nil { return } for _, row := range rows[1:] { user_id, err := strconv.ParseInt(row[0], 10, 64) if err != nil { zap.L().Error("user_id change failed", zap.Error(err)) continue } user_score, err := strconv.ParseInt(row[3], 10, 64) if err != nil { zap.L().Error("user_score change failed", zap.Error(err)) continue } var user_gender int if row[2] == "男" { user_gender = 1 } else if row[2] == "女" { user_gender = 2 } else { user_gender = 0 } student := models.User{ User_id: user_id, User_name: row[1], User_gender: user_gender, User_score: user_score, } s = append(s, student) } return mysql.ImportStudentInfoIntoSql(s) }