diff --git a/api/controller/OrderSingle.go b/api/controller/OrderSingle.go index 644ba49..3ccf670 100644 --- a/api/controller/OrderSingle.go +++ b/api/controller/OrderSingle.go @@ -10,6 +10,7 @@ import ( "hepa-calc-admin-api/global" "hepa-calc-admin-api/utils" "strconv" + "time" ) type OrderSingle struct{} @@ -51,10 +52,19 @@ func (b *OrderSingle) GetOrderSinglePage(c *gin.Context) { // 处理返回值 g := dto.GetOrderSingleListDto(orderSingles) - for _, singleDto := range g { + for _, d := range g { + d.LoadValidDate(d.ValidDate) + // 计算有效期 - if singleDto.IsMember == 1 { - singleDto.LoadValidDate(singleDto.MemberExpireDate) + if d.IsMember == 1 { + if d.ValidDate != nil { + validDate := time.Time(*d.ValidDate) + memberExpireDate := time.Time(*d.MemberExpireDate) + diffTime := memberExpireDate.Sub(validDate) + if diffTime > 0 { + d.LoadValidDate(d.MemberExpireDate) + } + } } }