|
|
@@ -274,7 +274,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
274
|
274
|
#region 售后操作
|
|
275
|
275
|
|
|
276
|
276
|
/// <summary>
|
|
277
|
|
- /// 销售申请售后
|
|
|
277
|
+ /// 添加售后
|
|
278
|
278
|
/// </summary>
|
|
279
|
279
|
/// <param name="input"></param>
|
|
280
|
280
|
/// <returns></returns>
|
|
|
@@ -316,11 +316,11 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
316
|
316
|
List<T_Bus_OrderDetail> modelOldDetailList = new List<T_Bus_OrderDetail>();
|
|
317
|
317
|
if (input.F_CheckStateSH == 2)
|
|
318
|
318
|
{
|
|
319
|
|
- //从0开始,相当于添加
|
|
|
319
|
+ //从0开始,相当于添加 目前不会出现
|
|
320
|
320
|
}
|
|
321
|
321
|
else
|
|
322
|
322
|
{
|
|
323
|
|
- if (string.IsNullOrEmpty(input.F_OldDetailList))
|
|
|
323
|
+ if (!string.IsNullOrEmpty(input.F_OldDetailList))
|
|
324
|
324
|
{
|
|
325
|
325
|
|
|
326
|
326
|
foreach (string product in input.F_OldDetailList.Split('|'))
|
|
|
@@ -393,9 +393,27 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
393
|
393
|
if (!string.IsNullOrEmpty(input.F_Remark))
|
|
394
|
394
|
modelAfterSale.F_Remark = " 售后:" + input.F_Remark;
|
|
395
|
395
|
|
|
396
|
|
-
|
|
|
396
|
+ if (new int[] { 1, 2, 3, 4 }.Contains(input.F_Type))
|
|
|
397
|
+ {
|
|
|
398
|
+ //客户需要发货
|
|
|
399
|
+ if (modelOldDetailList == null || modelOldDetailList.Count == 0)
|
|
|
400
|
+ {
|
|
|
401
|
+ //但是客户没发货
|
|
|
402
|
+ return Error("请选择客户退回商品");
|
|
|
403
|
+ }
|
|
|
404
|
+ }
|
|
|
405
|
+ if (new int[] { 1,5, 4 }.Contains(input.F_Type))
|
|
|
406
|
+ {
|
|
|
407
|
+ //我们需要发货
|
|
|
408
|
+ if (string.IsNullOrEmpty(modelAfterSale.F_DetailList))
|
|
|
409
|
+ {
|
|
|
410
|
+ //但是我们没发
|
|
|
411
|
+ return Error("请选择新/补发商品");
|
|
|
412
|
+ }
|
|
|
413
|
+
|
|
|
414
|
+ }
|
|
|
415
|
+
|
|
397
|
416
|
|
|
398
|
|
-
|
|
399
|
417
|
if (input.F_Type == 4)
|
|
400
|
418
|
{
|
|
401
|
419
|
if (input.F_CheckStateSH == 1)
|
|
|
@@ -416,11 +434,13 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
416
|
434
|
{
|
|
417
|
435
|
|
|
418
|
436
|
}
|
|
419
|
|
- if (modelOldDetailList != null && modelOldDetailList.Count > 0)
|
|
|
437
|
+
|
|
|
438
|
+ if (modelOldDetailList != null && modelOldDetailList.Count > 0&& new int[] { 1, 2, 3, 4 }.Contains(input.F_Type))
|
|
420
|
439
|
{
|
|
421
|
|
- //批量更新状态 为售后中
|
|
422
|
|
- await bus_OrderDetailRepository.UpdateList(modelOldDetailList);
|
|
|
440
|
+ //批量更新售后的数量状态
|
|
|
441
|
+ await bus_OrderDetailRepository.UpdateListToColumns(modelOldDetailList,s=> new{ s.F_State});
|
|
423
|
442
|
}
|
|
|
443
|
+
|
|
424
|
444
|
if (await busAfterSaleRepository.AddReturnCount(modelAfterSale))
|
|
425
|
445
|
{
|
|
426
|
446
|
|
|
|
@@ -432,7 +452,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
432
|
452
|
return Error("申请失败,请重试!");
|
|
433
|
453
|
}
|
|
434
|
454
|
catch (Exception ex)
|
|
435
|
|
- { return Error(ex.Message + "===<br />" + ex.StackTrace); }
|
|
|
455
|
+ { return Error(ex.Message + "===/r/n <br /> \\r\\n " + ex.StackTrace); }
|
|
436
|
456
|
|
|
437
|
457
|
}
|
|
438
|
458
|
|
|
|
@@ -526,7 +546,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
526
|
546
|
{ }
|
|
527
|
547
|
else
|
|
528
|
548
|
{
|
|
529
|
|
- if (string.IsNullOrEmpty(input.F_OldDetailList))
|
|
|
549
|
+ if (!string.IsNullOrEmpty(input.F_OldDetailList))
|
|
530
|
550
|
{
|
|
531
|
551
|
|
|
532
|
552
|
foreach (string product in input.F_OldDetailList.Split('|'))
|
|
|
@@ -567,7 +587,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
567
|
587
|
}
|
|
568
|
588
|
else
|
|
569
|
589
|
{
|
|
570
|
|
- if (string.IsNullOrEmpty(input.F_OldDetailList))
|
|
|
590
|
+ if (!string.IsNullOrEmpty(input.F_OldDetailList))
|
|
571
|
591
|
{
|
|
572
|
592
|
|
|
573
|
593
|
foreach (string product in input.F_OldDetailList.Split('|'))
|
|
|
@@ -612,7 +632,25 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
612
|
632
|
modelAfterSale.F_Money = input.F_Money;
|
|
613
|
633
|
|
|
614
|
634
|
modelAfterSale.F_OrderId = input.F_OrderId;
|
|
|
635
|
+ if (new int[] { 1, 2, 3, 4 }.Contains(input.F_Type))
|
|
|
636
|
+ {
|
|
|
637
|
+ //客户需要发货
|
|
|
638
|
+ if (modelOldDetailList == null || modelOldDetailList.Count == 0)
|
|
|
639
|
+ {
|
|
|
640
|
+ //但是客户没发货
|
|
|
641
|
+ return Error("请选择客户退回商品");
|
|
|
642
|
+ }
|
|
|
643
|
+ }
|
|
|
644
|
+ if (new int[] { 1, 5, 4 }.Contains(input.F_Type))
|
|
|
645
|
+ {
|
|
|
646
|
+ //我们需要发货
|
|
|
647
|
+ if (string.IsNullOrEmpty(modelAfterSale.F_DetailList))
|
|
|
648
|
+ {
|
|
|
649
|
+ //但是我们没发
|
|
|
650
|
+ return Error("请选择新/补发商品");
|
|
|
651
|
+ }
|
|
615
|
652
|
|
|
|
653
|
+ }
|
|
616
|
654
|
|
|
617
|
655
|
if (modelAfterSale.F_Type == 4)
|
|
618
|
656
|
{
|
|
|
@@ -626,7 +664,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
626
|
664
|
}
|
|
627
|
665
|
}
|
|
628
|
666
|
}
|
|
629
|
|
- if (modelOldDetailList != null && modelOldDetailList.Count > 0)
|
|
|
667
|
+ if (modelOldDetailList != null && modelOldDetailList.Count > 0 && new int[] { 1, 2, 3, 4 }.Contains(input.F_Type))
|
|
630
|
668
|
{
|
|
631
|
669
|
//批量更新状态 数量
|
|
632
|
670
|
await bus_OrderDetailRepository.UpdateListToColumns(modelOldDetailList, s => new { s.F_State });
|
|
|
@@ -661,11 +699,51 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
661
|
699
|
return Error("参数缺失:" + ids);
|
|
662
|
700
|
}
|
|
663
|
701
|
string[] idlist = ids.Split(',');
|
|
|
702
|
+ //TODO 删除售后 暂时还未还原之前状态 暂时不能删除
|
|
664
|
703
|
|
|
665
|
|
- if (await busAfterSaleRepository.Update(s=>new T_Bus_AfterSale { F_State=-1 },q => idlist.Contains(q.F_Id)&&q.F_CheckStateSH!=1))
|
|
|
704
|
+ foreach (string id in idlist)
|
|
666
|
705
|
{
|
|
667
|
|
- return Success("删除成功");
|
|
|
706
|
+
|
|
|
707
|
+ T_Bus_AfterSale modelAfterSale = await busAfterSaleRepository.GetSingle(q => q.F_Id == id);
|
|
|
708
|
+ if (modelAfterSale.F_CheckStateSH > 1)
|
|
|
709
|
+ {
|
|
|
710
|
+ return Error("此售后的状态不允许删除:" + modelAfterSale.F_Id);
|
|
|
711
|
+ }
|
|
|
712
|
+ if (new int[] { 1, 2, 3, 4 }.Contains(modelAfterSale.F_Type))
|
|
|
713
|
+ {
|
|
|
714
|
+ if (!string.IsNullOrEmpty(modelAfterSale.F_OldDetailList))
|
|
|
715
|
+ {
|
|
|
716
|
+ List<T_Bus_OrderDetail> modelOldDetailList = new List<T_Bus_OrderDetail>();
|
|
|
717
|
+ foreach (string product in modelAfterSale.F_OldDetailList.Split('|'))
|
|
|
718
|
+ {
|
|
|
719
|
+ string productid = product.Split(',')[0];
|
|
|
720
|
+ int count = product.Split(',')[1].ObjToInt();
|
|
|
721
|
+ T_Bus_OrderDetail modelDetail = await bus_OrderDetailRepository.GetSingle(q => q.F_OrderId == modelAfterSale.F_OrderId && q.F_ProductId == productid);
|
|
|
722
|
+
|
|
|
723
|
+ if (count > modelDetail.F_State)
|
|
|
724
|
+ {
|
|
|
725
|
+ modelDetail.F_State = 0;
|
|
|
726
|
+ }
|
|
|
727
|
+ else {
|
|
|
728
|
+ modelDetail.F_State = modelDetail.F_State - count;
|
|
|
729
|
+ }
|
|
|
730
|
+
|
|
|
731
|
+ modelOldDetailList.Add(modelDetail);
|
|
|
732
|
+ }
|
|
|
733
|
+ if(await bus_OrderDetailRepository.UpdateListToColumns(modelOldDetailList,s=>new { s.F_State}))
|
|
|
734
|
+ {
|
|
|
735
|
+ return Error("更新售后商品数量失败,请手工操作:"+ modelAfterSale.F_Id);
|
|
|
736
|
+ }
|
|
|
737
|
+ }
|
|
|
738
|
+ }
|
|
|
739
|
+
|
|
|
740
|
+ if (await busAfterSaleRepository.Update(s => new T_Bus_AfterSale { F_State = -1 }, q => q.F_Id == id && q.F_CheckStateSH != 1))
|
|
|
741
|
+ {
|
|
|
742
|
+ return Success("删除成功");
|
|
|
743
|
+ }
|
|
668
|
744
|
}
|
|
|
745
|
+
|
|
|
746
|
+
|
|
669
|
747
|
return Error("删除失败,请重试!");
|
|
670
|
748
|
}
|
|
671
|
749
|
catch (Exception ex)
|
|
|
@@ -698,10 +776,6 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
698
|
776
|
{
|
|
699
|
777
|
eq = eq.And(a => a.F_State == input.F_State);
|
|
700
|
778
|
}
|
|
701
|
|
- if (input.F_State == -2)
|
|
702
|
|
- {
|
|
703
|
|
- eq = eq.And(a => a.F_State >= 0);
|
|
704
|
|
- }
|
|
705
|
779
|
if (input.F_Type > 0)
|
|
706
|
780
|
{
|
|
707
|
781
|
eq = eq.And(a => a.F_Type == input.F_Type);
|