| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package payment
- import (
- "github.com/gin-gonic/gin"
- "wails-app/internal/model/common/response"
- "wails-app/internal/model/vehicle/request"
- "wails-app/internal/modules/payment/repository"
- paymentService "wails-app/internal/modules/payment/service"
- utils "wails-app/internal/pkg"
- "wails-app/internal/service"
- )
- var vehicleSvc = service.ServiceGroupApp.VehicleServiceGroup.VehicleService
- var paymentSvc = paymentService.NewPaymentService()
- // 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)
- }
- // ListPayments 收费记录列表
- func ListPayments(c *gin.Context) {
- var q repository.PaymentListQuery
- if err := c.ShouldBindQuery(&q); err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- list, total, err := paymentSvc.QueryPayments(q)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- response.OkWithDetailed(response.PageResult{
- List: list,
- Total: total,
- Page: q.Page,
- PageSize: q.PageSize,
- }, "查询成功", c)
- }
- // TodaySummary 当日收费汇总
- func TodaySummary(c *gin.Context) {
- s, err := paymentSvc.GetTodaySummary()
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- response.OkWithData(s, c)
- }
- // SetupPaymentRouter 注册支付相关路由
- func SetupPaymentRouter(router *gin.RouterGroup) {
- pg := router.Group("/payment")
- {
- pg.GET("/list", ListPayments)
- pg.GET("/today-summary", TodaySummary)
- }
- eg := router.Group("/vehicle")
- {
- eg.POST("/exit/preview", ExitPreview)
- eg.POST("/exit/confirm", ExitConfirm)
- }
- }
|