add order id during create donat payment
This commit is contained in:
parent
5b5ff68da2
commit
f56937c9a3
@ -21,7 +21,7 @@ import (
|
||||
// @Produce json
|
||||
// @Param streamer-login path string true "Login стримера"
|
||||
// @Param request body model.CreateDonatBody true "Create donat body json"
|
||||
// @Success 200 {object} api.CreatePaymentResponse "Donat page updated successfully"
|
||||
// @Success 200 {object} model.CreateDonatResponse "Donat page updated successfully"
|
||||
// @Failure 400 {object} echo.HTTPError "Bad request"
|
||||
// @Failure 401 {object} echo.HTTPError "Unauthorized or expired token"
|
||||
// @Failure 422 {object} echo.HTTPError "Validation error"
|
||||
|
@ -459,7 +459,7 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "Donat page updated successfully",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/donat-widget_internal_model_api.CreatePaymentResponse"
|
||||
"$ref": "#/definitions/donat-widget_internal_model.CreateDonatResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
@ -1521,6 +1521,17 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"donat-widget_internal_model.CreateDonatResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"order_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"payment_url": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"donat-widget_internal_model.CreateWidgetBody": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
@ -2249,14 +2260,6 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"donat-widget_internal_model_api.CreatePaymentResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"payment_url": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"echo.HTTPError": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -452,7 +452,7 @@
|
||||
"200": {
|
||||
"description": "Donat page updated successfully",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/donat-widget_internal_model_api.CreatePaymentResponse"
|
||||
"$ref": "#/definitions/donat-widget_internal_model.CreateDonatResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
@ -1514,6 +1514,17 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"donat-widget_internal_model.CreateDonatResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"order_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"payment_url": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"donat-widget_internal_model.CreateWidgetBody": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
@ -2242,14 +2253,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"donat-widget_internal_model_api.CreatePaymentResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"payment_url": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"echo.HTTPError": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -20,6 +20,13 @@ definitions:
|
||||
text:
|
||||
type: string
|
||||
type: object
|
||||
donat-widget_internal_model.CreateDonatResponse:
|
||||
properties:
|
||||
order_id:
|
||||
type: string
|
||||
payment_url:
|
||||
type: string
|
||||
type: object
|
||||
donat-widget_internal_model.CreateWidgetBody:
|
||||
properties:
|
||||
audio:
|
||||
@ -537,11 +544,6 @@ definitions:
|
||||
$ref: '#/definitions/donat-widget_internal_model.GetWidgetDb'
|
||||
type: array
|
||||
type: object
|
||||
donat-widget_internal_model_api.CreatePaymentResponse:
|
||||
properties:
|
||||
payment_url:
|
||||
type: string
|
||||
type: object
|
||||
echo.HTTPError:
|
||||
properties:
|
||||
message: {}
|
||||
@ -743,7 +745,7 @@ paths:
|
||||
"200":
|
||||
description: Donat page updated successfully
|
||||
schema:
|
||||
$ref: '#/definitions/donat-widget_internal_model_api.CreatePaymentResponse'
|
||||
$ref: '#/definitions/donat-widget_internal_model.CreateDonatResponse'
|
||||
"400":
|
||||
description: Bad request
|
||||
schema:
|
||||
|
@ -72,7 +72,7 @@ type DonatService interface {
|
||||
|
||||
CheckToken(request echo.Context) (api.CheckTokenResponse, error)
|
||||
|
||||
CreateDonat(ctx context.Context, streamerLogin, text, donatUser string, targetID *int, amount int) (api.CreatePaymentResponse, error)
|
||||
CreateDonat(ctx context.Context, streamerLogin, text, donatUser string, targetID *int, amount int) (CreateDonatResponse, error)
|
||||
|
||||
GetDonatsByStreamerID(ctx context.Context, streamerID, page, limit int) ([]*Donat, error)
|
||||
GetDonatByOrderID(ctx context.Context, orderID string) (*Donat, error)
|
||||
|
@ -375,3 +375,8 @@ type StreamerInfo struct {
|
||||
type UpdateAvatarBody struct {
|
||||
Avatar string `json:"avatar" validate:"required,uuid4"`
|
||||
}
|
||||
|
||||
type CreateDonatResponse struct {
|
||||
PaymentUrl string `json:"payment_url"`
|
||||
OrderID uuid.UUID `json:"order_id"`
|
||||
}
|
||||
|
@ -93,18 +93,18 @@ func (donatService *ServiceDonat) CreateDonat(
|
||||
donatUser string,
|
||||
targetID *int,
|
||||
amount int,
|
||||
) (api.CreatePaymentResponse, error) {
|
||||
) (model.CreateDonatResponse, error) {
|
||||
|
||||
donatePage, err := donatService.donatRepo.GetDonatPageByLogin(ctx, streamerLogin)
|
||||
if err != nil {
|
||||
slog.Error("Failed to get donate page", "error", err.Error())
|
||||
return api.CreatePaymentResponse{}, err
|
||||
return model.CreateDonatResponse{}, err
|
||||
}
|
||||
|
||||
widgets, err := donatService.widgetRepo.GetWidgetsByStreamerID(ctx, donatePage.StreamerID)
|
||||
if err != nil {
|
||||
slog.Error(err.Error())
|
||||
return api.CreatePaymentResponse{}, err
|
||||
return model.CreateDonatResponse{}, err
|
||||
}
|
||||
|
||||
orderID := uuid.New()
|
||||
@ -122,16 +122,19 @@ func (donatService *ServiceDonat) CreateDonat(
|
||||
)
|
||||
if err != nil {
|
||||
slog.Error(err.Error())
|
||||
return api.CreatePaymentResponse{}, err
|
||||
return model.CreateDonatResponse{}, err
|
||||
}
|
||||
|
||||
createPaymentResponse, err := donatService.paymentClient.CreatePayment(donatePage.StreamerID, amount, orderID)
|
||||
if err != nil {
|
||||
slog.Error(err.Error())
|
||||
return api.CreatePaymentResponse{}, err
|
||||
return model.CreateDonatResponse{}, err
|
||||
}
|
||||
var createDonatResp model.CreateDonatResponse
|
||||
createDonatResp.PaymentUrl = createPaymentResponse.PaymentUrl
|
||||
createDonatResp.OrderID = orderID
|
||||
|
||||
return createPaymentResponse, err
|
||||
return createDonatResp, err
|
||||
}
|
||||
|
||||
func (donatService *ServiceDonat) GetDonatsByStreamerID(
|
||||
|
Loading…
x
Reference in New Issue
Block a user