ソースを参照

增加系统配置接口

kobe6258 4 ヶ月 前
コミット
0ab289fdaa
1 ファイル変更120 行追加147 行削除
  1. 120 147
      controllers/order.go

+ 120 - 147
controllers/order.go

@@ -15,7 +15,6 @@ import (
 	"net/url"
 	"strconv"
 	"strings"
-	"sync"
 	"time"
 )
 
@@ -218,56 +217,50 @@ func (this *OrderController) ProductOrderList() {
 		return
 	}
 	var ListView []*models.ProductOrderView
-	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:   fmt.Sprintf("¥%s", orderItem.TotalAmount),
-				TradeNO:       orderItem.TradeNo,
-				RefundAmount:  orderItem.RefundAmount,
-				RefundTradeId: orderItem.RefundTradeId,
-				PaymentWay:    PaymentWayMap[orderItem.PaymentWay],
-				PaymentTime:   orderItem.PaymentTime.Format(time.DateTime),
-				Status:        ProductOrderStatus[orderItem.Status],
-				RefundStatus:  RefundStatusMap[orderItem.RefundStatus],
-				Remark:        orderItem.Remark,
-				CreatedTime:   orderItem.CreatedTime.Format(time.DateTime),
-			}
-			if orderItem.TradeNo != "" {
-				view.PaymentTime = orderItem.PaymentTime.Format(time.DateTime)
-				tradeOrder, tradeErr := models.GetTradeOrderByNo(orderItem.TradeNo)
-				if tradeErr != nil {
-					utils.FileLog.Error("获取支付订单失败,支付订单号:" + orderItem.TradeNo + ",err:" + tradeErr.Error())
-				} else {
-					view.PaymentAmount = fmt.Sprintf("¥%s", tradeOrder.Amount)
-				}
+		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:   fmt.Sprintf("¥%s", orderItem.TotalAmount),
+			TradeNO:       orderItem.TradeNo,
+			RefundAmount:  orderItem.RefundAmount,
+			RefundTradeId: orderItem.RefundTradeId,
+			PaymentWay:    PaymentWayMap[orderItem.PaymentWay],
+			PaymentTime:   orderItem.PaymentTime.Format(time.DateTime),
+			Status:        ProductOrderStatus[orderItem.Status],
+			RefundStatus:  RefundStatusMap[orderItem.RefundStatus],
+			Remark:        orderItem.Remark,
+			CreatedTime:   orderItem.CreatedTime.Format(time.DateTime),
+		}
+		if orderItem.TradeNo != "" {
+			view.PaymentTime = orderItem.PaymentTime.Format(time.DateTime)
+			tradeOrder, tradeErr := models.GetTradeOrderByNo(orderItem.TradeNo)
+			if tradeErr != nil {
+				utils.FileLog.Error("获取支付订单失败,支付订单号:" + orderItem.TradeNo + ",err:" + tradeErr.Error())
+			} else {
+				view.PaymentAmount = fmt.Sprintf("¥%s", tradeOrder.Amount)
 			}
-			if orderItem.Status == models.OrderStatusPaid {
-				access, accessErr := models.GetAccess(orderItem.ProductId, orderItem.TemplateUserId)
-				if accessErr != nil {
-					utils.FileLog.Error("获取用户订阅记录失败,templateUserId:" + string(rune(orderItem.TemplateUserId)) + "productId:" + string(rune(orderItem.ProductId)) + ",err:" + accessErr.Error())
+		}
+		if orderItem.Status == models.OrderStatusPaid {
+			access, accessErr := models.GetAccess(orderItem.ProductId, orderItem.TemplateUserId)
+			if accessErr != nil {
+				utils.FileLog.Error("获取用户订阅记录失败,templateUserId:" + string(rune(orderItem.TemplateUserId)) + "productId:" + string(rune(orderItem.ProductId)) + ",err:" + accessErr.Error())
+			} else {
+				if access.ProductType == models.ProductPackage {
+					view.ValidDuration = fmt.Sprintf("%s~%s", access.BeginDate.Format(time.DateOnly), access.EndDate.Format(time.DateOnly))
 				} else {
-					if access.ProductType == models.ProductPackage {
-						view.ValidDuration = fmt.Sprintf("%s~%s", access.BeginDate.Format(time.DateOnly), access.EndDate.Format(time.DateOnly))
-					} else {
-						view.ValidDuration = "永久有效"
-					}
+					view.ValidDuration = "永久有效"
 				}
 			}
-			if orderItem.Status == models.OrderStatusRefund && orderItem.RefundStatus == models.RefundStatusSuccess {
-				view.RefundFinishTime = orderItem.RefundFinishTime.Format(time.DateTime)
-			}
-			ListView = append(ListView, view)
-		}(orderItem)
+		}
+		if orderItem.Status == models.OrderStatusRefund && orderItem.RefundStatus == models.RefundStatusSuccess {
+			view.RefundFinishTime = orderItem.RefundFinishTime.Format(time.DateTime)
+		}
+		ListView = append(ListView, view)
 	}
