|
@@ -3854,6 +3854,11 @@ Q版卡通风格,头大身小,造型圆润可爱,线条简单,色彩明
|
|
|
}
|
|
}
|
|
|
$is_multi = getProp($anime, 'is_multi');
|
|
$is_multi = getProp($anime, 'is_multi');
|
|
|
$is_single = (int)$is_multi !== 1;
|
|
$is_single = (int)$is_multi !== 1;
|
|
|
|
|
+
|
|
|
|
|
+ // 积分余额预检(仅单剧集模式收费)
|
|
|
|
|
+ if ($is_single) {
|
|
|
|
|
+ $this->pointsService->checkUserPointsEnough(PointsService::CHAT_CHARGE_POINTS, $uid);
|
|
|
|
|
+ }
|
|
|
$question = getProp($data, 'question', $is_single ? "请根据实例格式完成单剧集剧本及分镜\n" : "请根据实例格式完成剧本大纲\n");
|
|
$question = getProp($data, 'question', $is_single ? "请根据实例格式完成单剧集剧本及分镜\n" : "请根据实例格式完成剧本大纲\n");
|
|
|
if ($prompt) {
|
|
if ($prompt) {
|
|
|
$question .= "本次修改要求如下:\n{$prompt}";
|
|
$question .= "本次修改要求如下:\n{$prompt}";
|
|
@@ -4505,11 +4510,19 @@ Q版卡通风格,头大身小,造型圆润可爱,线条简单,色彩明
|
|
|
]
|
|
]
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
- $boolen4 = DB::table('mp_anime_records')->insert($episode_records);
|
|
|
|
|
- if (!$boolen4) {
|
|
|
|
|
- Utils::throwError('20003:单剧集分镜记录保存失败');
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $boolen4 = DB::table('mp_anime_records')->insert($episode_records);
|
|
|
|
|
+ if (!$boolen4) {
|
|
|
|
|
+ Utils::throwError('20003:单剧集分镜记录保存失败');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 单剧集模式调用成功,返回结果前扣除积分并记录明细(与保存同事务)
|
|
|
|
|
+ if ($is_single && !empty($single_episode)) {
|
|
|
|
|
+ $this->chargeChatSuccess($uid, $this->pointsService->getTokensFromUsage($usage), [
|
|
|
|
|
+ 'anime_id' => $anime_id,
|
|
|
|
|
+ 'episode_id' => $episode_id ?? 0,
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}catch (\Exception $e) {
|
|
}catch (\Exception $e) {
|
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
|
dLog('deepseek')->info('新建对话错误信息: '.$e->getMessage());
|
|
dLog('deepseek')->info('新建对话错误信息: '.$e->getMessage());
|
|
@@ -4584,6 +4597,11 @@ Q版卡通风格,头大身小,造型圆润可爱,线条简单,色彩明
|
|
|
}
|
|
}
|
|
|
$is_multi = getProp($anime, 'is_multi', 1);
|
|
$is_multi = getProp($anime, 'is_multi', 1);
|
|
|
$is_single = (int)$is_multi !== 1;
|
|
$is_single = (int)$is_multi !== 1;
|
|
|
|
|
+
|
|
|
|
|
+ // 积分余额预检(仅单剧集模式收费)
|
|
|
|
|
+ if ($is_single) {
|
|
|
|
|
+ $this->pointsService->checkUserPointsEnough(PointsService::CHAT_CHARGE_POINTS, $uid);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 单剧集模式下,如果已经生成了剧集,则不允许继续调整大纲
|
|
// 单剧集模式下,如果已经生成了剧集,则不允许继续调整大纲
|
|
|
if ($is_single) {
|
|
if ($is_single) {
|
|
@@ -5300,11 +5318,19 @@ Q版卡通风格,头大身小,造型圆润可爱,线条简单,色彩明
|
|
|
]
|
|
]
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
- $boolen4 = DB::table('mp_anime_records')->insert($episode_records);
|
|
|
|
|
- if (!$boolen4) {
|
|
|
|
|
- Utils::throwError('20003:单剧集分镜记录保存失败');
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $boolen4 = DB::table('mp_anime_records')->insert($episode_records);
|
|
|
|
|
+ if (!$boolen4) {
|
|
|
|
|
+ Utils::throwError('20003:单剧集分镜记录保存失败');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 单剧集模式调用成功,返回结果前扣除积分并记录明细(与保存同事务)
|
|
|
|
|
+ if ($is_single && !empty($single_episode)) {
|
|
|
|
|
+ $this->chargeChatSuccess($uid, $this->pointsService->getTokensFromUsage($usage), [
|
|
|
|
|
+ 'anime_id' => $anime_id,
|
|
|
|
|
+ 'episode_id' => $episode_id ?? 0,
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
}catch (\Exception $e) {
|
|
}catch (\Exception $e) {
|
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
@@ -5350,6 +5376,10 @@ Q版卡通风格,头大身小,造型圆润可爱,线条简单,色彩明
|
|
|
|
|
|
|
|
public function chat($data) {
|
|
public function chat($data) {
|
|
|
$uid = Site::getUid();
|
|
$uid = Site::getUid();
|
|
|
|
|
+
|
|
|
|
|
+ // 积分余额预检(不足直接报错)
|
|
|
|
|
+ $this->pointsService->checkUserPointsEnough(PointsService::CHAT_CHARGE_POINTS, $uid);
|
|
|
|
|
+
|
|
|
$anime_id = getProp($data, 'anime_id');
|
|
$anime_id = getProp($data, 'anime_id');
|
|
|
$file = getProp($data, 'file');
|
|
$file = getProp($data, 'file');
|
|
|
$content = getProp($data, 'content', '');
|
|
$content = getProp($data, 'content', '');
|
|
@@ -6061,6 +6091,13 @@ Q版卡通风格,头大身小,造型圆润可爱,线条简单,色彩明
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
DB::table('mp_animes')->where('id', $anime_id)->update($update_anime_data);
|
|
DB::table('mp_animes')->where('id', $anime_id)->update($update_anime_data);
|
|
|
|
|
+
|
|
|
|
|
+ // 调用成功,返回结果前扣除积分并记录明细(与保存同事务)
|
|
|
|
|
+ $this->chargeChatSuccess($uid, $this->pointsService->getTokensFromUsage($usage), [
|
|
|
|
|
+ 'anime_id' => $anime_id,
|
|
|
|
|
+ 'episode_number' => $episode_number,
|
|
|
|
|
+ 'model' => $model,
|
|
|
|
|
+ ]);
|
|
|
}catch (\Exception $e) {
|
|
}catch (\Exception $e) {
|
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
|
dLog('deepseek')->info('新建对话错误信息: '.$e->getMessage());
|
|
dLog('deepseek')->info('新建对话错误信息: '.$e->getMessage());
|