108 lines
5.4 KiB
Go
108 lines
5.4 KiB
Go
package routers
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
sdkmiddleware "git.apinb.com/bsm-sdk/core/middleware"
|
|
deliverylogic "git.apinb.com/heqiapp/platforms/backend/api/internal/logic/delivery"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func RegisterDelivery(serviceKey string, engine *gin.Engine) {
|
|
basePath := fmt.Sprintf("/%s/delivery/v1", serviceKey)
|
|
anonymous := engine.Group(basePath)
|
|
anonymous.POST("/auth/login", deliverylogic.Login)
|
|
|
|
protected := engine.Group(basePath)
|
|
protected.Use(sdkmiddleware.JwtAuth(true))
|
|
protected.Use(deliverylogic.RequireDeliveryAdmin())
|
|
protected.GET("/auth/profile", deliverylogic.CurrentProfile)
|
|
protected.PUT("/auth/password", deliverylogic.ChangePassword)
|
|
protected.GET("/delivery_menu", deliverylogic.ListMenu)
|
|
protected.GET("/invitation/qrcode", deliverylogic.InvitationQRCode)
|
|
protected.GET("/dashboard/overview", deliverylogic.Dashboard)
|
|
protected.GET("/dashboard/reports", deliverylogic.DashboardReport)
|
|
protected.GET("/delivery_profile", deliverylogic.ListProfile)
|
|
|
|
staff := protected.Group("/staff_account")
|
|
staff.GET("", deliverylogic.ListStaff)
|
|
staff.POST("", deliverylogic.CreateStaff)
|
|
staff.GET("/:identity", deliverylogic.GetStaff)
|
|
staff.PUT("/:identity", deliverylogic.UpdateStaff)
|
|
staff.PUT("/:identity/password", deliverylogic.ResetStaffPassword)
|
|
staff.PATCH("/:identity/status", deliverylogic.UpdateStaffStatus)
|
|
staff.DELETE("/:identity", deliverylogic.ArchiveStaff)
|
|
credential := protected.Group("/staff_credential")
|
|
credential.GET("", deliverylogic.ListCredential)
|
|
credential.POST("", deliverylogic.CreateCredential)
|
|
credential.GET("/:identity", deliverylogic.GetCredential)
|
|
credential.PUT("/:identity", deliverylogic.UpdateCredential)
|
|
credential.PATCH("/:identity/status", deliverylogic.UpdateCredentialStatus)
|
|
credential.DELETE("/:identity", deliverylogic.ArchiveCredential)
|
|
|
|
user := protected.Group("/user_account")
|
|
user.GET("", deliverylogic.ListUser)
|
|
user.POST("", deliverylogic.CreateUser)
|
|
user.GET("/:identity", deliverylogic.GetUser)
|
|
user.PUT("/:identity", deliverylogic.UpdateUser)
|
|
user.PUT("/:identity/password", deliverylogic.ResetUserPassword)
|
|
user.PATCH("/:identity/status", deliverylogic.UpdateUserStatus)
|
|
user.DELETE("/:identity", deliverylogic.ArchiveUser)
|
|
address := protected.Group("/user_address")
|
|
address.GET("", deliverylogic.ListAddress)
|
|
address.POST("", deliverylogic.CreateAddress)
|
|
address.GET("/:identity", deliverylogic.GetAddress)
|
|
address.PUT("/:identity", deliverylogic.UpdateAddress)
|
|
address.PATCH("/:identity/status", deliverylogic.UpdateAddressStatus)
|
|
address.DELETE("/:identity", deliverylogic.ArchiveAddress)
|
|
|
|
contract := protected.Group("/gasorder_contract")
|
|
contract.GET("", deliverylogic.ListContract)
|
|
contract.POST("", deliverylogic.CreateContract)
|
|
contract.GET("/:identity", deliverylogic.GetContract)
|
|
contract.PUT("/:identity", deliverylogic.UpdateContract)
|
|
contract.POST("/:identity/activate", deliverylogic.ActivateContract)
|
|
contract.POST("/:identity/renew", deliverylogic.RenewContract)
|
|
contract.POST("/:identity/terminate", deliverylogic.TerminateContract)
|
|
product := protected.Group("/gasorder_contract_product")
|
|
product.GET("", deliverylogic.ListContractProduct)
|
|
product.POST("", deliverylogic.BindContractProduct)
|
|
product.GET("/:identity", deliverylogic.GetContractProduct)
|
|
product.POST("/:identity/unbind", deliverylogic.UnbindContractProduct)
|
|
protected.GET("/gasorder_contract_revision", deliverylogic.ListContractRevision)
|
|
protected.GET("/gasorder_contract_revision/:identity", deliverylogic.GetContractRevision)
|
|
protected.GET("/product_info", deliverylogic.ListProductCandidate)
|
|
protected.GET("/product_info/:identity", deliverylogic.GetProductCandidate)
|
|
|
|
order := protected.Group("/gasorder_basic")
|
|
order.GET("", deliverylogic.ListOrder)
|
|
order.POST("", deliverylogic.CreateOrder)
|
|
order.GET("/:identity", deliverylogic.GetOrder)
|
|
order.POST("/:identity/assign", deliverylogic.AssignOrder)
|
|
order.POST("/:identity/reclaim", deliverylogic.ReclaimOrder)
|
|
order.POST("/:identity/adjust-amount", deliverylogic.AdjustOrderAmount)
|
|
order.POST("/:identity/exception", deliverylogic.OrderException)
|
|
order.POST("/:identity/recover", deliverylogic.OrderRecover)
|
|
order.POST("/:identity/cancel", deliverylogic.OrderCancel)
|
|
|
|
protected.GET("/wallet_basic", deliverylogic.ListWallet)
|
|
protected.GET("/wallet_basic/:identity", deliverylogic.GetWallet)
|
|
protected.POST("/wallet_basic/recharge", deliverylogic.Recharge)
|
|
protected.GET("/wallet_recharge", deliverylogic.ListRecharge)
|
|
protected.GET("/wallet_recharge/:identity", deliverylogic.GetRecharge)
|
|
protected.POST("/wallet_recharge", deliverylogic.Recharge)
|
|
protected.GET("/wallet_bank", deliverylogic.ListBank)
|
|
protected.GET("/wallet_bank/:identity", deliverylogic.GetBank)
|
|
protected.GET("/payment_order", deliverylogic.ListPayment)
|
|
protected.GET("/payment_order/:identity", deliverylogic.GetPayment)
|
|
protected.GET("/wallet_record", deliverylogic.ListRecord)
|
|
protected.GET("/wallet_record/:identity", deliverylogic.GetRecord)
|
|
protected.GET("/payment_refund", deliverylogic.ListRefund)
|
|
protected.GET("/payment_refund/:identity", deliverylogic.GetRefund)
|
|
protected.GET("/wallet_apply_cash", deliverylogic.ListApplyCash)
|
|
protected.POST("/wallet_apply_cash", deliverylogic.CreateApplyCash)
|
|
protected.GET("/wallet_apply_cash/:identity", deliverylogic.GetApplyCash)
|
|
protected.GET("/fin_settlement", deliverylogic.ListSettlement)
|
|
protected.GET("/fin_settlement/:identity", deliverylogic.GetSettlement)
|
|
}
|