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