批量导入自媒体账号
This commit is contained in:
parent
bc178ea266
commit
8d34f83459
@ -23,6 +23,7 @@ func MediaRouter(r *gin.RouterGroup) {
|
|||||||
media.POST("refresh-token", serviceCast.RefreshToken)
|
media.POST("refresh-token", serviceCast.RefreshToken)
|
||||||
media.POST("artist-info", serviceCast.ArtistInfo)
|
media.POST("artist-info", serviceCast.ArtistInfo)
|
||||||
media.POST("sync-as-profile", serviceCast.SyncAsProfile)
|
media.POST("sync-as-profile", serviceCast.SyncAsProfile)
|
||||||
|
media.POST("import-media-account", serviceCast.ImportMediaAccount)
|
||||||
}
|
}
|
||||||
mediaNoLogin := r.Group("media")
|
mediaNoLogin := r.Group("media")
|
||||||
{
|
{
|
||||||
|
|||||||
@ -565,21 +565,21 @@ func ImportMediaAccount(ctx *gin.Context) {
|
|||||||
}
|
}
|
||||||
var subInfoResp *accountFiee.UserInfoResponse
|
var subInfoResp *accountFiee.UserInfoResponse
|
||||||
//查询艺人信息
|
//查询艺人信息
|
||||||
if config.AppConfig.System.AppMode == "dev" {
|
//if config.AppConfig.System.AppMode == "dev" {
|
||||||
subInfoResp = &accountFiee.UserInfoResponse{
|
subInfoResp = &accountFiee.UserInfoResponse{
|
||||||
Id: 1245,
|
Id: 1245,
|
||||||
SubNum: "FL00023",
|
SubNum: "FL00023",
|
||||||
Status: 0,
|
Status: 0,
|
||||||
Name: "测试远",
|
Name: "测试远",
|
||||||
TelNum: "1826145872",
|
TelNum: "1826145872",
|
||||||
TelAreaCode: "86",
|
TelAreaCode: "86",
|
||||||
}
|
|
||||||
} else {
|
|
||||||
subInfoResp, err = service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{
|
|
||||||
SubNum: subNum,
|
|
||||||
Domain: "app",
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
//} else {
|
||||||
|
subInfoResp, err = service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{
|
||||||
|
SubNum: subNum,
|
||||||
|
Domain: "app",
|
||||||
|
})
|
||||||
|
//}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
excelSetRemark(excelData, line, "查询艺人出错")
|
excelSetRemark(excelData, line, "查询艺人出错")
|
||||||
continue
|
continue
|
||||||
@ -624,11 +624,48 @@ func ImportMediaAccount(ctx *gin.Context) {
|
|||||||
service.Error(ctx, err)
|
service.Error(ctx, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 打开文件 遍历一下 F列没有数据success + 1 并且删掉,有值的fail+1 留着
|
||||||
|
var successCount, failCount int
|
||||||
|
rows, err = excelData.GetRows("Sheet1")
|
||||||
|
if err != nil {
|
||||||
|
service.Error(ctx, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 记录需要删除的行(从后往前删除,避免行号变化)
|
||||||
|
rowsToDelete := make([]int, 0)
|
||||||
|
for line := 1; line < len(rows); line++ { // 从第2行开始(跳过表头)
|
||||||
|
remarkCell := fmt.Sprintf("F%d", line+1)
|
||||||
|
remark, _ := excelData.GetCellValue("Sheet1", remarkCell)
|
||||||
|
if remark == "" {
|
||||||
|
// F列没有数据,表示成功
|
||||||
|
successCount++
|
||||||
|
rowsToDelete = append(rowsToDelete, line+1)
|
||||||
|
} else {
|
||||||
|
// F列有值,表示失败
|
||||||
|
failCount++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 从后往前删除成功的行
|
||||||
|
for i := len(rowsToDelete) - 1; i >= 0; i-- {
|
||||||
|
if err = excelData.RemoveRow("Sheet1", rowsToDelete[i]); err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 再次保存文件
|
||||||
|
if err = excelData.SaveAs(resultPath); err != nil {
|
||||||
|
service.Error(ctx, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
urlHost := config.AppConfig.System.FieeHost
|
urlHost := config.AppConfig.System.FieeHost
|
||||||
urlResult := fmt.Sprintf("%s/api/fiee/static/media/%s", urlHost, fileName)
|
urlResult := fmt.Sprintf("%s/api/fiee/static/media/%s", urlHost, fileName)
|
||||||
service.Success(ctx, map[string]interface{}{
|
service.Success(ctx, map[string]interface{}{
|
||||||
"successCount": 0,
|
"successCount": successCount,
|
||||||
"failCount": 0,
|
"failCount": failCount,
|
||||||
"url": urlResult,
|
"url": urlResult,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -643,18 +680,18 @@ func excelSetRemark(excelData *excelize.File, line int, remark string) {
|
|||||||
|
|
||||||
func updateMediaAccount(platformName string, platformId cast.PlatformIDENUM, subInfoResp *accountFiee.UserInfoResponse, loginInfo login.Info) error {
|
func updateMediaAccount(platformName string, platformId cast.PlatformIDENUM, subInfoResp *accountFiee.UserInfoResponse, loginInfo login.Info) error {
|
||||||
var err error
|
var err error
|
||||||
if config.AppConfig.System.AppMode != "dev" {
|
//if config.AppConfig.System.AppMode != "dev" {
|
||||||
if _, err = CheckUserBundleBalance(int32(subInfoResp.Id), modelCast.BalanceTypeAccountValue); err != nil {
|
if _, err = CheckUserBundleBalance(int32(subInfoResp.Id), modelCast.BalanceTypeAccountValue); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
|
||||||
_, err = service.BundleProvider.AddBundleBalance(context.Background(), &bundle.AddBundleBalanceReq{
|
|
||||||
UserId: int32(subInfoResp.Id),
|
|
||||||
AccountConsumptionNumber: 1,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
_, err = service.BundleProvider.AddBundleBalance(context.Background(), &bundle.AddBundleBalanceReq{
|
||||||
|
UserId: int32(subInfoResp.Id),
|
||||||
|
AccountConsumptionNumber: 1,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
//}
|
||||||
_, err = service.CastProvider.UpdateMediaAccount(context.Background(), &cast.UpdateMediaAccountReq{
|
_, err = service.CastProvider.UpdateMediaAccount(context.Background(), &cast.UpdateMediaAccountReq{
|
||||||
PlatformID: platformId,
|
PlatformID: platformId,
|
||||||
PlatformUserName: platformName,
|
PlatformUserName: platformName,
|
||||||
@ -667,13 +704,13 @@ func updateMediaAccount(platformName string, platformId cast.PlatformIDENUM, sub
|
|||||||
ManagerUserName: loginInfo.Name,
|
ManagerUserName: loginInfo.Name,
|
||||||
ArtistSubNum: subInfoResp.SubNum,
|
ArtistSubNum: subInfoResp.SubNum,
|
||||||
})
|
})
|
||||||
if config.AppConfig.System.AppMode != "dev" {
|
//if config.AppConfig.System.AppMode != "dev" {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_, err = service.BundleProvider.AddBundleBalance(context.Background(), &bundle.AddBundleBalanceReq{
|
_, err = service.BundleProvider.AddBundleBalance(context.Background(), &bundle.AddBundleBalanceReq{
|
||||||
UserId: int32(subInfoResp.Id),
|
UserId: int32(subInfoResp.Id),
|
||||||
AccountConsumptionNumber: -1,
|
AccountConsumptionNumber: -1,
|
||||||
})
|
})
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
//}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user