低空智控平台 后端go
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

166 lines
4.0 KiB

package handler
import (
"github.com/gin-gonic/gin"
"laic-backend/common"
"laic-backend/service"
"laic-backend/vo"
)
// GetProfile 查询个人资料
func GetProfile(c *gin.Context) {
user, busiErr := service.DefaultAccountService.GetProfile(common.GetUserId(c))
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, user)
}
// UpdateProfile 更新个人资料
func UpdateProfile(c *gin.Context) {
var req vo.ProfileUpdateReq
if err := c.ShouldBindJSON(&req); err != nil {
common.FailWithBindError(c, common.ErrParam, err)
return
}
user, busiErr := service.DefaultAccountService.UpdateProfile(common.GetUserId(c), &req)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, user)
}
// GetTrafficBalance 查询流量余额
func GetTrafficBalance(c *gin.Context) {
bal, busiErr := service.DefaultAccountService.GetTrafficBalance(common.GetUserId(c))
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, bal)
}
// GetUsagePage 流量消费流水分页
func GetUsagePage(c *gin.Context) {
var req vo.UsagePageReq
_ = c.ShouldBindQuery(&req)
if req.PageNum <= 0 {
req.PageNum = 1
}
if req.PageSize <= 0 {
req.PageSize = 10
}
page, busiErr := service.DefaultAccountService.GetUsagePage(common.GetUserId(c), &req)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, page)
}
// GetOrderPage 流量订单分页
func GetOrderPage(c *gin.Context) {
var req vo.OrderPageReq
_ = c.ShouldBindQuery(&req)
if req.PageNum <= 0 {
req.PageNum = 1
}
if req.PageSize <= 0 {
req.PageSize = 10
}
page, busiErr := service.DefaultAccountService.GetOrderPage(common.GetUserId(c), &req)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, page)
}
// CreateTrafficOrder 创建流量充值订单
func CreateTrafficOrder(c *gin.Context) {
var req vo.TrafficOrderCreateReq
if err := c.ShouldBindJSON(&req); err != nil {
common.FailWithBindError(c, common.ErrParam, err)
return
}
order, busiErr := service.DefaultAccountService.CreateTrafficOrder(common.GetUserId(c), &req)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, order)
}
// PayTrafficOrder 订单支付入账(admin)
func PayTrafficOrder(c *gin.Context) {
orderID, busiErr := parseID(c)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
order, busiErr := service.DefaultAccountService.PayTrafficOrder(orderID)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, order)
}
// ListSimCards SIM 卡列表
func ListSimCards(c *gin.Context) {
var req vo.SimCardPageReq
_ = c.ShouldBindQuery(&req)
if req.PageNum <= 0 {
req.PageNum = 1
}
if req.PageSize <= 0 {
req.PageSize = 10
}
page, busiErr := service.DefaultAccountService.ListSimCards(common.GetUserId(c), &req)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, page)
}
// GetSimRechargeLogPage SIM 卡充值记录分页
func GetSimRechargeLogPage(c *gin.Context) {
var req vo.SimRechargeLogPageReq
_ = c.ShouldBindQuery(&req)
if req.PageNum <= 0 {
req.PageNum = 1
}
if req.PageSize <= 0 {
req.PageSize = 10
}
page, busiErr := service.DefaultAccountService.GetSimRechargeLogPage(common.GetUserId(c), &req)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, page)
}
// RechargeSimCard SIM 卡充值
func RechargeSimCard(c *gin.Context) {
simCardID, busiErr := parseID(c)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
var req vo.SimRechargeReq
if err := c.ShouldBindJSON(&req); err != nil {
common.FailWithBindError(c, common.ErrParam, err)
return
}
log, busiErr := service.DefaultAccountService.RechargeSimCard(common.GetUserId(c), simCardID, &req)
if busiErr != nil {
common.FailWithBusiError(c, busiErr)
return
}
common.OKWithData(c, log)
}