130 lines
2.9 KiB
Go
130 lines
2.9 KiB
Go
package bundle
|
|
|
|
import (
|
|
"context"
|
|
"fonchain-fiee/api/bundle"
|
|
"fonchain-fiee/api/cast"
|
|
"fonchain-fiee/pkg/model/login"
|
|
"fonchain-fiee/pkg/service"
|
|
"time"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func BundleExtend(c *gin.Context) {
|
|
var req bundle.BundleExtendRequest
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
res, err := service.BundleProvider.BundleExtend(context.Background(), &req)
|
|
if err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
service.Success(c, res)
|
|
}
|
|
|
|
func BundleExtendRecordsList(c *gin.Context) {
|
|
var req bundle.BundleExtendRecordsListRequest
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
res, err := service.BundleProvider.BundleExtendRecordsList(context.Background(), &req)
|
|
if err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
service.Success(c, res)
|
|
}
|
|
|
|
func GetBundleBalance(c *gin.Context) {
|
|
var req bundle.GetBundleBalanceListReq
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
res, err := service.BundleProvider.GetBundleBalanceList(context.Background(), &req)
|
|
if err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
service.Success(c, res)
|
|
}
|
|
|
|
func GetUsedRecordList(c *gin.Context) {
|
|
var req bundle.GetUsedRecordListReq
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
res, err := service.BundleProvider.GetUsedRecordList(context.Background(), &req)
|
|
if err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
service.Success(c, res)
|
|
}
|
|
|
|
func GetWorkDetail(c *gin.Context) {
|
|
var req cast.WorkDetailReq
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
userInfo := login.GetUserInfoFromC(c)
|
|
res, err := service.BundleProvider.GetBundleBalanceByUserId(context.TODO(), &bundle.GetBundleBalanceByUserIdReq{
|
|
UserId: int32(userInfo.ID),
|
|
})
|
|
if err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
if res.ExpiredTime <= time.Now().UnixMilli() {
|
|
service.Success(c, gin.H{
|
|
"status": 1,
|
|
"message": "套餐过期请重新购买",
|
|
})
|
|
return
|
|
}
|
|
|
|
workRes, err := service.CastProvider.WorkDetail(context.Background(), &req)
|
|
if err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
|
|
if len(workRes.Images) > 0 && res.ImageConsumptionNumber >= res.ImageNumber { // 图片用尽
|
|
service.Success(c, gin.H{
|
|
"status": 2,
|
|
"message": "增值服务已用尽",
|
|
})
|
|
return
|
|
} else {
|
|
if res.VideoConsumptionNumber >= res.VideoNumber { // 视频用尽
|
|
service.Success(c, gin.H{
|
|
"status": 2,
|
|
"message": "增值服务已用尽",
|
|
})
|
|
return
|
|
}
|
|
}
|
|
|
|
service.Success(c, workRes)
|
|
}
|
|
|
|
func GetToBeComfirmedWorks(c *gin.Context) {
|
|
var req bundle.ToBeComfirmedWorksReq
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
res, err := service.BundleProvider.ToBeComfirmedWorks(context.Background(), &req)
|
|
if err != nil {
|
|
service.Error(c, err)
|
|
return
|
|
}
|
|
service.Success(c, res)
|
|
}
|