Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
loveisland
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘小敏
loveisland
Commits
823044e7
Commit
823044e7
authored
May 20, 2026
by
刘小敏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
AI脚本增加去重逻辑,日志优化
parent
69f87043
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
62 additions
and
50 deletions
+62
-50
AiImgGen.php
addons/shopro/job/AiImgGen.php
+10
-3
AiVideoGen.php
addons/shopro/job/AiVideoGen.php
+31
-21
AiVideoRetry.php
addons/shopro/job/AiVideoRetry.php
+18
-23
Ai.php
addons/shopro/service/user/Ai.php
+3
-3
No files found.
addons/shopro/job/AiImgGen.php
View file @
823044e7
...
@@ -5,7 +5,6 @@ namespace addons\shopro\job;
...
@@ -5,7 +5,6 @@ namespace addons\shopro\job;
use
addons\shopro\service\user\Ai
;
use
addons\shopro\service\user\Ai
;
use
app\admin\model\shopro\AiTryon
as
AiTryOnModel
;
use
app\admin\model\shopro\AiTryon
as
AiTryOnModel
;
use
think\queue\Job
;
use
think\queue\Job
;
use
think\facade\Notification
as
NotificationFacade
;
/**
/**
* AI生成图片
* AI生成图片
...
@@ -19,7 +18,7 @@ class AiImgGen extends BaseJob
...
@@ -19,7 +18,7 @@ class AiImgGen extends BaseJob
}
}
/**
/**
* AI
视频结果处理
* AI
图片生成
*/
*/
public
function
exec
(
Job
$job
,
$data
)
public
function
exec
(
Job
$job
,
$data
)
{
{
...
@@ -28,7 +27,7 @@ class AiImgGen extends BaseJob
...
@@ -28,7 +27,7 @@ class AiImgGen extends BaseJob
$user
=
$data
[
'user'
];
$user
=
$data
[
'user'
];
$user_id
=
isset
(
$user
[
'id'
])
?
$user
[
'id'
]
:
0
;
$user_id
=
isset
(
$user
[
'id'
])
?
$user
[
'id'
]
:
0
;
$this
->
debug_log
(
'***************************** '
.
date
(
'Y-m-d H:i:s'
)
.
'AI图片生成脚本开始 userid '
.
$user_id
.
' id:'
.
$id
.
' ***********************************'
.
PHP_EOL
);
$this
->
debug_log
(
'***************************** '
.
date
(
'Y-m-d H:i:s'
)
.
'
[AI图片异步队列]
AI图片生成脚本开始 userid '
.
$user_id
.
' id:'
.
$id
.
' ***********************************'
.
PHP_EOL
);
// 校验入参
// 校验入参
if
(
empty
(
$id
)
||
empty
(
$user_id
))
{
if
(
empty
(
$id
)
||
empty
(
$user_id
))
{
...
@@ -47,6 +46,12 @@ class AiImgGen extends BaseJob
...
@@ -47,6 +46,12 @@ class AiImgGen extends BaseJob
return
false
;
return
false
;
}
}
if
(
$tryOn
->
ai_status
!==
0
)
{
$this
->
debug_log
(
'[AI图片异步队列][删除job]用户ID:'
.
$user_id
.
' id:'
.
$id
.
' 试戴记录已完成'
);
$job
->
delete
();
return
false
;
}
// 合成AI图
// 合成AI图
$aiService
=
new
Ai
();
$aiService
=
new
Ai
();
$res
=
$aiService
->
generateImage
(
$tryOn
->
toArray
(),
$user_id
,
'url'
);
$res
=
$aiService
->
generateImage
(
$tryOn
->
toArray
(),
$user_id
,
'url'
);
...
@@ -56,6 +61,7 @@ class AiImgGen extends BaseJob
...
@@ -56,6 +61,7 @@ class AiImgGen extends BaseJob
AiTryOnModel
::
where
(
'id'
,
$id
)
->
where
(
'user_id'
,
$user_id
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
$res
[
'msg'
]]);
AiTryOnModel
::
where
(
'id'
,
$id
)
->
where
(
'user_id'
,
$user_id
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
$res
[
'msg'
]]);
$job
->
delete
();
$job
->
delete
();
return
false
;
}
else
{
}
else
{
// 保存图片到本地
// 保存图片到本地
...
@@ -78,6 +84,7 @@ class AiImgGen extends BaseJob
...
@@ -78,6 +84,7 @@ class AiImgGen extends BaseJob
$this
->
debug_log
(
'[AI图片异步队列]删除Job'
);
$this
->
debug_log
(
'[AI图片异步队列]删除Job'
);
$job
->
delete
();
$job
->
delete
();
return
true
;
}
}
}
catch
(
\Exception
$e
)
{
}
catch
(
\Exception
$e
)
{
...
...
addons/shopro/job/AiVideoGen.php
View file @
823044e7
...
@@ -29,23 +29,20 @@ class AiVideoGen extends BaseJob
...
@@ -29,23 +29,20 @@ class AiVideoGen extends BaseJob
$id
=
$data
[
'id'
];
$id
=
$data
[
'id'
];
$user
=
$data
[
'user'
];
$user
=
$data
[
'user'
];
$user_id
=
isset
(
$user
[
'id'
])
?
$user
[
'id'
]
:
0
;
$user_id
=
isset
(
$user
[
'id'
])
?
$user
[
'id'
]
:
0
;
$this
->
debug_log
(
'***************************** '
.
date
(
'Y-m-d H:i:s'
)
.
'
生成AI视频脚本开始 userid
'
.
$user_id
.
' id:'
.
$id
.
' ***********************************'
.
PHP_EOL
);
$this
->
debug_log
(
'***************************** '
.
date
(
'Y-m-d H:i:s'
)
.
'
[AI视频生成异步队列]生成AI视频脚本开始 userid:
'
.
$user_id
.
' id:'
.
$id
.
' ***********************************'
.
PHP_EOL
);
// 开发过程中的临时代码 调试用
// 开发过程中的临时代码 调试用
// $this->sendNotification($user_id, $taskid);
// $this->sendNotification($user_id, $taskid);
// $this->debug_log('[AI视频异步队列]删除Job');
// $this->debug_log('[AI视频
生成
异步队列]删除Job');
// $job->delete();
// $job->delete();
// exit;
// exit;
// 校验入参
// 校验入参
if
(
!
isset
(
$id
)
||
empty
(
$id
)
||
!
isset
(
$user_id
)
||
empty
(
$user_id
))
{
if
(
empty
(
$id
)
||
empty
(
$user_id
))
{
$this
->
debug_log
(
'[AI视频生成异步队列][删除Job]入参有空值 tryon_id:'
.
$id
.
' user_id:'
.
$user_id
);
$this
->
debug_log
(
'[AI视频异步队列]入参有空值 tryon_id:'
.
$id
.
' user_id:'
.
$user_id
);
// 删除队列job
// 删除队列job
$this
->
debug_log
(
'[AI视频]删除Job'
);
$job
->
delete
();
$job
->
delete
();
return
false
;
return
false
;
}
}
...
@@ -54,19 +51,41 @@ class AiVideoGen extends BaseJob
...
@@ -54,19 +51,41 @@ class AiVideoGen extends BaseJob
$res
=
$ai
->
generateVideo
(
$id
,
$user_id
);
$res
=
$ai
->
generateVideo
(
$id
,
$user_id
);
// 2. 更新试戴表状态
// 2. 更新试戴表状态
$tryonModel
=
new
AiTryOnModel
();
if
(
$res
[
'code'
]
===
0
)
{
if
(
$res
[
'code'
]
===
0
)
{
$tryonModel
=
new
AiTryOnModel
();
$tryonModel
->
where
(
'id'
,
$id
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
$res
[
'msg'
]]);
$tryonModel
->
where
(
'id'
,
$id
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
$res
[
'msg'
]]);
$this
->
debug_log
(
'[AI视频异步队列]合成AI视频失败 tryon_id:'
.
$id
.
' user_id:'
.
$user_id
.
' msg:'
.
$res
[
'msg'
]);
$this
->
debug_log
(
'[AI视频生成异步队列][删除Job]合成AI视频失败 tryon_id:'
.
$id
.
' user_id:'
.
$user_id
.
' msg:'
.
$res
[
'msg'
]);
// 删除队列job
// 删除队列job
$this
->
debug_log
(
'[AI视频异步队列]删除Job'
);
$job
->
delete
();
$job
->
delete
();
return
false
;
}
else
{
}
else
{
// 去重处理
$taskid
=
$res
[
'data'
];
$taskid
=
$res
[
'data'
];
$tryonModel
->
where
(
'id'
,
$id
)
->
update
([
'ai_task_id'
=>
0
,
'ai_err_msg'
=>
'视频生成中'
]);
$tryon
=
AiTryOnModel
::
where
(
'id'
,
$id
)
->
find
();
// 检查记录是否存在
if
(
!
$tryon
)
{
$this
->
debug_log
(
'[AI视频生成][删除Job]试戴记录不存在: id='
.
$id
);
$job
->
delete
();
return
false
;
}
// 检查是否已有任务ID(去重)
if
(
!
empty
(
$tryon
[
'ai_task_id'
]))
{
$this
->
debug_log
(
'[AI视频生成][删除Job]已有任务ID,跳过: id='
.
$id
.
', task_id='
.
$tryon
[
'ai_task_id'
]);
$job
->
delete
();
return
false
;
}
// 更新任务ID和状态
AiTryOnModel
::
where
(
'id'
,
$id
)
->
update
([
'ai_task_id'
=>
$taskid
,
'ai_err_msg'
=>
'视频生成中'
]);
// 推送队列
// 推送队列
\think\Queue
::
push
(
'\addons\shopro\job\AiVideoRetry@exec'
,
[
'user'
=>
$user
,
'taskId'
=>
$taskid
,
'id'
=>
$id
,
'retry_count'
=>
0
],
'shopro-high'
);
\think\Queue
::
push
(
'\addons\shopro\job\AiVideoRetry@exec'
,
[
'user'
=>
$user
,
'taskId'
=>
$taskid
,
'id'
=>
$id
,
'retry_count'
=>
0
],
'shopro-high'
);
...
@@ -75,18 +94,9 @@ class AiVideoGen extends BaseJob
...
@@ -75,18 +94,9 @@ class AiVideoGen extends BaseJob
}
catch
(
\Exception
$e
)
{
}
catch
(
\Exception
$e
)
{
// 队列执行失败,记录日志并删除队列job
// 队列执行失败,记录日志并删除队列job
$logInfo
=
[
format_log_error_custom_name
(
$e
,
'[AI视频生成异步队列][异常][删除Job]'
,
''
,
'gen_ai'
);
" [AI视频异步队列] Exception LOG INFO BEGIN "
,
'[ Message ] '
.
var_export
(
'['
.
$e
->
getCode
()
.
']'
.
$e
->
getMessage
()
.
' '
.
'AiVideoGen.save.'
.
$user
[
'id'
]
??
'user_id'
.
$video_url
??
'video_url'
,
true
),
'[ File ] '
.
var_export
(
$e
->
getFile
()
.
':'
.
$e
->
getLine
(),
true
),
'[ Trace ] '
.
var_export
(
$e
->
getTraceAsString
(),
true
),
"[AI视频异步队列] Exception LOG INFO ENDED "
,
];
$logInfo
=
implode
(
PHP_EOL
,
$logInfo
)
.
PHP_EOL
;
$this
->
debug_log
(
$logInfo
);
// 删除队列job
// 删除队列job
$this
->
debug_log
(
'[AI视频异步队列]删除Job'
);
$job
->
delete
();
$job
->
delete
();
}
}
}
}
...
...
addons/shopro/job/AiVideoRetry.php
View file @
823044e7
...
@@ -44,15 +44,15 @@ class AiVideoRetry extends BaseJob
...
@@ -44,15 +44,15 @@ class AiVideoRetry extends BaseJob
$user
=
$data
[
'user'
];
$user
=
$data
[
'user'
];
$user_id
=
isset
(
$user
[
'id'
])
?
$user
[
'id'
]
:
0
;
$user_id
=
isset
(
$user
[
'id'
])
?
$user
[
'id'
]
:
0
;
$this
->
debug_log
(
'***************************** '
.
date
(
'Y-m-d H:i:s'
)
.
'查询AI视频
生成
状态脚本开始 userid '
.
$user_id
.
' taskid:'
.
$taskid
.
' id:'
.
$id
.
' ***********************************'
.
PHP_EOL
);
$this
->
debug_log
(
'***************************** '
.
date
(
'Y-m-d H:i:s'
)
.
'查询AI视频状态脚本开始 userid '
.
$user_id
.
' taskid:'
.
$taskid
.
' id:'
.
$id
.
' ***********************************'
.
PHP_EOL
);
// 校验入参
// 校验入参
if
(
empty
(
$id
)
||
empty
(
$user_id
)
||
empty
(
$taskid
))
{
if
(
empty
(
$id
)
||
empty
(
$user_id
)
||
empty
(
$taskid
))
{
$this
->
debug_log
(
'[AI视频异步队列]入参有空值 tryon_id:'
.
$id
.
' user_id:'
.
$user_id
.
' taskid:'
.
$taskid
);
$this
->
debug_log
(
'[AI视频
查询
异步队列]入参有空值 tryon_id:'
.
$id
.
' user_id:'
.
$user_id
.
' taskid:'
.
$taskid
);
// 删除队列job
// 删除队列job
$this
->
debug_log
(
'[AI视频]删除Job'
);
$this
->
debug_log
(
'[AI视频
查询异步队列
]删除Job'
);
$job
->
delete
();
$job
->
delete
();
return
false
;
return
false
;
}
}
...
@@ -68,7 +68,7 @@ class AiVideoRetry extends BaseJob
...
@@ -68,7 +68,7 @@ class AiVideoRetry extends BaseJob
'allow_redirects'
=>
true
'allow_redirects'
=>
true
];
];
$this
->
debug_log
(
'[AI视频异步队列]请求AI接口入参 user_id:'
.
$user_id
.
' AI接口url:'
.
$url
.
' params:'
.
json_encode
(
$params
));
$this
->
debug_log
(
'[AI视频
查询
异步队列]请求AI接口入参 user_id:'
.
$user_id
.
' AI接口url:'
.
$url
.
' params:'
.
json_encode
(
$params
));
// 向AI接口 发送请求
// 向AI接口 发送请求
$client
=
new
Http
();
$client
=
new
Http
();
...
@@ -78,7 +78,7 @@ class AiVideoRetry extends BaseJob
...
@@ -78,7 +78,7 @@ class AiVideoRetry extends BaseJob
$content
=
preg_replace
(
'/[^\x20-\x7E]/'
,
''
,
$content
);
$content
=
preg_replace
(
'/[^\x20-\x7E]/'
,
''
,
$content
);
$result
=
json_decode
(
$content
,
true
);
$result
=
json_decode
(
$content
,
true
);
$this
->
debug_log
(
'[AI视频异步队列]请求AI接口出参 response:'
.
json_encode
(
$result
));
$this
->
debug_log
(
'[AI视频
查询
异步队列]请求AI接口出参 response:'
.
json_encode
(
$result
));
// 2. AI接口 返回值处理 接口失败场景
// 2. AI接口 返回值处理 接口失败场景
if
(
isset
(
$result
[
'error'
])){
if
(
isset
(
$result
[
'error'
])){
...
@@ -89,7 +89,7 @@ class AiVideoRetry extends BaseJob
...
@@ -89,7 +89,7 @@ class AiVideoRetry extends BaseJob
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
$message
]);
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
$message
]);
// 删除队列job
// 删除队列job
$this
->
debug_log
(
'[AI视频异步队列]删除Job'
);
$this
->
debug_log
(
'[AI视频
查询
异步队列]删除Job'
);
$job
->
delete
();
$job
->
delete
();
return
false
;
return
false
;
}
}
...
@@ -104,24 +104,22 @@ class AiVideoRetry extends BaseJob
...
@@ -104,24 +104,22 @@ class AiVideoRetry extends BaseJob
$aiService
=
new
Ai
();
$aiService
=
new
Ai
();
$video_url
=
$aiService
->
saveFileLoc
(
isset
(
$result
[
'content'
][
'video_url'
])
?
$result
[
'content'
][
'video_url'
]
:
''
,
'.mp4'
,
'gen_ai'
);
$video_url
=
$aiService
->
saveFileLoc
(
isset
(
$result
[
'content'
][
'video_url'
])
?
$result
[
'content'
][
'video_url'
]
:
''
,
'.mp4'
,
'gen_ai'
);
// $video_url = $this->saveVideoLoc(isset($result['content']['video_url']) ? $result['content']['video_url'] : '');
$this
->
debug_log
(
'[AI视频查询异步队列]保存本地接口返回值 video_url:'
.
$video_url
);
$this
->
debug_log
(
'[AI视频异步队列]保存本地接口返回值 video_url:'
.
$video_url
);
if
(
$video_url
===
0
){
if
(
$video_url
===
0
){
AiTryOnModel
::
where
(
'user_id'
,
$user_id
)
->
where
(
'ai_task_id'
,
$taskid
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
'视频保存到本地失败'
]);
AiTryOnModel
::
where
(
'user_id'
,
$user_id
)
->
where
(
'ai_task_id'
,
$taskid
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
'视频保存到本地失败'
]);
$this
->
debug_log
(
'[AI视频异步队列]保存本地视频失败 sql: '
.
db
()
->
getLastSql
());
$this
->
debug_log
(
'[AI视频
查询
异步队列]保存本地视频失败 sql: '
.
db
()
->
getLastSql
());
}
}
// 更新我的试戴
// 更新我的试戴
记录
AiTryOnModel
::
where
(
'user_id'
,
$user_id
)
->
where
(
'ai_task_id'
,
$taskid
)
->
update
([
'ai_status'
=>
1
,
'ai_url'
=>
config
(
'shopro.api_host'
)
.
$video_url
,
'ai_err_msg'
=>
'视频生成成功'
]);
AiTryOnModel
::
where
(
'user_id'
,
$user_id
)
->
where
(
'ai_task_id'
,
$taskid
)
->
update
([
'ai_status'
=>
1
,
'ai_url'
=>
config
(
'shopro.api_host'
)
.
$video_url
,
'ai_err_msg'
=>
'视频生成成功'
]);
$this
->
debug_log
(
'[AI视频异步队列]保存本地视频成功 sql: '
.
db
()
->
getLastSql
());
$this
->
debug_log
(
'[AI视频
查询
异步队列]保存本地视频成功 sql: '
.
db
()
->
getLastSql
());
// 发送成功消息通知
// 发送成功消息通知
$aiService
->
sendNotification
(
$user_id
,
$id
);
$aiService
->
sendNotification
(
$user_id
,
$id
);
// 删除队列job
// 删除队列job
$this
->
debug_log
(
'[AI视频异步队列]删除Job'
);
$this
->
debug_log
(
'[AI视频
查询
异步队列]删除Job'
);
$job
->
delete
();
$job
->
delete
();
break
;
break
;
...
@@ -138,12 +136,12 @@ class AiVideoRetry extends BaseJob
...
@@ -138,12 +136,12 @@ class AiVideoRetry extends BaseJob
][
$result
[
'status'
]];
][
$result
[
'status'
]];
AiTryOnModel
::
where
(
'user_id'
,
$user_id
)
->
where
(
'ai_task_id'
,
$taskid
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
$msg
]);
AiTryOnModel
::
where
(
'user_id'
,
$user_id
)
->
where
(
'ai_task_id'
,
$taskid
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
$msg
]);
$this
->
debug_log
(
'[AI视频
异步队列]AI生成
视频任务 过期: taskId: '
.
$taskid
.
'userId '
.
$user_id
);
$this
->
debug_log
(
'[AI视频
查询异步队列]AI
视频任务 过期: taskId: '
.
$taskid
.
'userId '
.
$user_id
);
$this
->
debug_log
(
'[AI视频
异步队列]AI生成
视频任务 过期: result:'
.
json_encode
(
$result
));
$this
->
debug_log
(
'[AI视频
查询异步队列]AI
视频任务 过期: result:'
.
json_encode
(
$result
));
$this
->
debug_log
(
'[AI视频
异步队列]AI生成
视频任务 过期: sql:'
.
db
()
->
getLastSql
());
$this
->
debug_log
(
'[AI视频
查询异步队列]AI
视频任务 过期: sql:'
.
db
()
->
getLastSql
());
// 删除队列job
// 删除队列job
$this
->
debug_log
(
'[AI视频异步队列]删除Job'
);
$this
->
debug_log
(
'[AI视频
查询
异步队列]删除Job'
);
$job
->
delete
();
$job
->
delete
();
break
;
break
;
...
@@ -169,8 +167,6 @@ class AiVideoRetry extends BaseJob
...
@@ -169,8 +167,6 @@ class AiVideoRetry extends BaseJob
// 队列执行失败
// 队列执行失败
format_log_error_custom_name
(
$e
,
'[AI视频异步队列]'
,
''
,
'gen_ai'
);
format_log_error_custom_name
(
$e
,
'[AI视频异步队列]'
,
''
,
'gen_ai'
);
// !empty($video_url) && $this->deleteLocalVideo($video_url); // 删除保存到本地的视频,如果已经保存了的话
// 删除队列job
// 删除队列job
$this
->
debug_log
(
'[AI视频异步队列]删除Job'
);
$this
->
debug_log
(
'[AI视频异步队列]删除Job'
);
$job
->
delete
();
$job
->
delete
();
...
@@ -193,17 +189,16 @@ class AiVideoRetry extends BaseJob
...
@@ -193,17 +189,16 @@ class AiVideoRetry extends BaseJob
$data
[
'retry_count'
]
=
$retryCount
;
// 存储到data中
$data
[
'retry_count'
]
=
$retryCount
;
// 存储到data中
// release(0) 立即放入队尾,release($delay) 延迟后放入队尾
// release(0) 立即放入队尾,release($delay) 延迟后放入队尾
$this
->
debug_log
(
'[AI视频
异步队列]放入队尾Job: taskId: '
.
$taskid
.
'userId '
.
$user_id
.
'
retryCount: '
.
$retryCount
.
'id: '
.
$id
);
$this
->
debug_log
(
'[AI视频
查询异步队列]放入队尾Job: taskId: '
.
$taskid
.
' userId: '
.
$user_id
.
'
retryCount: '
.
$retryCount
.
'id: '
.
$id
);
$job
->
release
(
self
::
RETRY_DELAY
);
$job
->
release
(
self
::
RETRY_DELAY
);
}
else
{
}
else
{
// 重试次数已达上限,标记失败
// 重试次数已达上限,标记失败
AiTryOnModel
::
where
(
'user_id'
,
$user_id
)
->
where
(
'ai_task_id'
,
$taskid
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
'视频生成超时'
]);
AiTryOnModel
::
where
(
'user_id'
,
$user_id
)
->
where
(
'ai_task_id'
,
$taskid
)
->
update
([
'ai_status'
=>
2
,
'ai_err_msg'
=>
'视频生成超时'
]);
$this
->
debug_log
(
'[AI视频
异步队列]超时未得到结果: taskId: '
.
$taskid
.
'userId '
.
$user_id
.
'
retryCount: '
.
$retryCount
.
'id: '
.
$id
);
$this
->
debug_log
(
'[AI视频
查询异步队列]超时未得到结果: taskId: '
.
$taskid
.
'userId '
.
$user_id
.
'
retryCount: '
.
$retryCount
.
'id: '
.
$id
);
$this
->
debug_log
(
'[AI视频
异步队列
]超时未得到结果: sql:'
.
db
()
->
getLastSql
());
$this
->
debug_log
(
'[AI视频
查询异步队列][删除Job
]超时未得到结果: sql:'
.
db
()
->
getLastSql
());
// 删除队列job
// 删除队列job
$this
->
debug_log
(
'[AI视频异步队列]删除Job'
);
$job
->
delete
();
$job
->
delete
();
}
}
}
}
...
...
addons/shopro/service/user/Ai.php
View file @
823044e7
...
@@ -220,7 +220,7 @@ class Ai
...
@@ -220,7 +220,7 @@ class Ai
// 查询tryon报表
// 查询tryon报表
$tryOn
=
AiTryOnModel
::
where
(
'id'
,
$id
)
->
find
();
$tryOn
=
AiTryOnModel
::
where
(
'id'
,
$id
)
->
find
();
if
(
!
$tryOn
)
{
if
(
!
$tryOn
)
{
custom_log
(
'[AI视频异步队列]用户ID:'
.
$userId
.
' id:'
.
$id
.
' 试戴记录不存在'
,
'gen_ai'
);
custom_log
(
'[AI视频
生成
异步队列]用户ID:'
.
$userId
.
' id:'
.
$id
.
' 试戴记录不存在'
,
'gen_ai'
);
return
[
return
[
'code'
=>
0
,
'code'
=>
0
,
'msg'
=>
'试戴记录不存在'
'msg'
=>
'试戴记录不存在'
...
@@ -268,7 +268,7 @@ class Ai
...
@@ -268,7 +268,7 @@ class Ai
];
];
// 记录入参日志
// 记录入参日志
custom_log
(
'[AI视频异步队列]用户ID:'
.
$userId
.
' AI生成视频接口入参:'
.
json_encode
(
$params
),
'gen_ai'
);
custom_log
(
'[AI视频
生成
异步队列]用户ID:'
.
$userId
.
' AI生成视频接口入参:'
.
json_encode
(
$params
),
'gen_ai'
);
// AI接口 发送请求
// AI接口 发送请求
$client
=
new
Http
();
$client
=
new
Http
();
...
@@ -280,7 +280,7 @@ class Ai
...
@@ -280,7 +280,7 @@ class Ai
$result
=
json_decode
(
$content
,
true
);
$result
=
json_decode
(
$content
,
true
);
// 记录出参日志
// 记录出参日志
custom_log
(
'[AI视频异步队列]用户ID:'
.
$userId
.
' AI生成视频接口返回:'
.
json_encode
(
$result
),
'gen_ai'
);
custom_log
(
'[AI视频
生成
异步队列]用户ID:'
.
$userId
.
' AI生成视频接口返回:'
.
json_encode
(
$result
),
'gen_ai'
);
return
[
return
[
'code'
=>
1
,
'code'
=>
1
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment