|
@@ -11,6 +11,7 @@ import ( |
|
@@ -11,6 +11,7 @@ import ( |
11
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service"
|
11
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service"
|
12
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/dao"
|
12
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/dao"
|
13
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/utils"
|
13
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/utils"
|
|
|
14
|
+ "strconv"
|
14
|
"time"
|
15
|
"time"
|
15
|
)
|
16
|
)
|
16
|
|
17
|
|
|
@@ -543,6 +544,8 @@ func (dividendsReturnedOrderService *DividendsReturnedOrderService) UpdateDivide |
|
@@ -543,6 +544,8 @@ func (dividendsReturnedOrderService *DividendsReturnedOrderService) UpdateDivide |
543
|
defer func() {
|
544
|
defer func() {
|
544
|
_ = transactionContext.RollbackTransaction()
|
545
|
_ = transactionContext.RollbackTransaction()
|
545
|
}()
|
546
|
}()
|
|
|
547
|
+
|
|
|
548
|
+ // 分红退货单仓储初始化
|
546
|
var dividendsReturnedOrderRepository domain.DividendsReturnedOrderRepository
|
549
|
var dividendsReturnedOrderRepository domain.DividendsReturnedOrderRepository
|
547
|
if value, err := factory.CreateDividendsReturnedOrderRepository(map[string]interface{}{
|
550
|
if value, err := factory.CreateDividendsReturnedOrderRepository(map[string]interface{}{
|
548
|
"transactionContext": transactionContext,
|
551
|
"transactionContext": transactionContext,
|
|
@@ -551,6 +554,15 @@ func (dividendsReturnedOrderService *DividendsReturnedOrderService) UpdateDivide |
|
@@ -551,6 +554,15 @@ func (dividendsReturnedOrderService *DividendsReturnedOrderService) UpdateDivide |
551
|
} else {
|
554
|
} else {
|
552
|
dividendsReturnedOrderRepository = value
|
555
|
dividendsReturnedOrderRepository = value
|
553
|
}
|
556
|
}
|
|
|
557
|
+
|
|
|
558
|
+ // 退货单时间转换
|
|
|
559
|
+ dividendsReturnedDateInt, err := strconv.ParseInt(updateDividendsReturnedOrderCommand.DividendsReturnedDate, 10, 64)
|
|
|
560
|
+ if err != nil {
|
|
|
561
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "订单时间错误")
|
|
|
562
|
+ }
|
|
|
563
|
+ dividendsReturnedDate := utils.TransformTimestampToTime(dividendsReturnedDateInt)
|
|
|
564
|
+
|
|
|
565
|
+ // 获取分红退货单
|
554
|
dividendsReturnedOrder, err := dividendsReturnedOrderRepository.FindOne(map[string]interface{}{"dividendsReturnedOrderId": updateDividendsReturnedOrderCommand.DividendsReturnedOrderId})
|
566
|
dividendsReturnedOrder, err := dividendsReturnedOrderRepository.FindOne(map[string]interface{}{"dividendsReturnedOrderId": updateDividendsReturnedOrderCommand.DividendsReturnedOrderId})
|
555
|
if err != nil {
|
567
|
if err != nil {
|
556
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
568
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
@@ -558,16 +570,51 @@ func (dividendsReturnedOrderService *DividendsReturnedOrderService) UpdateDivide |
|
@@ -558,16 +570,51 @@ func (dividendsReturnedOrderService *DividendsReturnedOrderService) UpdateDivide |
558
|
if dividendsReturnedOrder == nil {
|
570
|
if dividendsReturnedOrder == nil {
|
559
|
return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateDividendsReturnedOrderCommand.DividendsReturnedOrderId)))
|
571
|
return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateDividendsReturnedOrderCommand.DividendsReturnedOrderId)))
|
560
|
}
|
572
|
}
|
|
|
573
|
+
|
|
|
574
|
+ // 获取订单产品
|
|
|
575
|
+ var orderGoods []*domain.OrderGood
|
|
|
576
|
+ var dividendsReturnedOrderAmount float64
|
|
|
577
|
+ for _, orderGood := range updateDividendsReturnedOrderCommand.OrderGoods {
|
|
|
578
|
+ // 产品ID类型转换
|
|
|
579
|
+ orderGoodId, err3 := strconv.ParseInt(orderGood.OrderGoodId, 10, 64)
|
|
|
580
|
+ if err3 != nil {
|
|
|
581
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err3.Error())
|
|
|
582
|
+ }
|
|
|
583
|
+ orderGoods = append(orderGoods, &domain.OrderGood{
|
|
|
584
|
+ OrderGoodId: orderGoodId,
|
|
|
585
|
+ OrderGoodAmount: orderGood.OrderGoodAmount,
|
|
|
586
|
+ OrderGoodName: orderGood.OrderGoodName,
|
|
|
587
|
+ OrderGoodPrice: orderGood.OrderGoodPrice,
|
|
|
588
|
+ OrderGoodQuantity: orderGood.OrderGoodQuantity,
|
|
|
589
|
+ DividendsOrderNumber: "",
|
|
|
590
|
+ DividendsReturnedOrderNumber: dividendsReturnedOrder.DividendsReturnedOrderNumber,
|
|
|
591
|
+ CooperationContractNumber: orderGood.CooperationContractNumber,
|
|
|
592
|
+ OrderGoodExpense: orderGood.OrderGoodExpense,
|
|
|
593
|
+ OrgId: updateDividendsReturnedOrderCommand.OrgId,
|
|
|
594
|
+ CompanyId: updateDividendsReturnedOrderCommand.CompanyId,
|
|
|
595
|
+ CreatedAt: time.Time{},
|
|
|
596
|
+ UpdatedAt: time.Now(),
|
|
|
597
|
+ })
|
|
|
598
|
+ // 计算分红退货单金额
|
|
|
599
|
+ dividendsReturnedOrderAmount = dividendsReturnedOrderAmount + orderGood.OrderGoodAmount
|
|
|
600
|
+ }
|
|
|
601
|
+
|
561
|
if err := dividendsReturnedOrder.Update(tool_funs.SimpleStructToMap(updateDividendsReturnedOrderCommand)); err != nil {
|
602
|
if err := dividendsReturnedOrder.Update(tool_funs.SimpleStructToMap(updateDividendsReturnedOrderCommand)); err != nil {
|
562
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
603
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
563
|
}
|
604
|
}
|
564
|
- if dividendsReturnedOrder, err := dividendsReturnedOrderRepository.Save(dividendsReturnedOrder); err != nil {
|
605
|
+
|
|
|
606
|
+ dividendsReturnedOrder.DividendsReturnedDate = dividendsReturnedDate
|
|
|
607
|
+ dividendsReturnedOrder.DividendsReturnedOrderRefund = dividendsReturnedOrderAmount
|
|
|
608
|
+ dividendsReturnedOrder.Goods = orderGoods
|
|
|
609
|
+
|
|
|
610
|
+ // 保存分红退货单更新
|
|
|
611
|
+ if dividendsReturnedOrderSaved, err := dividendsReturnedOrderRepository.Save(dividendsReturnedOrder); err != nil {
|
565
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
612
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
566
|
} else {
|
613
|
} else {
|
567
|
if err := transactionContext.CommitTransaction(); err != nil {
|
614
|
if err := transactionContext.CommitTransaction(); err != nil {
|
568
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
615
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
569
|
}
|
616
|
}
|
570
|
- return dividendsReturnedOrder, nil
|
617
|
+ return dividendsReturnedOrderSaved, nil
|
571
|
}
|
618
|
}
|
572
|
}
|
619
|
}
|
573
|
|
620
|
|