|
@@ -10,6 +10,7 @@ import ( |
|
@@ -10,6 +10,7 @@ import ( |
10
|
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/suMoney/command"
|
10
|
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/suMoney/command"
|
11
|
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/suMoney/query"
|
11
|
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/suMoney/query"
|
12
|
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/suMoney/service"
|
12
|
"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/suMoney/service"
|
|
|
13
|
+ utils_tool "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/utils"
|
13
|
"os"
|
14
|
"os"
|
14
|
"path"
|
15
|
"path"
|
15
|
"strconv"
|
16
|
"strconv"
|
|
@@ -427,6 +428,7 @@ func (controller *SuMoneyController) ImportExchangeList () { |
|
@@ -427,6 +428,7 @@ func (controller *SuMoneyController) ImportExchangeList () { |
427
|
return
|
428
|
return
|
428
|
}
|
429
|
}
|
429
|
|
430
|
|
|
|
431
|
+ // 打开文件
|
430
|
xlsx, err := excelize.OpenReader(file)
|
432
|
xlsx, err := excelize.OpenReader(file)
|
431
|
if err != nil {
|
433
|
if err != nil {
|
432
|
fmt.Println(err)
|
434
|
fmt.Println(err)
|
|
@@ -436,8 +438,6 @@ func (controller *SuMoneyController) ImportExchangeList () { |
|
@@ -436,8 +438,6 @@ func (controller *SuMoneyController) ImportExchangeList () { |
436
|
// 文件行数校验
|
438
|
// 文件行数校验
|
437
|
rows, _ := xlsx.GetRows("Sheet1")
|
439
|
rows, _ := xlsx.GetRows("Sheet1")
|
438
|
fmt.Print(len(rows), "\n")
|
440
|
fmt.Print(len(rows), "\n")
|
439
|
-
|
|
|
440
|
- // 表格超行判断
|
|
|
441
|
if len(rows) > 302 {
|
441
|
if len(rows) > 302 {
|
442
|
err := &application.ServiceError{
|
442
|
err := &application.ServiceError{
|
443
|
Code: 500,
|
443
|
Code: 500,
|
|
@@ -461,48 +461,53 @@ func (controller *SuMoneyController) ImportExchangeList () { |
|
@@ -461,48 +461,53 @@ func (controller *SuMoneyController) ImportExchangeList () { |
461
|
return
|
461
|
return
|
462
|
}
|
462
|
}
|
463
|
|
463
|
|
464
|
- // 空字段判断
|
|
|
465
|
- //newstr := []string{"null"}
|
464
|
+ // 单元格校验
|
|
|
465
|
+ newstr := []string{"null"}
|
466
|
//nullChar := []string{"单元格包含空字符"}
|
466
|
//nullChar := []string{"单元格包含空字符"}
|
|
|
467
|
+ nullLine := make([]interface{}, 0)
|
|
|
468
|
+ for i, row := range rows {
|
|
|
469
|
+ if i > 2 {
|
|
|
470
|
+ fmt.Print(len(row), "\n")
|
|
|
471
|
+
|
|
|
472
|
+ // 头部、中间空
|
|
|
473
|
+ if len(row) == 3 {
|
|
|
474
|
+ for j, cell := range row {
|
|
|
475
|
+ fmt.Print(cell, "\n")
|
|
|
476
|
+ if cell == "" {
|
|
|
477
|
+ utils_tool.InsertSlice(j, newstr, row)
|
|
|
478
|
+ row = append(row, "单元格包含空字符")
|
|
|
479
|
+ nullLine = append(nullLine, row)
|
|
|
480
|
+ }
|
|
|
481
|
+ }
|
|
|
482
|
+ }
|
|
|
483
|
+
|
|
|
484
|
+ // 尾空
|
|
|
485
|
+ if len(row) < 3 {
|
|
|
486
|
+ for j, cell := range row {
|
|
|
487
|
+ fmt.Print(cell, "\n")
|
|
|
488
|
+ if cell == "" {
|
|
|
489
|
+ utils_tool.InsertSlice(j, row, newstr)
|
|
|
490
|
+ row = append(row, "单元格包含空字符")
|
|
|
491
|
+ nullLine = append(nullLine, row)
|
|
|
492
|
+ }
|
|
|
493
|
+ }
|
|
|
494
|
+ }
|
|
|
495
|
+ }
|
|
|
496
|
+ }
|
467
|
|
497
|
|
468
|
- //nullLine := make([]interface{}, 0)
|
|
|
469
|
- //for i, row := range rows {
|
|
|
470
|
- // if i > 2 {
|
|
|
471
|
- // if len(row) < 3 {
|
|
|
472
|
- // r2, _ := strconv.ParseFloat(row[2], 64)
|
|
|
473
|
- // if row[0] == "" {
|
|
|
474
|
- // utils_tool.InsertSlice(0, row, newstr)
|
|
|
475
|
- // } else if row[1] == "" {
|
|
|
476
|
- // utils_tool.InsertSlice(1, row, newstr)
|
|
|
477
|
- // } else if r2 == 0 {
|
|
|
478
|
- // utils_tool.InsertSlice(2, row, newstr)
|
|
|
479
|
- // }
|
|
|
480
|
- //
|
|
|
481
|
- // //for j, cell := range row {
|
|
|
482
|
- // // if cell == "" {
|
|
|
483
|
- // // utils_tool.InsertSlice(j, row, newstr)
|
|
|
484
|
- // // }
|
|
|
485
|
- // //}
|
|
|
486
|
- // //utils_tool.InsertSlice(1, row, nullChar)
|
|
|
487
|
- // row = append(row, "单元格包含空字符")
|
|
|
488
|
- // nullLine = append(nullLine, row)
|
|
|
489
|
- // }
|
|
|
490
|
- // }
|
|
|
491
|
- //}
|
|
|
492
|
- //
|
|
|
493
|
- //if len(nullLine) > 0 {
|
|
|
494
|
- // ret = map[string]interface{}{
|
|
|
495
|
- // "successCount": 0,
|
|
|
496
|
- // "fail": map[string]interface{}{
|
|
|
497
|
- // "tableHeader": tableHeader,
|
|
|
498
|
- // "tableData": nullLine,
|
|
|
499
|
- // },
|
|
|
500
|
- // }
|
|
|
501
|
- // response = utils.ResponseData(controller.Ctx, ret)
|
|
|
502
|
- // controller.Data["json"] = response
|
|
|
503
|
- // controller.ServeJSON()
|
|
|
504
|
- // return
|
|
|
505
|
- //}
|
498
|
+ if len(nullLine) > 0 {
|
|
|
499
|
+ ret = map[string]interface{}{
|
|
|
500
|
+ "successCount": 0,
|
|
|
501
|
+ "fail": map[string]interface{}{
|
|
|
502
|
+ "tableHeader": tableHeader,
|
|
|
503
|
+ "tableData": nullLine,
|
|
|
504
|
+ },
|
|
|
505
|
+ }
|
|
|
506
|
+ response = utils.ResponseData(controller.Ctx, ret)
|
|
|
507
|
+ controller.Data["json"] = response
|
|
|
508
|
+ controller.ServeJSON()
|
|
|
509
|
+ return
|
|
|
510
|
+ }
|
506
|
|
511
|
|
507
|
// 新增失败记录
|
512
|
// 新增失败记录
|
508
|
failureDataList := make([]interface{}, 0)
|
513
|
failureDataList := make([]interface{}, 0)
|