Sfoglia il codice sorgente

feat: 注册支付API路由——/vehicle/exit/preview + /vehicle/exit/confirm

lq 1 mese fa
parent
commit
4b45d67561
2 ha cambiato i file con 54 aggiunte e 0 eliminazioni
  1. 4 0
      internal/initialize/router.go
  2. 50 0
      internal/modules/payment/api.go

+ 4 - 0
internal/initialize/router.go

@@ -8,6 +8,7 @@ import (
 	"wails-app/internal/middleware"
 	"wails-app/internal/router"
 	"wails-app/internal/router/owner"
+	"wails-app/internal/modules/payment"
 	"wails-app/internal/router/parking"
 	"wails-app/internal/router/vehicle"
 
@@ -103,6 +104,9 @@ func Routers() *gin.Engine {
 		// 停车相关路由
 		parking.SetupParkingRouter(PrivateGroup)
 
+		// 支付相关路由
+		payment.SetupPaymentRouter(PrivateGroup)
+
 		// UHF读写器路由
 		//uhf.SetupUHFRouter(PrivateGroup)
 	}

+ 50 - 0
internal/modules/payment/api.go

@@ -0,0 +1,50 @@
+package payment
+
+import (
+	"github.com/gin-gonic/gin"
+	"wails-app/internal/model/common/response"
+	"wails-app/internal/model/vehicle/request"
+	utils "wails-app/internal/pkg"
+	"wails-app/internal/service"
+)
+
+var vehicleSvc = service.ServiceGroupApp.VehicleServiceGroup.VehicleService
+
+// ExitPreview 费用预览(只读,不修改数据库)
+func ExitPreview(c *gin.Context) {
+	var req request.VehicleEntry
+	if err := c.ShouldBindJSON(&req); err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	resp, err := vehicleSvc.ExitPreview(req)
+	if err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	response.OkWithData(resp, c)
+}
+
+// ExitConfirm 确认出场 + 支付
+func ExitConfirm(c *gin.Context) {
+	var req request.ExitConfirmRequest
+	if err := c.ShouldBindJSON(&req); err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	resp, err := vehicleSvc.ExitConfirm(req, utils.GetUserID(c))
+	if err != nil {
+		response.FailWithMessage(err.Error(), c)
+		return
+	}
+	response.OkWithData(resp, c)
+}
+
+// SetupPaymentRouter 注册支付相关路由
+func SetupPaymentRouter(router *gin.RouterGroup) {
+	pg := router.Group("/vehicle")
+	{
+		pg.POST("/exit/preview", ExitPreview)
+		pg.POST("/exit/confirm", ExitConfirm)
+	}
+}