36 lines
		
	
	
		
			748 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			748 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | package handler | ||
|  | 
 | ||
|  | import ( | ||
|  | 	"net/http" | ||
|  | 	"reflect" | ||
|  | 
 | ||
|  | 	"fusenapi/utils/basic" | ||
|  | 
 | ||
|  | 	"fusenapi/server/pay/internal/logic" | ||
|  | 	"fusenapi/server/pay/internal/svc" | ||
|  | 	"fusenapi/server/pay/internal/types" | ||
|  | ) | ||
|  | 
 | ||
|  | func OrderPaymentIntentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
|  | 	return func(w http.ResponseWriter, r *http.Request) { | ||
|  | 
 | ||
|  | 		var req types.OrderPaymentIntentReq | ||
|  | 		userinfo, err := basic.RequestParse(w, r, svcCtx, &req) | ||
|  | 		if err != nil { | ||
|  | 			return | ||
|  | 		} | ||
|  | 
 | ||
|  | 		// 创建一个业务逻辑层实例 | ||
|  | 		l := logic.NewOrderPaymentIntentLogic(r.Context(), svcCtx) | ||
|  | 
 | ||
|  | 		rl := reflect.ValueOf(l) | ||
|  | 		basic.BeforeLogic(w, r, rl) | ||
|  | 
 | ||
|  | 		resp := l.OrderPaymentIntent(&req, userinfo) | ||
|  | 
 | ||
|  | 		if !basic.AfterLogic(w, r, rl, resp) { | ||
|  | 			basic.NormalAfterLogic(w, r, resp) | ||
|  | 		} | ||
|  | 	} | ||
|  | } |