From acfe5f9d3ce94d558ee8daae63c8aa0c38d8d807 Mon Sep 17 00:00:00 2001 From: bx1834938347-prog Date: Tue, 6 Jan 2026 09:10:15 +0800 Subject: [PATCH] Update cron.go --- pkg/service/cron/cron.go | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/pkg/service/cron/cron.go b/pkg/service/cron/cron.go index 2418a75..bbf1cb2 100644 --- a/pkg/service/cron/cron.go +++ b/pkg/service/cron/cron.go @@ -251,6 +251,15 @@ func GetImportData(c *gin.Context) { service.Error(c, errors.New("请检查excel文件")) return } + //去重操作 + m := make(map[string]struct{}) + var uniqueExcelData []excelData + for _, data := range readExcelResult { + if _, exists := m[data.SubName]; !exists { + m[data.SubName] = struct{}{} + uniqueExcelData = append(uniqueExcelData, data) + } + } res, err := service.AccountFieeProvider.UserList(context.Background(), &account.UserListRequest{ Domain: "app", }) @@ -262,31 +271,29 @@ func GetImportData(c *gin.Context) { for _, v := range res.UserList { subNames[v.SubNum] = struct{}{} } - fmt.Println(subNames) //检查subname是否正确是否存在 - for _, v := range readExcelResult { + for _, v := range uniqueExcelData { if _, ok := subNames[v.SubName]; !ok { service.Error(c, errors.New(fmt.Sprintf("第 %d 行数据错误,请检查数据!", v.Line))) return } } //检查subname和name是否匹配 - subNameFindExcelData := make(map[string]excelData, len(readExcelResult)) - for _, v := range readExcelResult { + subNameFindExcelData := make(map[string]excelData, len(uniqueExcelData)) + for _, v := range uniqueExcelData { subNameFindExcelData[v.SubName] = v } - subNameFindID := make(map[string]uint64, len(readExcelResult)) - result := make([]excelDataResult, 0, len(readExcelResult)) + subNameFindID := make(map[string]uint64, len(uniqueExcelData)) + result := make([]excelDataResult, 0, len(uniqueExcelData)) for _, v := range res.UserList { subNameFindID[v.SubNum] = v.Id - if subNameFindExcelData[v.SubNum].Name != v.Name && subNameFindExcelData[v.SubNum].Name != "" { fmt.Println(subNameFindExcelData[v.SubNum], v.Name) service.Error(c, errors.New(fmt.Sprintf("第 %d 行数据错误,请检查数据!", subNameFindExcelData[v.SubNum].Line))) return } } - for _, v := range readExcelResult { + for _, v := range uniqueExcelData { result = append(result, excelDataResult{ Id: subNameFindID[v.SubName], Name: v.Name,