feat:修改ai生成图文

This commit is contained in:
bx1834938347-prog 2025-12-05 10:43:23 +08:00
parent 665c3e3b6a
commit b6c071fcec
2 changed files with 17 additions and 14 deletions

View File

@ -120,9 +120,9 @@ func ImageContentImport(c *gin.Context) {
time.Sleep(interval)
}
if err := processor.submitSingleTask(v, i); err != nil {
if err := processor.submitSingleTask(&v, i); err != nil {
task := &ImageTask{
Data: v,
Data: &v,
TaskID: strconv.Itoa(i),
Error: err,
StartTime: time.Now(),

View File

@ -55,7 +55,7 @@ type BatchProcessor struct {
}
type ImageTask struct {
Data excelData
Data *excelData
TaskID string
Status TaskStatus
StartTime time.Time
@ -111,7 +111,7 @@ func (p *BatchProcessor) GetStatus() int {
}
// 提交任务
func (p *BatchProcessor) submitSingleTask(req excelData, num int) error {
func (p *BatchProcessor) submitSingleTask(req *excelData, num int) error {
//var infoResp *accountFiee.UserInfoResponse
list, err := service.AccountFieeProvider.UserList(context.Background(), &accountFiee.UserListRequest{
Name: req.ArtistName,
@ -140,12 +140,12 @@ func (p *BatchProcessor) submitSingleTask(req excelData, num int) error {
PageSize: 10,
ArtistUuid: strconv.FormatUint(list.UserList[0].Id, 10),
})
if err != nil {
return fmt.Errorf("tiktok自媒体账号数量获取失败: %s,账号数量:%d", err.Error(), len(accountListTikTok.Data))
}
if accountListTikTok == nil || len(accountListTikTok.Data) == 0 {
return fmt.Errorf("tiktok自媒体账号数量为0")
}
if err != nil {
return fmt.Errorf("tiktok自媒体账号数量获取失败: %s,账号数量:%d", err.Error(), len(accountListTikTok.Data))
}
tiktokFound := false
for _, user := range accountListTikTok.Data {
if user.PlatformUserName == req.TikTok {
@ -165,12 +165,12 @@ func (p *BatchProcessor) submitSingleTask(req excelData, num int) error {
PageSize: 10,
ArtistUuid: strconv.FormatUint(list.UserList[0].Id, 10),
})
if err != nil {
return fmt.Errorf("ins自媒体账号数量获取失败: %s,账号数量:%d", err.Error(), len(accountListIns.Data))
}
if accountListIns == nil || len(accountListIns.Data) == 0 {
return fmt.Errorf("ins自媒体账号数量为0")
}
if err != nil {
return fmt.Errorf("ins自媒体账号数量获取失败: %s,账号数量:%d", err.Error(), len(accountListIns.Data))
}
insFound := false
for _, user := range accountListIns.Data {
if user.PlatformUserName == req.Instagram {
@ -213,7 +213,7 @@ func (p *BatchProcessor) submitSingleTask(req excelData, num int) error {
return nil
}
func (p *BatchProcessor) generateTitleAndContent(req excelData) (string, string, error) {
func (p *BatchProcessor) generateTitleAndContent(req *excelData) (string, string, error) {
if req.PhotoUrl != "" {
title, content, err := NewAiGenerator().GenerateTitleAndContentFromImage(
req.PhotoUrl,
@ -240,7 +240,7 @@ func (p *BatchProcessor) generateTitleAndContent(req excelData) (string, string,
}
}
func (p *BatchProcessor) generateTitle(req excelData) (string, error) {
func (p *BatchProcessor) generateTitle(req *excelData) (string, error) {
prompt := fmt.Sprintf("请根据以下要求生成一个标题:%s", req.TitleRequire)
if req.Desc != "" {
prompt += fmt.Sprintf("\n艺人简介%s", req.Desc)
@ -259,7 +259,7 @@ func (p *BatchProcessor) generateTitle(req excelData) (string, error) {
return strings.TrimSpace(result.Output.Choices[0].Message.Content), nil
}
func (p *BatchProcessor) generateContent(req excelData) (string, error) {
func (p *BatchProcessor) generateContent(req *excelData) (string, error) {
prompt := fmt.Sprintf("请根据以下要求生成内容:%s", req.ContentRequire)
if req.Desc != "" {
prompt += fmt.Sprintf("\n艺人简介%s", req.Desc)
@ -277,7 +277,7 @@ func (p *BatchProcessor) generateContent(req excelData) (string, error) {
return strings.TrimSpace(result.Output.Choices[0].Message.Content), nil
}
func (p *BatchProcessor) generateImage(req excelData) (string, error) {
func (p *BatchProcessor) generateImage(req *excelData) (string, error) {
prompt := fmt.Sprintf("请根据以下要求生成内容:%s", req.PhotoRequire)
if req.Desc != "" {
prompt += fmt.Sprintf("\n艺人简介%s", req.Desc)
@ -638,6 +638,9 @@ func downloadAndUploadToBucket(imageURL string) (string, error) {
os.Getenv(config.ConfigData.Oss.AccessKeySecret),
os.Getenv(config.ConfigData.Oss.Endpoint),
)
if BOSClient == nil {
return "", fmt.Errorf("上传文件失败: %v", err)
}
_, err = BOSClient.PutObjectFromBytes(os.Getenv(config.ConfigData.Oss.BucketName), fileName, fileBytes)
if err != nil {
return "", fmt.Errorf("上传文件失败: %v", err)