|
|
@@ -314,6 +314,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
314
|
314
|
modelAfterSale.F_CheckUserXS = modeOrder.F_AddUser;
|
|
315
|
315
|
|
|
316
|
316
|
modelAfterSale.F_DetailList = input.F_DetailList;
|
|
|
317
|
+ modelAfterSale.F_OldDetailList = input.F_OldDetailList;
|
|
317
|
318
|
modelAfterSale.F_Type = input.F_Type;
|
|
318
|
319
|
modelAfterSale.F_Money = input.F_Money;
|
|
319
|
320
|
|
|
|
@@ -326,6 +327,28 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
326
|
327
|
if (!string.IsNullOrEmpty(input.F_Remark))
|
|
327
|
328
|
modelAfterSale.F_Remark = " 售后:" + input.F_Remark;
|
|
328
|
329
|
|
|
|
330
|
+ List<T_Bus_OrderDetail> modelOldDetailList = new List<T_Bus_OrderDetail>();
|
|
|
331
|
+
|
|
|
332
|
+ //更新售后流程的退货商品
|
|
|
333
|
+ if (string.IsNullOrEmpty(modelAfterSale.F_OldDetailList))
|
|
|
334
|
+ {
|
|
|
335
|
+ #region 退回商品展示
|
|
|
336
|
+
|
|
|
337
|
+ foreach (string product in modelAfterSale.F_OldDetailList.Split('|'))
|
|
|
338
|
+ {
|
|
|
339
|
+ string productid = product.Split(',')[0];
|
|
|
340
|
+
|
|
|
341
|
+ T_Bus_OrderDetail modelDetail = await bus_OrderDetailRepository.GetSingle(q => q.F_OrderId == modeOrder.F_Id && q.F_ProductId == productid);
|
|
|
342
|
+ if (modelDetail.F_State >= 1)
|
|
|
343
|
+ {
|
|
|
344
|
+ return Error("此商品已参加售后:" + modelDetail.F_ProductName);
|
|
|
345
|
+ }
|
|
|
346
|
+ modelDetail.F_State = 1;
|
|
|
347
|
+ modelOldDetailList.Add(modelDetail);
|
|
|
348
|
+ }
|
|
|
349
|
+
|
|
|
350
|
+ #endregion
|
|
|
351
|
+ }
|
|
329
|
352
|
|
|
330
|
353
|
if (input.F_Type == 4)
|
|
331
|
354
|
{
|
|
|
@@ -339,6 +362,19 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
339
|
362
|
}
|
|
340
|
363
|
}
|
|
341
|
364
|
}
|
|
|
365
|
+ else if (input.F_Type == 2 || input.F_Type == 3)
|
|
|
366
|
+ {
|
|
|
367
|
+
|
|
|
368
|
+ }
|
|
|
369
|
+ else if (input.F_Type == 1)
|
|
|
370
|
+ {
|
|
|
371
|
+
|
|
|
372
|
+ }
|
|
|
373
|
+ if (modelOldDetailList != null && modelOldDetailList.Count > 0)
|
|
|
374
|
+ {
|
|
|
375
|
+ //批量更新状态 为售后中
|
|
|
376
|
+ await bus_OrderDetailRepository.UpdateList(modelOldDetailList);
|
|
|
377
|
+ }
|
|
342
|
378
|
if (await busAfterSaleRepository.AddReturnCount(modelAfterSale))
|
|
343
|
379
|
{
|
|
344
|
380
|
if (input.F_CheckStateSH == 0)
|
|
|
@@ -385,7 +421,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
385
|
421
|
//物流状态0 未发出 1物流运送中2签收3改代收4拒收
|
|
386
|
422
|
return Error("订单状态不符合售后");
|
|
387
|
423
|
}
|
|
388
|
|
- T_Bus_AfterSale modelAfterSale =await busAfterSaleRepository.GetSingle(q=>q.F_Id==input.F_Id);
|
|
|
424
|
+ T_Bus_AfterSale modelAfterSale = await busAfterSaleRepository.GetSingle(q => q.F_Id == input.F_Id);
|
|
389
|
425
|
if (modelAfterSale.F_CheckStateSH == 1)
|
|
390
|
426
|
{
|
|
391
|
427
|
return Error("不能重复审核提交");
|
|
|
@@ -511,8 +547,6 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
511
|
547
|
|
|
512
|
548
|
#region 仓库操作
|
|
513
|
549
|
|
|
514
|
|
-
|
|
515
|
|
-
|
|
516
|
550
|
/// <summary>
|
|
517
|
551
|
/// 更新状态
|
|
518
|
552
|
/// </summary>
|
|
|
@@ -530,47 +564,58 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
530
|
564
|
|
|
531
|
565
|
#endregion
|
|
532
|
566
|
|
|
|
567
|
+ T_Bus_AfterSale modelAfterSale = await busAfterSaleRepository.GetSingle(q => q.F_Id == input.F_Id);
|
|
533
|
568
|
|
|
534
|
|
- T_Bus_Order modeOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == input.F_OrderId);
|
|
|
569
|
+ T_Bus_Order modeOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == modelAfterSale.F_OrderId);
|
|
535
|
570
|
if (modeOrder == null)
|
|
536
|
571
|
{
|
|
537
|
572
|
return Error("订单不存在");
|
|
538
|
573
|
}
|
|
539
|
|
- else if (modeOrder.F_Status == -1)
|
|
540
|
|
- {
|
|
541
|
|
- //物流状态0 未发出 1物流运送中2签收3改代收4拒收
|
|
542
|
|
- return Error("订单状态不符合售后");
|
|
543
|
|
- }
|
|
544
|
|
- T_Bus_AfterSale modelAfterSale = await busAfterSaleRepository.GetSingle(q => q.F_Id == input.F_Id);
|
|
545
|
|
- if (modelAfterSale.F_CheckStateKG == 1|| modelAfterSale.F_CheckStateKG == 2)
|
|
|
574
|
+
|
|
|
575
|
+ if (modelAfterSale.F_CheckStateKG == 1 || modelAfterSale.F_CheckStateKG == 2)
|
|
546
|
576
|
{
|
|
547
|
577
|
//1收到货(根据状态自动创建订单)2货物不符3未收到货
|
|
548
|
578
|
return Error("不能重复审核提交");
|
|
549
|
579
|
}
|
|
550
|
|
- modelAfterSale.F_CheckTimeKG = DateTime.Now;
|
|
551
|
580
|
modelAfterSale.F_CheckStateKG = input.F_State;
|
|
|
581
|
+
|
|
|
582
|
+ modelAfterSale.F_CheckTimeKG = DateTime.Now;
|
|
552
|
583
|
modelAfterSale.F_CheckUserKG = UserLogin.UserId.ObjToInt();
|
|
553
|
584
|
modelAfterSale.F_CheckUserNameKG = UserLogin.UserName;
|
|
554
|
|
-
|
|
555
|
585
|
modelAfterSale.F_CheckUserXS = modeOrder.F_AddUser;
|
|
|
586
|
+ List<T_Bus_OrderDetail> modelOldDetailList = new List<T_Bus_OrderDetail>();
|
|
556
|
587
|
|
|
557
|
|
- modelAfterSale.F_DetailList = input.F_DetailList;
|
|
558
|
|
- modelAfterSale.F_Type = input.F_Type;
|
|
559
|
|
- modelAfterSale.F_Money = input.F_Money;
|
|
|
588
|
+ //1收到货(根据状态自动创建订单)2货物不符3未收到货
|
|
|
589
|
+ if (modelAfterSale.F_CheckStateKG == 1)
|
|
|
590
|
+ {
|
|
|
591
|
+ #region 更新用户快递商品
|
|
|
592
|
+ if (string.IsNullOrEmpty(modelAfterSale.F_OldDetailList))
|
|
|
593
|
+ {
|
|
|
594
|
+ foreach (string product in modelAfterSale.F_DetailList.Split('|'))
|
|
|
595
|
+ {
|
|
|
596
|
+ string productid = product.Split(',')[0];
|
|
|
597
|
+
|
|
|
598
|
+ T_Bus_OrderDetail modelDetail = await bus_OrderDetailRepository.GetSingle(q => q.F_OrderId == modeOrder.F_Id && q.F_ProductId == productid);
|
|
|
599
|
+ if (modelDetail.F_State == 2)
|
|
|
600
|
+ {
|
|
|
601
|
+ return Error("此商品已参加过售后:" + modelDetail.F_ProductName);
|
|
|
602
|
+ }
|
|
|
603
|
+ modelDetail.F_State = 2;
|
|
|
604
|
+ modelOldDetailList.Add(modelDetail);
|
|
|
605
|
+ }
|
|
|
606
|
+ }
|
|
|
607
|
+ #endregion
|
|
|
608
|
+ if (modelAfterSale.F_Type == 4)
|
|
|
609
|
+ {
|
|
560
|
610
|
|
|
561
|
|
- modelAfterSale.F_OrderId = input.F_OrderId;
|
|
562
|
|
- modelAfterSale.F_AboutOrderId = "";
|
|
563
|
|
- modelAfterSale.F_Id = Guid.NewGuid().ToString().Replace("-", "");
|
|
564
|
|
-
|
|
565
|
|
- modelAfterSale.F_TrackingNo = input.F_TrackingNo;
|
|
566
|
|
- modelAfterSale.F_TrackDes = input.F_TrackDes;
|
|
567
|
|
- if (!string.IsNullOrEmpty(input.F_Remark))
|
|
568
|
|
- modelAfterSale.F_Remark = " 售后:" + input.F_Remark;
|
|
|
611
|
+ modelAfterSale.F_State = 1;
|
|
569
|
612
|
|
|
|
613
|
+ }
|
|
|
614
|
+ else if (modelAfterSale.F_Type == 2 || modelAfterSale.F_Type == 3)
|
|
|
615
|
+ {
|
|
570
|
616
|
|
|
571
|
|
- if (modelAfterSale.F_Type == 4)
|
|
572
|
|
- {
|
|
573
|
|
- if (modelAfterSale.F_CheckStateSH == 1)
|
|
|
617
|
+ }
|
|
|
618
|
+ else if (modelAfterSale.F_Type == 1)
|
|
574
|
619
|
{
|
|
575
|
620
|
modelAfterSale.F_AboutOrderId = "BJ" + UserLogin.UserId + "T" + DateTimeConvert.ToTimetag(DateTime.Now);
|
|
576
|
621
|
string addResult = await AddOrder(modelAfterSale, modeOrder);
|
|
|
@@ -578,8 +623,45 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
578
|
623
|
{
|
|
579
|
624
|
return Error("订单无法创建:" + addResult);
|
|
580
|
625
|
}
|
|
|
626
|
+ modelAfterSale.F_State = 1;
|
|
581
|
627
|
}
|
|
582
|
628
|
}
|
|
|
629
|
+ else if (modelAfterSale.F_CheckStateKG == 2)
|
|
|
630
|
+ {
|
|
|
631
|
+ //时间长自动作废
|
|
|
632
|
+ //如果没有对发货 货物不符则标记为无效
|
|
|
633
|
+ #region 更新用户快递商品
|
|
|
634
|
+ if (modelAfterSale.F_Type != 1)
|
|
|
635
|
+ {
|
|
|
636
|
+ if (string.IsNullOrEmpty(modelAfterSale.F_OldDetailList))
|
|
|
637
|
+ {
|
|
|
638
|
+ foreach (string product in modelAfterSale.F_DetailList.Split('|'))
|
|
|
639
|
+ {
|
|
|
640
|
+ string productid = product.Split(',')[0];
|
|
|
641
|
+
|
|
|
642
|
+ T_Bus_OrderDetail modelDetail = await bus_OrderDetailRepository.GetSingle(q => q.F_OrderId == modeOrder.F_Id && q.F_ProductId == productid);
|
|
|
643
|
+ if (modelDetail.F_State == 2)
|
|
|
644
|
+ {
|
|
|
645
|
+ return Error("此商品已参加过售后:" + modelDetail.F_ProductName);
|
|
|
646
|
+ }
|
|
|
647
|
+ modelDetail.F_State = 0;
|
|
|
648
|
+ modelOldDetailList.Add(modelDetail);
|
|
|
649
|
+ }
|
|
|
650
|
+ }
|
|
|
651
|
+ }
|
|
|
652
|
+ #endregion
|
|
|
653
|
+ }
|
|
|
654
|
+ else if (modelAfterSale.F_CheckStateKG == 3)
|
|
|
655
|
+ { //时间长自动作废
|
|
|
656
|
+ //如果没有对发货 未收到货则标记为无效
|
|
|
657
|
+ }
|
|
|
658
|
+
|
|
|
659
|
+ if (modelOldDetailList != null && modelOldDetailList.Count > 0)
|
|
|
660
|
+ {
|
|
|
661
|
+ //批量更新状态 为已售后
|
|
|
662
|
+ await bus_OrderDetailRepository.UpdateList(modelOldDetailList);
|
|
|
663
|
+ }
|
|
|
664
|
+
|
|
583
|
665
|
if (await busAfterSaleRepository.AddReturnCount(modelAfterSale))
|
|
584
|
666
|
{
|
|
585
|
667
|
if (input.F_CheckStateSH == 0)
|
|
|
@@ -780,6 +862,103 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
|
|
780
|
862
|
{ return ex.Message; }
|
|
781
|
863
|
}
|
|
782
|
864
|
|
|
|
865
|
+
|
|
|
866
|
+ /// <summary>
|
|
|
867
|
+ /// 获取未售后的订单详情
|
|
|
868
|
+ /// </summary>
|
|
|
869
|
+ /// <param name="input"></param>
|
|
|
870
|
+ /// <returns></returns>
|
|
|
871
|
+ [HttpPost("getorderdetail")]
|
|
|
872
|
+ public async Task<IActionResult> GetOrderDetail(string orderid)
|
|
|
873
|
+ {
|
|
|
874
|
+ if (string.IsNullOrEmpty(orderid))
|
|
|
875
|
+ return Error("请输入订单号");
|
|
|
876
|
+ T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == orderid);
|
|
|
877
|
+ OrderInput modelreturn = new OrderInput();
|
|
|
878
|
+ if (modelOrder != null)
|
|
|
879
|
+ {
|
|
|
880
|
+ modelreturn.F_ADFrom = modelOrder.F_ADFrom;
|
|
|
881
|
+ modelreturn.F_Type = modelOrder.F_Type;
|
|
|
882
|
+ modelreturn.F_Id = modelOrder.F_Id;
|
|
|
883
|
+
|
|
|
884
|
+ modelreturn.F_Customer = modelOrder.F_Customer;
|
|
|
885
|
+ modelreturn.F_CustomerPhone = modelOrder.F_CustomerPhone;
|
|
|
886
|
+ //选填 快递属性
|
|
|
887
|
+ modelreturn.F_TrackingNo = modelOrder.F_TrackingNo;
|
|
|
888
|
+ modelreturn.F_Addressee = modelOrder.F_Addressee;
|
|
|
889
|
+ modelreturn.F_AddPhone = modelOrder.F_AddPhone;
|
|
|
890
|
+ modelreturn.F_AddProvince = modelOrder.F_AddProvince;
|
|
|
891
|
+ modelreturn.F_AddCity = modelOrder.F_AddCity;
|
|
|
892
|
+ modelreturn.F_AddArea = modelOrder.F_AddArea;
|
|
|
893
|
+ modelreturn.F_AddTown = modelOrder.F_AddTown;
|
|
|
894
|
+ modelreturn.F_AddDes = modelOrder.F_AddDes;
|
|
|
895
|
+ modelreturn.F_Address = modelOrder.F_Address;
|
|
|
896
|
+ modelreturn.F_PostalCode = modelOrder.F_PostalCode;
|
|
|
897
|
+ modelreturn.F_Express = modelOrder.F_Express;
|
|
|
898
|
+
|
|
|
899
|
+ modelreturn.F_PayType = modelOrder.F_PayType;
|
|
|
900
|
+ modelreturn.F_PayState = modelOrder.F_PayState;
|
|
|
901
|
+ modelreturn.F_Stock = modelOrder.F_Stock;
|
|
|
902
|
+ modelreturn.F_Remark = modelOrder.F_Remark;
|
|
|
903
|
+
|
|
|
904
|
+ modelreturn.F_RealPrice = modelOrder.F_RealPrice;
|
|
|
905
|
+
|
|
|
906
|
+ //选填 关联属性
|
|
|
907
|
+ modelreturn.F_VipId = modelOrder.F_VipId;
|
|
|
908
|
+ modelreturn.F_UseScore = modelOrder.F_UseScore;
|
|
|
909
|
+ modelreturn.F_Score = modelOrder.F_Score;
|
|
|
910
|
+
|
|
|
911
|
+ modelreturn.F_State = modelOrder.F_State;
|
|
|
912
|
+ modelreturn.F_Status = modelOrder.F_Status;
|
|
|
913
|
+
|
|
|
914
|
+
|
|
|
915
|
+ //必须属性 系统生成
|
|
|
916
|
+ modelreturn.F_AddTime = modelOrder.F_AddTime;
|
|
|
917
|
+ modelreturn.F_AddUser = modelOrder.F_AddUser;
|
|
|
918
|
+ modelreturn.F_AddUserName = modelOrder.F_AddUserName;
|
|
|
919
|
+
|
|
|
920
|
+
|
|
|
921
|
+ modelreturn.F_TotlePrice = modelOrder.F_TotlePrice;
|
|
|
922
|
+ modelreturn.F_ShouldPrice = modelOrder.F_ShouldPrice;
|
|
|
923
|
+ modelreturn.F_ActivityMoney = modelOrder.F_ActivityMoney;
|
|
|
924
|
+ modelreturn.F_UseActivity = modelOrder.F_UseActivity;
|
|
|
925
|
+
|
|
|
926
|
+ List<OrderDetailInput> modeldetailreturn = new List<OrderDetailInput>();
|
|
|
927
|
+ List<T_Bus_OrderDetail> detaillist = await bus_OrderDetailRepository.GetListALL(q => q.F_OrderId == modelOrder.F_Id, o => o.F_Sort, OrderByType.Asc);
|
|
|
928
|
+ if (detaillist != null)
|
|
|
929
|
+ {
|
|
|
930
|
+ foreach (T_Bus_OrderDetail m in detaillist)
|
|
|
931
|
+ {
|
|
|
932
|
+ OrderDetailInput model = new OrderDetailInput();
|
|
|
933
|
+ model.F_ProductName = m.F_ProductName;
|
|
|
934
|
+ model.F_ProductId = m.F_ProductId;
|
|
|
935
|
+ model.F_Id = m.F_Id;
|
|
|
936
|
+ model.F_OrderId = m.F_OrderId;
|
|
|
937
|
+ model.F_Count = m.F_Count;
|
|
|
938
|
+ model.F_Price = m.F_Price;
|
|
|
939
|
+
|
|
|
940
|
+ model.F_DealPrice = m.F_DealPrice;
|
|
|
941
|
+ model.F_Sort = m.F_Sort;
|
|
|
942
|
+ model.F_AddTime = m.F_AddTime;
|
|
|
943
|
+ model.F_Remark = m.F_Remark;
|
|
|
944
|
+ model.F_AddUser = m.F_AddUser;
|
|
|
945
|
+ model.F_AddUserName = m.F_ProductName;
|
|
|
946
|
+ model.F_TotlePrice = m.F_TotlePrice;
|
|
|
947
|
+ model.F_Activity = m.F_Activity;
|
|
|
948
|
+ modeldetailreturn.Add(model);
|
|
|
949
|
+ }
|
|
|
950
|
+ }
|
|
|
951
|
+ modelreturn.OrderDetailList = modeldetailreturn;
|
|
|
952
|
+
|
|
|
953
|
+ modelreturn.UseActList = null;
|
|
|
954
|
+
|
|
|
955
|
+ }
|
|
|
956
|
+
|
|
|
957
|
+
|
|
|
958
|
+ return Success("成功", modelreturn);
|
|
|
959
|
+
|
|
|
960
|
+
|
|
|
961
|
+ }
|
|
783
|
962
|
#endregion
|
|
784
|
963
|
|
|
785
|
964
|
|