wkyuer 1 month ago
parent
commit
4fedc1a7eb
1 changed files with 37 additions and 8 deletions
  1. 37 8
      internal/logic/product/common.go

+ 37 - 8
internal/logic/product/common.go

@@ -22,7 +22,7 @@ func GetLinkVipCycleFilter(ctx context.Context, linkOrderDetailId int64) (filter
 	var (
 		re gdb.Record
 	)
-	re, err = g.DB().GetOne(ctx, "SELECT filter,product_code,service_starttime,service_endtime FROM jy_order_detail WHERE id =? and status =1", linkOrderDetailId)
+	re, err = g.DB().GetOne(ctx, "SELECT jod.id,jod.filter,jod.product_code,jod.service_starttime,jod.service_endtime,do.user_id,do.buy_subject FROM jy_order_detail jod inner join dataexport_order do on(jod.order_code =do.order_code ) WHERE jod.id =? and jod.status =1", linkOrderDetailId)
 	if err != nil {
 		return
 	}
@@ -37,15 +37,44 @@ func GetLinkVipCycleFilter(ctx context.Context, linkOrderDetailId int64) (filter
 	if err = gconv.Struct(dMap["filter"], &ttt); err != nil {
 		return
 	}
+	var (
+		user_id         = gconv.String(dMap["user_id"])
+		buy_subject     = gconv.Int64(dMap["buy_subject"])
+		order_detail_id = gconv.Int64(dMap["id"])
+	)
 	filter = &ttt
 	productCode = gconv.String(dMap["product_code"])
-	st, err = time.Parse("2006-01-02 15:04:05", gconv.String(dMap["service_starttime"]))
-	if err != nil {
-		return
-	}
-	et, err = time.Parse("2006-01-02 15:04:05", gconv.String(dMap["service_endtime"]))
-	if err != nil {
-		return
+
+	if buy_subject == 1 {
+		uMap := jyutil.Compatible.Select(user_id, `{"i_vip_status":1,"i_member_status":1,"s_m_phone":1,"s_phone":1,"l_vip_starttime":1}`)
+		if uMap != nil && len(*uMap) > 0 {
+			var (
+				l_vip_starttime = gconv.Int64((*uMap)["l_vip_starttime"])
+				l_vip_endtime   = gconv.Int64((*uMap)["l_vip_endtime"])
+			)
+			st = time.Unix(l_vip_starttime, 0)
+			et = time.Unix(l_vip_endtime, 0)
+		}
+	} else {
+		re, err = g.DB().GetOne(ctx, "SELECT ewe.start_time,ewe.end_time FROM entniche_order eo inner join entniche_wait_empower ewe on (eo.wait_empower_id =ewe.id) WHERE eo.order_detail_id =?", order_detail_id)
+		if err != nil {
+			err = gerror.Wrapf(err, "获取企业版服务时间异常")
+			return
+		}
+		var (
+			start_time = gconv.String(re.Map()["start_time"])
+			end_time   = gconv.String(re.Map()["end_time"])
+		)
+		st, err = time.ParseInLocation(time.DateTime, start_time, time.Local)
+		if err != nil {
+			err = gerror.Wrapf(err, "时间格式化异常")
+			return
+		}
+		et, err = time.ParseInLocation(time.DateTime, end_time, time.Local)
+		if err != nil {
+			err = gerror.Wrapf(err, "时间格式化异常")
+			return
+		}
 	}
 	return
 }