-	wg.Wait()
 	page := paging.GetPaging(currentIndex, pageSize, total)
 	resp := new(response.ProductOrderListResp)
 	resp.List = ListView
@@ -362,37 +355,31 @@ func (this *OrderController) TradeOrderList() {
 		return
 	}
 	var ListView []*models.TradeOrderView
-	var wg sync.WaitGroup
-	wg.Add(len(List))
 	for i := 0; i < len(List); i++ {
-		go func(order *models.TradeOrder) {
-			defer wg.Done()
-			view := &models.TradeOrderView{
-				RealName:       order.RealName,
-				Mobile:         fmt.Sprintf("+%s %s", order.AreaCode, order.Mobile),
-				ProductName:    order.ProductName,
-				Amount:         fmt.Sprintf("¥%s", order.Amount),
-				TransactionID:  order.TransactionId,
-				ProductOrderID: order.ProductOrderId,
-				PaymentWay:     PaymentWayMap[order.PaymentWay],
-				PaymentAccount: order.PaymentAccount,
-				MerchantID:     order.MerchantId,
-
-				CreatedTime: order.CreatedTime.Format(time.DateTime),
-			}
-			if order.PaymentStatus == models.PaymentStatusDone {
-				view.DealTime = order.DealTime.Format(time.DateTime)
-			}
-			if IsRefund {
-				view.PaymentStatus = RefundOrderStatus[order.PaymentStatus]
-			} else {
-				view.PaymentStatus = TradeOrderStatus[order.PaymentStatus]
-			}
-			ListView = append(ListView, view)
-		}(List[i])
+		order := List[i]
+		view := &models.TradeOrderView{
+			RealName:       order.RealName,
+			Mobile:         fmt.Sprintf("+%s %s", order.AreaCode, order.Mobile),
+			ProductName:    order.ProductName,
+			Amount:         fmt.Sprintf("¥%s", order.Amount),
+			TransactionID:  order.TransactionId,
+			ProductOrderID: order.ProductOrderId,
+			PaymentWay:     PaymentWayMap[order.PaymentWay],
+			PaymentAccount: order.PaymentAccount,
+			MerchantID:     order.MerchantId,
 
+			CreatedTime: order.CreatedTime.Format(time.DateTime),
+		}
+		if order.PaymentStatus == models.PaymentStatusDone {
+			view.DealTime = order.DealTime.Format(time.DateTime)
+		}
+		if IsRefund {
+			view.PaymentStatus = RefundOrderStatus[order.PaymentStatus]
+		} else {
+			view.PaymentStatus = TradeOrderStatus[order.PaymentStatus]
+		}
+		ListView = append(ListView, view)
 	}
