|
@@ -279,7 +279,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -279,7 +279,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
279
|
|
279
|
|
|
280
|
// 返回信息表头定义
|
280
|
// 返回信息表头定义
|
|
281
|
var tableHeader = map[string]interface{}{
|
281
|
var tableHeader = map[string]interface{}{
|
|
282
|
- "failReason": "错误详情",
|
282
|
+ "failReason": "失败原因",
|
|
283
|
"originalOrderNum": "来源单号",
|
283
|
"originalOrderNum": "来源单号",
|
|
284
|
"dividendsCustomerName": "客户名称",
|
284
|
"dividendsCustomerName": "客户名称",
|
|
285
|
"orderGoodName": "产品名称",
|
285
|
"orderGoodName": "产品名称",
|
|
@@ -308,7 +308,8 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -308,7 +308,8 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
308
|
for i, dividendsOrder := range importDividendsOrderCommand.DividendsOrderData {
|
308
|
for i, dividendsOrder := range importDividendsOrderCommand.DividendsOrderData {
|
|
309
|
rowCnt++
|
309
|
rowCnt++
|
|
310
|
nullCell := make([]interface{}, 0)
|
310
|
nullCell := make([]interface{}, 0)
|
|
311
|
- var myRow []string
|
311
|
+ //var myRow []string
|
|
|
|
312
|
+ var myRow []interface{}
|
|
312
|
t := reflect.TypeOf(dividendsOrder)
|
313
|
t := reflect.TypeOf(dividendsOrder)
|
|
313
|
v := reflect.ValueOf(dividendsOrder)
|
314
|
v := reflect.ValueOf(dividendsOrder)
|
|
314
|
for k := 0; k < t.NumField(); k++ {
|
315
|
for k := 0; k < t.NumField(); k++ {
|
|
@@ -324,9 +325,21 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -324,9 +325,21 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
324
|
if nullFlag {
|
325
|
if nullFlag {
|
|
325
|
s := strconv.Itoa(i + 1)
|
326
|
s := strconv.Itoa(i + 1)
|
|
326
|
b := strings.Replace(strings.Trim(fmt.Sprint(nullCell), "[]"), " ", ",", -1)
|
327
|
b := strings.Replace(strings.Trim(fmt.Sprint(nullCell), "[]"), " ", ",", -1)
|
|
327
|
- myRow = append(myRow, "第"+s+"行的第"+b+"列必填项为空") // 错误信息
|
|
|
|
328
|
- myRow = append(myRow, s) // 行号
|
|
|
|
329
|
- myRow = append(myRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
328
|
+ //myRow = append(myRow, "第"+s+"行的第"+b+"列必填项为空") // 错误信息
|
|
|
|
329
|
+ //myRow = append(myRow, s) // 行号
|
|
|
|
330
|
+ //myRow = append(myRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
331
|
+ myRow = append(myRow, map[string]interface{}{
|
|
|
|
332
|
+ "failReason": "第" + s + "行第" + b + "列订单日期格式错误,请输入正确的订单日期",
|
|
|
|
333
|
+ "originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
334
|
+ "dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
335
|
+ "orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
336
|
+ "orderTime": dividendsOrder.OrderTime,
|
|
|
|
337
|
+ "regionName": dividendsOrder.RegionName,
|
|
|
|
338
|
+ "orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
339
|
+ "orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
340
|
+ "expense": dividendsOrder.Expense,
|
|
|
|
341
|
+ "cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
342
|
+ })
|
|
330
|
nullCellError = append(nullCellError, myRow)
|
343
|
nullCellError = append(nullCellError, myRow)
|
|
331
|
nullFlag = false
|
344
|
nullFlag = false
|
|
332
|
}
|
345
|
}
|
|
@@ -346,23 +359,36 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -346,23 +359,36 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
346
|
// 单元格类型校验
|
359
|
// 单元格类型校验
|
|
347
|
typeError := make([]interface{}, 0)
|
360
|
typeError := make([]interface{}, 0)
|
|
348
|
for i, dividendsOrder := range importDividendsOrderCommand.DividendsOrderData { // 行
|
361
|
for i, dividendsOrder := range importDividendsOrderCommand.DividendsOrderData { // 行
|
|
349
|
- var myRow []string
|
362
|
+ var myRow []interface{}
|
|
|
|
363
|
+ //var myRow []string
|
|
350
|
t := reflect.TypeOf(dividendsOrder)
|
364
|
t := reflect.TypeOf(dividendsOrder)
|
|
351
|
v := reflect.ValueOf(dividendsOrder)
|
365
|
v := reflect.ValueOf(dividendsOrder)
|
|
352
|
for k := 0; k < t.NumField(); k++ { // 列
|
366
|
for k := 0; k < t.NumField(); k++ { // 列
|
|
353
|
r := strconv.Itoa(i + 1)
|
367
|
r := strconv.Itoa(i + 1)
|
|
354
|
col := strconv.Itoa(k + 1)
|
368
|
col := strconv.Itoa(k + 1)
|
|
355
|
-
|
|
|
|
356
|
switch k {
|
369
|
switch k {
|
|
357
|
case 3: // 订单日期校验
|
370
|
case 3: // 订单日期校验
|
|
358
|
{
|
371
|
{
|
|
359
|
regexpStr := `(\d{4})/(\d{2})/(\d{2})`
|
372
|
regexpStr := `(\d{4})/(\d{2})/(\d{2})`
|
|
360
|
ok := regexp.MustCompile(regexpStr).MatchString(fmt.Sprintf("%v", v.Field(k).Interface()))
|
373
|
ok := regexp.MustCompile(regexpStr).MatchString(fmt.Sprintf("%v", v.Field(k).Interface()))
|
|
361
|
if !ok {
|
374
|
if !ok {
|
|
362
|
- var tmpRow []string
|
|
|
|
363
|
- tmpRow = append(tmpRow, "第"+r+"行第"+col+"列订单日期格式错误,请输入正确的订单日期") // 错误信息
|
|
|
|
364
|
- tmpRow = append(tmpRow, r) // 行号
|
|
|
|
365
|
- tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
375
|
+ //var tmpRow []string
|
|
|
|
376
|
+ //tmpRow = append(tmpRow, "第"+r+"行第"+col+"列订单日期格式错误,请输入正确的订单日期") // 错误信息
|
|
|
|
377
|
+ //tmpRow = append(tmpRow, r) // 行号
|
|
|
|
378
|
+ //tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
379
|
+ var tmpRow []interface{}
|
|
|
|
380
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
381
|
+ "failReason": "第" + r + "行第" + col + "列订单日期格式错误,请输入正确的订单日期",
|
|
|
|
382
|
+ "originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
383
|
+ "dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
384
|
+ "orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
385
|
+ "orderTime": dividendsOrder.OrderTime,
|
|
|
|
386
|
+ "regionName": dividendsOrder.RegionName,
|
|
|
|
387
|
+ "orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
388
|
+ "orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
389
|
+ "expense": dividendsOrder.Expense,
|
|
|
|
390
|
+ "cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
391
|
+ })
|
|
366
|
myRow = tmpRow
|
392
|
myRow = tmpRow
|
|
367
|
}
|
393
|
}
|
|
368
|
}
|
394
|
}
|
|
@@ -371,18 +397,44 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -371,18 +397,44 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
371
|
//参数类型转换
|
397
|
//参数类型转换
|
|
372
|
orderGoodQuantity, err := strconv.ParseInt(fmt.Sprintf("%v", v.Field(k).Interface()), 10, 64)
|
398
|
orderGoodQuantity, err := strconv.ParseInt(fmt.Sprintf("%v", v.Field(k).Interface()), 10, 64)
|
|
373
|
if err != nil {
|
399
|
if err != nil {
|
|
374
|
- var tmpRow []string
|
|
|
|
375
|
- tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量格式错误,产品数量必须整数") // 错误信息
|
|
|
|
376
|
- tmpRow = append(tmpRow, r) // 行号
|
|
|
|
377
|
- tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
400
|
+ //var tmpRow []string
|
|
|
|
401
|
+ //tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量格式错误,产品数量必须整数") // 错误信息
|
|
|
|
402
|
+ //tmpRow = append(tmpRow, r) // 行号
|
|
|
|
403
|
+ //tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
404
|
+ var tmpRow []interface{}
|
|
|
|
405
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
406
|
+ "failReason": "第" + r + "行第" + col + "列产品数量格式错误,产品数量必须整数",
|
|
|
|
407
|
+ "originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
408
|
+ "dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
409
|
+ "orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
410
|
+ "orderTime": dividendsOrder.OrderTime,
|
|
|
|
411
|
+ "regionName": dividendsOrder.RegionName,
|
|
|
|
412
|
+ "orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
413
|
+ "orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
414
|
+ "expense": dividendsOrder.Expense,
|
|
|
|
415
|
+ "cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
416
|
+ })
|
|
378
|
myRow = tmpRow
|
417
|
myRow = tmpRow
|
|
379
|
}
|
418
|
}
|
|
380
|
// 正负判断
|
419
|
// 正负判断
|
|
381
|
if orderGoodQuantity < 0 {
|
420
|
if orderGoodQuantity < 0 {
|
|
382
|
- var tmpRow []string
|
|
|
|
383
|
- tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量必须大于0,请重新填写") // 错误信息
|
|
|
|
384
|
- tmpRow = append(tmpRow, r) // 行号
|
|
|
|
385
|
- tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
421
|
+ //var tmpRow []string
|
|
|
|
422
|
+ //tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量必须大于0,请重新填写") // 错误信息
|
|
|
|
423
|
+ //tmpRow = append(tmpRow, r) // 行号
|
|
|
|
424
|
+ //tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
425
|
+ var tmpRow []interface{}
|
|
|
|
426
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
427
|
+ "failReason": "第" + r + "行第" + col + "列产品数量必须大于0,请重新填写",
|
|
|
|
428
|
+ "originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
429
|
+ "dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
430
|
+ "orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
431
|
+ "orderTime": dividendsOrder.OrderTime,
|
|
|
|
432
|
+ "regionName": dividendsOrder.RegionName,
|
|
|
|
433
|
+ "orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
434
|
+ "orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
435
|
+ "expense": dividendsOrder.Expense,
|
|
|
|
436
|
+ "cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
437
|
+ })
|
|
386
|
myRow = tmpRow
|
438
|
myRow = tmpRow
|
|
387
|
}
|
439
|
}
|
|
388
|
}
|
440
|
}
|
|
@@ -391,19 +443,46 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -391,19 +443,46 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
391
|
// 参数类型转换
|
443
|
// 参数类型转换
|
|
392
|
univalent, typeErr := strconv.ParseFloat(fmt.Sprintf("%v", v.Field(k).Interface()), 64)
|
444
|
univalent, typeErr := strconv.ParseFloat(fmt.Sprintf("%v", v.Field(k).Interface()), 64)
|
|
393
|
if typeErr != nil {
|
445
|
if typeErr != nil {
|
|
394
|
- var tmpRow []string
|
|
|
|
395
|
- tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品价格格式错误,产品价格必须为数字类型") // 错误信息
|
|
|
|
396
|
- tmpRow = append(tmpRow, r) // 行号
|
|
|
|
397
|
- tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
446
|
+ //var tmpRow []string
|
|
|
|
447
|
+ //tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品价格格式错误,产品价格必须为数字类型") // 错误信息
|
|
|
|
448
|
+ //tmpRow = append(tmpRow, r) // 行号
|
|
|
|
449
|
+ //tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
450
|
+ var tmpRow []interface{}
|
|
|
|
451
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
452
|
+ "failReason": "第" + r + "行第" + col + "列产品价格格式错误,产品价格必须为数字类型",
|
|
|
|
453
|
+ "originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
454
|
+ "dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
455
|
+ "orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
456
|
+ "orderTime": dividendsOrder.OrderTime,
|
|
|
|
457
|
+ "regionName": dividendsOrder.RegionName,
|
|
|
|
458
|
+ "orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
459
|
+ "orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
460
|
+ "expense": dividendsOrder.Expense,
|
|
|
|
461
|
+ "cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
462
|
+ })
|
|
398
|
myRow = tmpRow
|
463
|
myRow = tmpRow
|
|
399
|
}
|
464
|
}
|
|
400
|
|
465
|
|
|
401
|
// 长度校验
|
466
|
// 长度校验
|
|
402
|
if univalent >= 1e16 {
|
467
|
if univalent >= 1e16 {
|
|
403
|
- var tmpRow []string
|
|
|
|
404
|
- tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品价格超过最大限制,产品价格小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
|
405
|
- tmpRow = append(tmpRow, r) // 行号
|
|
|
|
406
|
- tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
468
|
+ //var tmpRow []string
|
|
|
|
469
|
+ //tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品价格超过最大限制,产品价格小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
|
470
|
+ //tmpRow = append(tmpRow, r) // 行号
|
|
|
|
471
|
+ //tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface()))
|
|
|
|
472
|
+ var tmpRow []interface{}
|
|
|
|
473
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
474
|
+ "failReason": "第" + r + "行第" + col + "列产品价格超过最大限制,产品价格小数点前面不能超过十六位数字,并保留两位小数",
|
|
|
|
475
|
+ "originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
476
|
+ "dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
477
|
+ "orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
478
|
+ "orderTime": dividendsOrder.OrderTime,
|
|
|
|
479
|
+ "regionName": dividendsOrder.RegionName,
|
|
|
|
480
|
+ "orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
481
|
+ "orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
482
|
+ "expense": dividendsOrder.Expense,
|
|
|
|
483
|
+ "cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
484
|
+ })
|
|
|
|
485
|
+ // 错误行数据
|
|
407
|
myRow = tmpRow
|
486
|
myRow = tmpRow
|
|
408
|
}
|
487
|
}
|
|
409
|
}
|
488
|
}
|
|
@@ -413,19 +492,45 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -413,19 +492,45 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
413
|
// 参数类型转换
|
492
|
// 参数类型转换
|
|
414
|
univalent, typeErr := strconv.ParseFloat(fmt.Sprintf("%v", v.Field(k).Interface()), 64)
|
493
|
univalent, typeErr := strconv.ParseFloat(fmt.Sprintf("%v", v.Field(k).Interface()), 64)
|
|
415
|
if typeErr != nil {
|
494
|
if typeErr != nil {
|
|
416
|
- var tmpRow []string
|
|
|
|
417
|
- tmpRow = append(tmpRow, "第"+r+"行第"+col+"列费用格式错误,费用必须为数字类型") // 错误信息
|
|
|
|
418
|
- tmpRow = append(tmpRow, r) // 行号
|
|
|
|
419
|
- tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
495
|
+ //var tmpRow []string
|
|
|
|
496
|
+ //tmpRow = append(tmpRow, "第"+r+"行第"+col+"列费用格式错误,费用必须为数字类型") // 错误信息
|
|
|
|
497
|
+ //tmpRow = append(tmpRow, r) // 行号
|
|
|
|
498
|
+ //tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
499
|
+ var tmpRow []interface{}
|
|
|
|
500
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
501
|
+ "failReason": "第" + r + "行第" + col + "列费用格式错误,费用必须为数字类型",
|
|
|
|
502
|
+ "originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
503
|
+ "dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
504
|
+ "orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
505
|
+ "orderTime": dividendsOrder.OrderTime,
|
|
|
|
506
|
+ "regionName": dividendsOrder.RegionName,
|
|
|
|
507
|
+ "orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
508
|
+ "orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
509
|
+ "expense": dividendsOrder.Expense,
|
|
|
|
510
|
+ "cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
511
|
+ })
|
|
420
|
myRow = tmpRow
|
512
|
myRow = tmpRow
|
|
421
|
}
|
513
|
}
|
|
422
|
|
514
|
|
|
423
|
// 长度校验
|
515
|
// 长度校验
|
|
424
|
if univalent >= 1e16 {
|
516
|
if univalent >= 1e16 {
|
|
425
|
- var tmpRow []string
|
|
|
|
426
|
- tmpRow = append(tmpRow, "第"+r+"行第"+col+"列费用超过最大限制,费用小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
|
427
|
- tmpRow = append(tmpRow, r) // 行号
|
|
|
|
428
|
- tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
517
|
+ //var tmpRow []string
|
|
|
|
518
|
+ //tmpRow = append(tmpRow, "第"+r+"行第"+col+"列费用超过最大限制,费用小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
|
519
|
+ //tmpRow = append(tmpRow, r) // 行号
|
|
|
|
520
|
+ //tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
521
|
+ var tmpRow []interface{}
|
|
|
|
522
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
523
|
+ "failReason": "第" + r + "行第" + col + "列费用超过最大限制,费用小数点前面不能超过十六位数字,并保留两位小数",
|
|
|
|
524
|
+ "originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
525
|
+ "dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
526
|
+ "orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
527
|
+ "orderTime": dividendsOrder.OrderTime,
|
|
|
|
528
|
+ "regionName": dividendsOrder.RegionName,
|
|
|
|
529
|
+ "orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
530
|
+ "orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
531
|
+ "expense": dividendsOrder.Expense,
|
|
|
|
532
|
+ "cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
533
|
+ })
|
|
429
|
myRow = tmpRow
|
534
|
myRow = tmpRow
|
|
430
|
}
|
535
|
}
|
|
431
|
}
|
536
|
}
|
|
@@ -456,20 +561,27 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -456,20 +561,27 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
456
|
hashValue := md5.Sum([]byte(dividendsOrder.OriginalOrderNum))
|
561
|
hashValue := md5.Sum([]byte(dividendsOrder.OriginalOrderNum))
|
|
457
|
hashString := hex.EncodeToString(hashValue[:])
|
562
|
hashString := hex.EncodeToString(hashValue[:])
|
|
458
|
if _, ok := dividendsOrderCommands[hashString]; !ok {
|
563
|
if _, ok := dividendsOrderCommands[hashString]; !ok {
|
|
459
|
- // 来源单号
|
|
|
|
460
|
- dividendsOrderCommands[hashString].DividendsOriginalOrderNum = dividendsOrder.OriginalOrderNum
|
|
|
|
461
|
-
|
|
|
|
462
|
- // 客户名称
|
|
|
|
463
|
- dividendsOrderCommands[hashString].CustomerName = dividendsOrder.DividendsCustomerName
|
|
|
|
464
|
-
|
|
|
|
465
|
// 订单日期时间格式转换
|
564
|
// 订单日期时间格式转换
|
|
466
|
timeValue, err := time.ParseInLocation("2006/01/02", dividendsOrder.OrderTime, time.Local)
|
565
|
timeValue, err := time.ParseInLocation("2006/01/02", dividendsOrder.OrderTime, time.Local)
|
|
467
|
if err != nil {
|
566
|
if err != nil {
|
|
468
|
- var tmpRow []string
|
|
|
|
469
|
- tmpRow = append(tmpRow, "无效的订单日期") // 错误信息
|
567
|
+ //var tmpRow []string
|
|
|
|
568
|
+ //tmpRow = append(tmpRow, "无效的订单日期") // 错误信息
|
|
470
|
s := strconv.Itoa(i + 1)
|
569
|
s := strconv.Itoa(i + 1)
|
|
471
|
- tmpRow = append(tmpRow, s) // 行号
|
|
|
|
472
|
- //tmpRow = append(tmpRow, dividendsOrder.OriginalOrderNum) // TODO 错误行数据
|
570
|
+ //tmpRow = append(tmpRow, s) // 行号
|
|
|
|
571
|
+ //tmpRow = append(tmpRow, dividendsOrder.OriginalOrderNum)
|
|
|
|
572
|
+ var tmpRow []interface{}
|
|
|
|
573
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
574
|
+ "failReason": "第" + s + "行无效的订单日期",
|
|
|
|
575
|
+ "originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
576
|
+ "dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
577
|
+ "orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
578
|
+ "orderTime": dividendsOrder.OrderTime,
|
|
|
|
579
|
+ "regionName": dividendsOrder.RegionName,
|
|
|
|
580
|
+ "orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
581
|
+ "orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
582
|
+ "expense": dividendsOrder.Expense,
|
|
|
|
583
|
+ "cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
584
|
+ })
|
|
473
|
aggregateErrorList = append(aggregateErrorList, tmpRow)
|
585
|
aggregateErrorList = append(aggregateErrorList, tmpRow)
|
|
474
|
break
|
586
|
break
|
|
475
|
}
|
587
|
}
|
|
@@ -592,20 +704,46 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -592,20 +704,46 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
592
|
for _, errorData := range errorDataList {
|
704
|
for _, errorData := range errorDataList {
|
|
593
|
if len(errorData.GoodLine) == 0 { // 订单错误
|
705
|
if len(errorData.GoodLine) == 0 { // 订单错误
|
|
594
|
for _, line := range errorData.LineNumbers {
|
706
|
for _, line := range errorData.LineNumbers {
|
|
595
|
- var tmpRow []string
|
|
|
|
596
|
- tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
707
|
+ //var tmpRow []string5
|
|
|
|
708
|
+ //tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
597
|
s := strconv.Itoa(line + 1)
|
709
|
s := strconv.Itoa(line + 1)
|
|
598
|
- tmpRow = append(tmpRow, s) // 行号
|
710
|
+ //tmpRow = append(tmpRow, s) // 行号
|
|
599
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
711
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
|
|
|
712
|
+ var tmpRow []interface{}
|
|
|
|
713
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
714
|
+ "failReason": "第" + s + "行数据校验错误:" + errorData.Error.Error(),
|
|
|
|
715
|
+ "originalOrderNum": importDividendsOrderCommand.DividendsOrderData[line].OriginalOrderNum,
|
|
|
|
716
|
+ "dividendsCustomerName": importDividendsOrderCommand.DividendsOrderData[line].DividendsCustomerName,
|
|
|
|
717
|
+ "orderGoodName": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodName,
|
|
|
|
718
|
+ "orderTime": importDividendsOrderCommand.DividendsOrderData[line].OrderTime,
|
|
|
|
719
|
+ "regionName": importDividendsOrderCommand.DividendsOrderData[line].RegionName,
|
|
|
|
720
|
+ "orderGoodQuantity": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodQuantity,
|
|
|
|
721
|
+ "orderGoodPrice": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodPrice,
|
|
|
|
722
|
+ "expense": importDividendsOrderCommand.DividendsOrderData[line].Expense,
|
|
|
|
723
|
+ "cooperationContractNumber": importDividendsOrderCommand.DividendsOrderData[line].CooperationContractNumber,
|
|
|
|
724
|
+ })
|
|
600
|
failureDataList = append(failureDataList, tmpRow)
|
725
|
failureDataList = append(failureDataList, tmpRow)
|
|
601
|
}
|
726
|
}
|
|
602
|
} else if len(errorData.GoodLine) > 0 { // 订单产品错误
|
727
|
} else if len(errorData.GoodLine) > 0 { // 订单产品错误
|
|
603
|
for line := range errorData.GoodLine {
|
728
|
for line := range errorData.GoodLine {
|
|
604
|
- var tmpRow []string
|
|
|
|
605
|
- tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
729
|
+ //var tmpRow []string
|
|
|
|
730
|
+ //tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
606
|
s := strconv.Itoa(line + 1)
|
731
|
s := strconv.Itoa(line + 1)
|
|
607
|
- tmpRow = append(tmpRow, s) // 行号
|
732
|
+ //tmpRow = append(tmpRow, s) // 行号
|
|
608
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
733
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
|
|
|
734
|
+ var tmpRow []interface{}
|
|
|
|
735
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
736
|
+ "failReason": "第" + s + "行订单产品信息错误:" + errorData.Error.Error(),
|
|
|
|
737
|
+ "originalOrderNum": importDividendsOrderCommand.DividendsOrderData[line].OriginalOrderNum,
|
|
|
|
738
|
+ "dividendsCustomerName": importDividendsOrderCommand.DividendsOrderData[line].DividendsCustomerName,
|
|
|
|
739
|
+ "orderGoodName": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodName,
|
|
|
|
740
|
+ "orderTime": importDividendsOrderCommand.DividendsOrderData[line].OrderTime,
|
|
|
|
741
|
+ "regionName": importDividendsOrderCommand.DividendsOrderData[line].RegionName,
|
|
|
|
742
|
+ "orderGoodQuantity": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodQuantity,
|
|
|
|
743
|
+ "orderGoodPrice": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodPrice,
|
|
|
|
744
|
+ "expense": importDividendsOrderCommand.DividendsOrderData[line].Expense,
|
|
|
|
745
|
+ "cooperationContractNumber": importDividendsOrderCommand.DividendsOrderData[line].CooperationContractNumber,
|
|
|
|
746
|
+ })
|
|
609
|
failureDataList = append(failureDataList, tmpRow)
|
747
|
failureDataList = append(failureDataList, tmpRow)
|
|
610
|
}
|
748
|
}
|
|
611
|
}
|
749
|
}
|
|
@@ -621,7 +759,6 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -621,7 +759,6 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
621
|
|
759
|
|
|
622
|
// 批量导入创建分红订单
|
760
|
// 批量导入创建分红订单
|
|
623
|
for _, dividendsOrder := range createDividendsOrderCommands {
|
761
|
for _, dividendsOrder := range createDividendsOrderCommands {
|
|
624
|
-
|
|
|
|
625
|
// 生成分红订单号
|
762
|
// 生成分红订单号
|
|
626
|
dividendsOrderNumber, err := dividendsOrderDao.GenerateDividendsOrderNumber()
|
763
|
dividendsOrderNumber, err := dividendsOrderDao.GenerateDividendsOrderNumber()
|
|
627
|
if err != nil {
|
764
|
if err != nil {
|
|
@@ -641,6 +778,8 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -641,6 +778,8 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
641
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, "新增分红订单异常")
|
778
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, "新增分红订单异常")
|
|
642
|
}
|
779
|
}
|
|
643
|
|
780
|
|
|
|
|
781
|
+ // 校验共创合约是否合法
|
|
|
|
782
|
+
|
|
644
|
// 新增订单产品
|
783
|
// 新增订单产品
|
|
645
|
var orderGoods []*domain.OrderGood
|
784
|
var orderGoods []*domain.OrderGood
|
|
646
|
var dividendsOrderAmount float64
|
785
|
var dividendsOrderAmount float64
|
|
@@ -668,7 +807,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -668,7 +807,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
668
|
// 订单时间转换
|
807
|
// 订单时间转换
|
|
669
|
orderTimeInt, err := strconv.ParseInt(dividendsOrder.OrderTime, 10, 64)
|
808
|
orderTimeInt, err := strconv.ParseInt(dividendsOrder.OrderTime, 10, 64)
|
|
670
|
if err != nil {
|
809
|
if err != nil {
|
|
671
|
- return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "订单时间错误")
|
810
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "订单日期转换错误")
|
|
672
|
}
|
811
|
}
|
|
673
|
orderTime := utils.TransformTimestampToTime(orderTimeInt)
|
812
|
orderTime := utils.TransformTimestampToTime(orderTimeInt)
|
|
674
|
|
813
|
|
|
@@ -723,20 +862,46 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -723,20 +862,46 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
723
|
for _, errorData := range errorDataList {
|
862
|
for _, errorData := range errorDataList {
|
|
724
|
if len(errorData.GoodLine) == 0 { // 订单错误
|
863
|
if len(errorData.GoodLine) == 0 { // 订单错误
|
|
725
|
for _, line := range errorData.LineNumbers {
|
864
|
for _, line := range errorData.LineNumbers {
|
|
726
|
- var tmpRow []string
|
|
|
|
727
|
- tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
865
|
+ //var tmpRow []string
|
|
|
|
866
|
+ //tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
728
|
s := strconv.Itoa(line + 1)
|
867
|
s := strconv.Itoa(line + 1)
|
|
729
|
- tmpRow = append(tmpRow, s) // 行号
|
868
|
+ //tmpRow = append(tmpRow, s) // 行号
|
|
730
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
869
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
|
|
|
870
|
+ var tmpRow []interface{}
|
|
|
|
871
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
872
|
+ "failReason": "第" + s + "行订单数据新增错误:" + errorData.Error.Error(),
|
|
|
|
873
|
+ "originalOrderNum": importDividendsOrderCommand.DividendsOrderData[line].OriginalOrderNum,
|
|
|
|
874
|
+ "dividendsCustomerName": importDividendsOrderCommand.DividendsOrderData[line].DividendsCustomerName,
|
|
|
|
875
|
+ "orderGoodName": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodName,
|
|
|
|
876
|
+ "orderTime": importDividendsOrderCommand.DividendsOrderData[line].OrderTime,
|
|
|
|
877
|
+ "regionName": importDividendsOrderCommand.DividendsOrderData[line].RegionName,
|
|
|
|
878
|
+ "orderGoodQuantity": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodQuantity,
|
|
|
|
879
|
+ "orderGoodPrice": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodPrice,
|
|
|
|
880
|
+ "expense": importDividendsOrderCommand.DividendsOrderData[line].Expense,
|
|
|
|
881
|
+ "cooperationContractNumber": importDividendsOrderCommand.DividendsOrderData[line].CooperationContractNumber,
|
|
|
|
882
|
+ })
|
|
731
|
failureDataList = append(failureDataList, tmpRow)
|
883
|
failureDataList = append(failureDataList, tmpRow)
|
|
732
|
}
|
884
|
}
|
|
733
|
} else if len(errorData.GoodLine) > 0 { // 订单产品错误
|
885
|
} else if len(errorData.GoodLine) > 0 { // 订单产品错误
|
|
734
|
for line := range errorData.GoodLine {
|
886
|
for line := range errorData.GoodLine {
|
|
735
|
- var tmpRow []string
|
|
|
|
736
|
- tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
887
|
+ //var tmpRow []string
|
|
|
|
888
|
+ //tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
737
|
s := strconv.Itoa(line + 1)
|
889
|
s := strconv.Itoa(line + 1)
|
|
738
|
- tmpRow = append(tmpRow, s) // 行号
|
890
|
+ //tmpRow = append(tmpRow, s) // 行号
|
|
739
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
891
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
|
|
|
892
|
+ var tmpRow []interface{}
|
|
|
|
893
|
+ tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
894
|
+ "failReason": "第" + s + "行订单数据新增错误:" + errorData.Error.Error(),
|
|
|
|
895
|
+ "originalOrderNum": importDividendsOrderCommand.DividendsOrderData[line].OriginalOrderNum,
|
|
|
|
896
|
+ "dividendsCustomerName": importDividendsOrderCommand.DividendsOrderData[line].DividendsCustomerName,
|
|
|
|
897
|
+ "orderGoodName": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodName,
|
|
|
|
898
|
+ "orderTime": importDividendsOrderCommand.DividendsOrderData[line].OrderTime,
|
|
|
|
899
|
+ "regionName": importDividendsOrderCommand.DividendsOrderData[line].RegionName,
|
|
|
|
900
|
+ "orderGoodQuantity": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodQuantity,
|
|
|
|
901
|
+ "orderGoodPrice": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodPrice,
|
|
|
|
902
|
+ "expense": importDividendsOrderCommand.DividendsOrderData[line].Expense,
|
|
|
|
903
|
+ "cooperationContractNumber": importDividendsOrderCommand.DividendsOrderData[line].CooperationContractNumber,
|
|
|
|
904
|
+ })
|
|
740
|
failureDataList = append(failureDataList, tmpRow)
|
905
|
failureDataList = append(failureDataList, tmpRow)
|
|
741
|
}
|
906
|
}
|
|
742
|
}
|
907
|
}
|