|
|
@@ -81,16 +81,72 @@ class BookService
|
|
|
})->toArray();
|
|
|
}
|
|
|
|
|
|
+ public function overseasBookList($data) {
|
|
|
+ $bid = getProp($data, 'bid');
|
|
|
+ $book_name = getProp($data, 'book_name');
|
|
|
+ $status = getProp($data, 'status');
|
|
|
+ $page = getProp($data, 'page', 1);
|
|
|
+ $per_page = getProp($data, 'pageSize', 15);
|
|
|
+
|
|
|
+ $query = DB::table('mp_book_translation_push_records as a')->leftJoin('books as b', 'a.bid', '=', 'b.id')->leftJoin('book_configs as bc', 'b.id', '=', 'bc.bid')
|
|
|
+ ->select('a.version_id as bid', 'a.version_name as book_name', 'b.status', 'bc.origin_book_name');
|
|
|
+
|
|
|
+ if ($bid) {
|
|
|
+ $query->where('a.version_id', $bid);
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($book_name) {
|
|
|
+ $query->where('bc.book_name', 'like', "%{$book_name}%");
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($status !== '') {
|
|
|
+ $query->where('b.status', $status);
|
|
|
+ }
|
|
|
+
|
|
|
+ $result = $query->orderBy('a.id')->paginate($per_page);
|
|
|
+
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function overseasBooks($data) {
|
|
|
+ $bid = getProp($data, 'bid');
|
|
|
+ $book_name = getProp($data, 'book_name');
|
|
|
+
|
|
|
+ $query = DB::table('mp_book_translation_push_records')->select('version_id as bid', 'version_name as book_name');
|
|
|
+ if ($bid) {
|
|
|
+ $query->where('version_id', $bid);
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($book_name) {
|
|
|
+ $query->where('version_name', 'like', "%{$book_name}%");
|
|
|
+ }
|
|
|
+
|
|
|
+ return $query->orderBy('id', 'desc')->get()->map(function($value) {
|
|
|
+ return (array)$value;
|
|
|
+ })->toArray();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public function addBookVersion($data) {
|
|
|
$bid = getProp($data, 'bid');
|
|
|
if (!$bid) Utils::throwError('20003:请选择书籍');
|
|
|
|
|
|
$version_name = trim(getProp($data, 'version_name'));
|
|
|
if (!$version_name) Utils::throwError('20003:请填写版本名');
|
|
|
- $book_name = DB::table('book_configs')->where('bid', $bid)->value('book_name');
|
|
|
- if (DB::table('mp_book_version')->where('bid', $bid)->where('version_name', $version_name)->exists()) Utils::throwError('20003:版本名已存在');
|
|
|
-
|
|
|
- $all_chapters = DB::table('chapters')->where('bid', $bid)->where('is_check', 1)->where('is_deleted', 0)->select('id', 'name', 'sequence', 'size', 'chapter_content_id')->get();
|
|
|
+
|
|
|
+ // 兼容海外翻译小说
|
|
|
+ if (strlen($bid) >= 8) { // 海外翻译小说的书籍ID>=8位数(即AI翻译后台的版本ID,version_bid为真正的bid)
|
|
|
+ $origin_bid = DB::table('mp_book_translation_version')->where('id', $bid)->value('bid');
|
|
|
+ $book_name = DB::table('book_configs')->where('bid', $origin_bid)->value('book_name');
|
|
|
+
|
|
|
+ $all_chapters = DB::table('chapters_ai_translation')->where('version_id', $bid)->where('bid', $origin_bid)->where('is_push', 1)->select('id', 'name', 'sequence', 'charge_length as size')->orderBy('sequence')->get();
|
|
|
+ }else {
|
|
|
+ $book_name = DB::table('book_configs')->where('bid', $bid)->value('book_name');
|
|
|
+ if (DB::table('mp_book_version')->where('bid', $bid)->where('version_name', $version_name)->exists()) Utils::throwError('20003:版本名已存在');
|
|
|
+
|
|
|
+ $all_chapters = DB::table('chapters')->where('bid', $bid)->where('is_check', 1)->where('is_deleted', 0)->select('id', 'name', 'sequence', 'size', 'chapter_content_id')->get();
|
|
|
+ }
|
|
|
+
|
|
|
try {
|
|
|
DB::beginTransaction();
|
|
|
|