-	wg.Wait()
 	page := paging.GetPaging(currentIndex, pageSize, total)
 	resp := new(response.TradeOrderListResp)
 	resp.List = ListView
@@ -506,58 +493,50 @@ func (this *OrderController) ExportProductOrder() {
 		return
 	}
 	var ListView []models.ProductOrderView
-	var wg sync.WaitGroup
-	wg.Add(len(List))
 	for _, orderItem := range List {
-		go func(orderItem *models.ProductOrder) {
-			defer func() {
-				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:   fmt.Sprintf("¥%s", orderItem.TotalAmount),
-				TradeNO:       orderItem.TradeNo,
-				RefundAmount:  orderItem.RefundAmount,
-				RefundTradeId: orderItem.RefundTradeId,
-				PaymentWay:    PaymentWayMap[orderItem.PaymentWay],
-				PaymentTime:   orderItem.PaymentTime.Format(time.DateTime),
-				Status:        ProductOrderStatus[orderItem.Status],
-				RefundStatus:  RefundStatusMap[orderItem.RefundStatus],
-				Remark:        orderItem.Remark,
-				CreatedTime:   orderItem.CreatedTime.Format(time.DateTime),
-			}
-			if orderItem.TradeNo != "" {
-				view.PaymentTime = orderItem.PaymentTime.Format(time.DateTime)
-				tradeOrder, tradeErr := models.GetTradeOrderByNo(orderItem.TradeNo)
-				if tradeErr != nil {
-					utils.FileLog.Error("获取支付订单失败,支付订单号:" + orderItem.TradeNo + ",err:" + tradeErr.Error())
-				} else {
-					view.PaymentAmount = fmt.Sprintf("¥%s", tradeOrder.Amount)
-				}
+		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:   fmt.Sprintf("¥%s", orderItem.TotalAmount),
+			TradeNO:       orderItem.TradeNo,
+			RefundAmount:  orderItem.RefundAmount,
+			RefundTradeId: orderItem.RefundTradeId,
+			PaymentWay:    PaymentWayMap[orderItem.PaymentWay],
+			PaymentTime:   orderItem.PaymentTime.Format(time.DateTime),
+			Status:        ProductOrderStatus[orderItem.Status],
+			RefundStatus:  RefundStatusMap[orderItem.RefundStatus],
+			Remark:        orderItem.Remark,
+			CreatedTime:   orderItem.CreatedTime.Format(time.DateTime),
+		}
+		if orderItem.TradeNo != "" {
+			view.PaymentTime = orderItem.PaymentTime.Format(time.DateTime)
+			tradeOrder, tradeErr := models.GetTradeOrderByNo(orderItem.TradeNo)
+			if tradeErr != nil {
+				utils.FileLog.Error("获取支付订单失败,支付订单号:" + orderItem.TradeNo + ",err:" + tradeErr.Error())
+			} else {
+				view.PaymentAmount = fmt.Sprintf("¥%s", tradeOrder.Amount)
 			}
-			if orderItem.Status == models.OrderStatusPaid {
-				access, accessErr := models.GetAccess(orderItem.ProductId, orderItem.TemplateUserId)
-				if accessErr != nil {
-					utils.FileLog.Error("获取用户订阅记录失败,templateUserId:" + string(rune(orderItem.TemplateUserId)) + "productId:" + string(rune(orderItem.ProductId)) + ",err:" + accessErr.Error())
+		}
+		if orderItem.Status == models.OrderStatusPaid {
+			access, accessErr := models.GetAccess(orderItem.ProductId, orderItem.TemplateUserId)
+			if accessErr != nil {
+				utils.FileLog.Error("获取用户订阅记录失败,templateUserId:" + string(rune(orderItem.TemplateUserId)) + "productId:" + string(rune(orderItem.ProductId)) + ",err:" + accessErr.Error())
+			} else {
+				if access.ProductType == models.ProductPackage {
+					view.ValidDuration = fmt.Sprintf("%s~%s", access.BeginDate.Format(time.DateOnly), access.EndDate.Format(time.DateOnly))
 				} else {
-					if access.ProductType == models.ProductPackage {
-						view.ValidDuration = fmt.Sprintf("%s~%s", access.BeginDate.Format(time.DateOnly), access.EndDate.Format(time.DateOnly))
-					} else {
-						view.ValidDuration = "永久有效"
-					}
+					view.ValidDuration = "永久有效"
 				}
 			}
-			if orderItem.Status == models.OrderStatusRefund && orderItem.RefundStatus == models.RefundStatusSuccess {
-				view.RefundFinishTime = orderItem.RefundFinishTime.Format(time.DateTime)
-			}
-			ListView = append(ListView, view)
-		}(orderItem)
+		}
+		if orderItem.Status == models.OrderStatusRefund && orderItem.RefundStatus == models.RefundStatusSuccess {
+			view.RefundFinishTime = orderItem.RefundFinishTime.Format(time.DateTime)
+		}
+		ListView = append(ListView, view)
 	}
-	wg.Wait()
 	year, month, day := time.Now().Date()
 	yearStr := strconv.Itoa(year)[2:]
 	fileName := fmt.Sprintf("商品订单%s.%d.%d.xlsx", yearStr, month, day)
@@ -644,36 +623,30 @@ func (this *OrderController) ExportTradeOrder() {
 		return
 	}
 	var ListView []models.TradeOrderView
-	var wg sync.WaitGroup
-	wg.Add(len(List))
 	for i := 0; i < len(List); i++ {
-		go func(order *models.TradeOrder) {
-			defer wg.Done()
-			view := models.TradeOrderView{
-				RealName:       order.RealName,
-				Mobile:         fmt.Sprintf("+%s %s", order.AreaCode, order.Mobile),
-				ProductName:    order.ProductName,
-				Amount:         fmt.Sprintf("¥%s", order.Amount),
-				TransactionID:  order.TransactionId,
-				ProductOrderID: order.ProductOrderId,
-				PaymentWay:     PaymentWayMap[order.PaymentWay],
-				PaymentAccount: order.PaymentAccount,
-				MerchantID:     order.MerchantId,
-				CreatedTime:    order.CreatedTime.Format(time.DateTime),
-			}
-			if order.PaymentStatus == models.PaymentStatusDone {
-				view.DealTime = order.DealTime.Format(time.DateTime)
-			}
-			if IsRefund {
-				view.PaymentStatus = RefundOrderStatus[order.PaymentStatus]
-			} else {
-				view.PaymentStatus = TradeOrderStatus[order.PaymentStatus]
-			}
-			ListView = append(ListView, view)
-		}(List[i])
-
+		order := List[i]
+		view := models.TradeOrderView{
+			RealName:       order.RealName,
+			Mobile:         fmt.Sprintf("+%s %s", order.AreaCode, order.Mobile),
+			ProductName:    order.ProductName,
+			Amount:         fmt.Sprintf("¥%s", order.Amount),
+			TransactionID:  order.TransactionId,
+			ProductOrderID: order.ProductOrderId,
+			PaymentWay:     PaymentWayMap[order.PaymentWay],
+			PaymentAccount: order.PaymentAccount,
+			MerchantID:     order.MerchantId,
+			CreatedTime:    order.CreatedTime.Format(time.DateTime),
+		}
+		if order.PaymentStatus == models.PaymentStatusDone {
+			view.DealTime = order.DealTime.Format(time.DateTime)
+		}
+		if IsRefund {
+			view.PaymentStatus = RefundOrderStatus[order.PaymentStatus]
+		} else {
+			view.PaymentStatus = TradeOrderStatus[order.PaymentStatus]
+		}
+		ListView = append(ListView, view)
 	}
-	wg.Wait()
 	year, month, day := time.Now().Date()
 	yearStr := strconv.Itoa(year)[2:]
 	if IsRefund {