69 lines
1.7 KiB
Go
69 lines
1.7 KiB
Go
|
package imports
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"errors"
|
||
|
"fmt"
|
||
|
account "fonchain-fiee/api/accountFiee"
|
||
|
"fonchain-fiee/api/bundle"
|
||
|
apiCast "fonchain-fiee/api/cast"
|
||
|
"fonchain-fiee/pkg/service"
|
||
|
"fonchain-fiee/pkg/service/cast"
|
||
|
"log"
|
||
|
|
||
|
"github.com/gin-gonic/gin"
|
||
|
)
|
||
|
|
||
|
func WorkConfirm(c *gin.Context) { // 确认作品并扣除余量
|
||
|
newCtx := cast.NewCtxWithUserInfo(c)
|
||
|
list, err := service.CastProvider.WorkList(newCtx, &apiCast.WorkListReq{
|
||
|
WorkStatus: 4,
|
||
|
})
|
||
|
if err != nil {
|
||
|
service.Error(c, err)
|
||
|
return
|
||
|
}
|
||
|
if len(list.Data) == 0 {
|
||
|
service.Error(c, errors.New("没有待确认的作品"))
|
||
|
return
|
||
|
}
|
||
|
//遍历更新状态
|
||
|
var failedRecords []failedRecord
|
||
|
for _, v := range list.Data {
|
||
|
res, err := service.AccountFieeProvider.UserList(context.Background(), &account.UserListRequest{
|
||
|
Name: v.ArtistName,
|
||
|
})
|
||
|
if err != nil {
|
||
|
failedRecords = append(failedRecords, failedRecord{
|
||
|
name: v.ArtistName,
|
||
|
msg: fmt.Sprintf("获取用户信息失败: %s", err.Error()),
|
||
|
})
|
||
|
log.Printf(fmt.Sprintf("获取用户信息失败: %s", err.Error()))
|
||
|
continue
|
||
|
}
|
||
|
var artistId uint64
|
||
|
if res != nil && len(res.UserList) > 0 {
|
||
|
artistId = res.UserList[0].Id
|
||
|
}
|
||
|
_, err = service.BundleProvider.AddBundleBalance(c, &bundle.AddBundleBalanceReq{
|
||
|
UserId: int32(artistId),
|
||
|
VideoConsumptionNumber: 1,
|
||
|
})
|
||
|
if err != nil {
|
||
|
service.Error(c, err)
|
||
|
return
|
||
|
}
|
||
|
_, err = service.CastProvider.UpdateStatus(c, &apiCast.UpdateStatusReq{
|
||
|
WorkAction: apiCast.WorkActionENUM_CONFIRM,
|
||
|
WorkUuid: v.WorkUuid,
|
||
|
ConfirmRemark: "",
|
||
|
ConfirmStatus: 1,
|
||
|
})
|
||
|
if err != nil {
|
||
|
service.Error(c, err)
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
service.Success(c, failedRecords)
|
||
|
}
|