refactor: organize service dto contracts

This commit is contained in:
Yvan
2026-08-21 14:00:19 +08:00
parent e81a641953
commit d91f0554fd
65 changed files with 865 additions and 696 deletions
+11 -10
View File
@@ -3,6 +3,7 @@ package handler
import (
"io"
"kra/internal/service"
"kra/internal/service/dto"
"net/http"
"github.com/gin-gonic/gin"
@@ -12,7 +13,7 @@ type Payment struct{ service *service.PaymentService }
func NewPayment(service *service.PaymentService) *Payment { return &Payment{service: service} }
func (h *Payment) Order(c *gin.Context) {
var req service.PaymentQueryRequest
var req dto.PaymentQueryRequest
if err := c.ShouldBindJSON(&req); err != nil {
Fail(c, err.Error())
return
@@ -42,7 +43,7 @@ func (h *Payment) RefundByPath(c *gin.Context) {
Fail(c, err.Error())
return
}
result, err := h.service.Refund(c.Request.Context(), &service.PaymentRefundRequest{
result, err := h.service.Refund(c.Request.Context(), &dto.PaymentRefundRequest{
Provider: c.Param("provider"), TradeNo: c.Param("tradeNo"), Amount: req.Amount,
})
if err != nil {
@@ -53,7 +54,7 @@ func (h *Payment) RefundByPath(c *gin.Context) {
}
func (h *Payment) FulfillByPath(c *gin.Context) {
result, err := h.service.Fulfill(c.Request.Context(), &service.PaymentFulfillRequest{
result, err := h.service.Fulfill(c.Request.Context(), &dto.PaymentFulfillRequest{
Provider: c.Param("provider"), TradeNo: c.Param("tradeNo"),
})
if err != nil {
@@ -64,7 +65,7 @@ func (h *Payment) FulfillByPath(c *gin.Context) {
}
func (h *Payment) Orders(c *gin.Context) {
var req service.PaymentOrderListRequest
var req dto.PaymentOrderListRequest
if err := c.ShouldBindQuery(&req); err != nil {
Fail(c, err.Error())
return
@@ -90,7 +91,7 @@ func (h *Payment) TestProvider(c *gin.Context) {
OKWithData(c, result)
}
func (h *Payment) Create(c *gin.Context) {
var req service.PaymentRequest
var req dto.PaymentRequest
if err := c.ShouldBindJSON(&req); err != nil {
Fail(c, err.Error())
return
@@ -104,7 +105,7 @@ func (h *Payment) Create(c *gin.Context) {
OKWithData(c, result)
}
func (h *Payment) Query(c *gin.Context) {
var req service.PaymentQueryRequest
var req dto.PaymentQueryRequest
if err := c.ShouldBindJSON(&req); err != nil {
Fail(c, err.Error())
return
@@ -117,7 +118,7 @@ func (h *Payment) Query(c *gin.Context) {
OKWithData(c, result)
}
func (h *Payment) Refund(c *gin.Context) {
var req service.PaymentRefundRequest
var req dto.PaymentRefundRequest
if err := c.ShouldBindJSON(&req); err != nil {
Fail(c, err.Error())
return
@@ -131,7 +132,7 @@ func (h *Payment) Refund(c *gin.Context) {
}
func (h *Payment) Fulfill(c *gin.Context) {
var req service.PaymentFulfillRequest
var req dto.PaymentFulfillRequest
if err := c.ShouldBindJSON(&req); err != nil {
Fail(c, err.Error())
return
@@ -162,12 +163,12 @@ func (h *Payment) Callback(c *gin.Context) {
query[k] = v[0]
}
}
ack, err := h.service.Callback(c.Request.Context(), &service.PaymentCallbackRequest{Provider: c.Param("provider"), Headers: headers, Body: raw, Query: query})
ack, err := h.service.Callback(c.Request.Context(), &dto.PaymentCallbackRequest{Provider: c.Param("provider"), Headers: headers, Body: raw, Query: query})
writePaymentCallbackAck(c, ack)
_ = err
}
func writePaymentCallbackAck(c *gin.Context, ack service.PaymentCallbackAck) {
func writePaymentCallbackAck(c *gin.Context, ack dto.PaymentCallbackAck) {
if ack.StatusCode == 0 {
ack.StatusCode = http.StatusInternalServerError
}