|
@@ -211,25 +211,49 @@ func (this *OrderController) ProductOrderList() {
|
|
|
return
|
|
|
}
|
|
|
var ListView []*models.ProductOrderView
|
|
|
- for _, order := range List {
|
|
|
- view := &models.ProductOrderView{
|
|
|
- OrderID: order.OrderID,
|
|
|
- RealName: order.RealName,
|
|
|
- Mobile: fmt.Sprintf("+%s %s", order.AreaCode, order.Mobile),
|
|
|
- ProductType: ProductTypeMap[order.ProductType],
|
|
|
- ProductName: order.ProductName,
|
|
|
- TotalAmount: order.TotalAmount,
|
|
|
- TradeNO: order.TradeNO,
|
|
|
- RefundAmount: order.RefundAmount,
|
|
|
- PaymentWay: PaymentWayMap[order.PaymentWay],
|
|
|
- PaymentTime: order.PaymentTime.Format(time.DateTime),
|
|
|
- Status: ProductOrderStatus[order.Status],
|
|
|
- RefundStatus: RefundStatusMap[order.RefundStatus],
|
|
|
- RefundFinishTime: order.RefundFinishTime.Format(time.DateTime),
|
|
|
- Remark: order.Remark,
|
|
|
- CreatedTime: order.CreatedTime.Format(time.DateTime),
|
|
|
- }
|
|
|
- ListView = append(ListView, view)
|
|
|
+ var wg sync.WaitGroup
|
|
|
+ wg.Add(len(List))
|
|
|
+ for _, orderItem := range List {
|
|
|
+ go func(orderItem *models.ProductOrder) {
|
|
|
+ defer wg.Done()
|
|
|
+ view := &models.ProductOrderView{
|
|
|
+ OrderID: orderItem.OrderID,
|
|
|
+ RealName: orderItem.RealName,
|
|
|
+ Mobile: fmt.Sprintf("+%s %s", orderItem.AreaCode, orderItem.Mobile),
|
|
|
+ ProductType: ProductTypeMap[orderItem.ProductType],
|
|
|
+ ProductName: orderItem.ProductName,
|
|
|
+ TotalAmount: orderItem.TotalAmount,
|
|
|
+ TradeNO: orderItem.TradeNO,
|
|
|
+ RefundAmount: orderItem.RefundAmount,
|
|
|
+ PaymentWay: PaymentWayMap[orderItem.PaymentWay],
|
|
|
+ PaymentTime: orderItem.PaymentTime.Format(time.DateTime),
|
|
|
+ Status: ProductOrderStatus[orderItem.Status],
|
|
|
+ RefundStatus: RefundStatusMap[orderItem.RefundStatus],
|
|
|
+ RefundFinishTime: orderItem.RefundFinishTime.Format(time.DateTime),
|
|
|
+ Remark: orderItem.Remark,
|
|
|
+ CreatedTime: orderItem.CreatedTime.Format(time.DateTime),
|
|
|
+ }
|
|
|
+ if orderItem.TradeNO != "" {
|
|
|
+ tradeOrder, tradeErr := models.GetTradeOrderByNo(orderItem.TradeNO)
|
|
|
+ if tradeErr != nil {
|
|
|
+ utils.FileLog.Error("获取支付订单失败,支付订单号:" + orderItem.TradeNO + ",err:" + tradeErr.Error())
|
|
|
+ } else {
|
|
|
+ view.PaymentAmount = tradeOrder.Amount
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if orderItem.Status == models.OrderStatusPaid {
|
|
|
+ access, accessErr := models.GetAccess(orderItem.ProductID, orderItem.TemplateUserID)
|
|
|
+ if accessErr != nil {
|
|
|
+ utils.FileLog.Error("获取用户订阅记录失败,templateUserId:" + string(orderItem.TemplateUserID) + "productId:" + string(orderItem.ProductID) + ",err:" + accessErr.Error())
|
|
|
+ }
|
|
|
+ if access.ProductType == models.ProductPackage {
|
|
|
+ view.ValidDuration = fmt.Sprintf("%s~%s", access.BeginDate.Format(time.DateOnly), access.EndDate.Format(time.DateOnly))
|
|
|
+ } else {
|
|
|
+ view.ValidDuration = "永久有效"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ListView = append(ListView, view)
|
|
|
+ }(orderItem)
|
|
|
}
|
|
|
page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
resp := new(response.ProductOrderListResp)
|