123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- <?php
- namespace App\Http\Controllers\Manage\Book;
- use App\Http\Controllers\Controller;
- use App\Http\Controllers\Manage\Book\Transformers\SuperiorHistoryBookTransformer;
- use App\Modules\Book\Services\SuperiorHistoryBookService;
- use App\Modules\Book\Services\SuperiorNewBookService;
- use Illuminate\Http\Request;
- use PhpOffice\PhpSpreadsheet\IOFactory;
- use DB;
- class SuperiorBookController extends Controller
- {
- public function getSuperiorNewBook(Request $request){
- $channel = $request->input('channel','');
- $book_name = $request->input('book_name','');
- $bid=$request->input('bid','');
- $serach = [];
- if($book_name){
- $serach[] = ['book_configs.book_name','like','%'.$book_name.'%'];
- }
- if($bid){
- $serach[] = ['book_configs.bid',$bid];
- }
- $list = SuperiorNewBookService::getSuperiorList($channel,$serach);
- foreach ($list as $item){
- $list->gender=$item->pid==1?'男':'女';
- }
- return response()->success($list);
- }
- public function getSuperiorHistoryBook(Request $request){
- $channel = $request->input('channel','');
- $book_name = $request->input('book_name','');
- $bid=$request->input('bid','');
- $serach = [];
- if($book_name){
- $serach[] = ['book_configs.book_name','like','%'.$book_name.'%'];
- }
- if($bid){
- $serach[] = ['book_configs.bid','=',$bid];
- }
- $paginate = $request->input('paginate',15);
- $list = SuperiorHistoryBookService::getSuperiorList($channel,$paginate,$serach);
- return response()->pagination(new SuperiorHistoryBookTransformer(),$list);
- }
- /**
- * 导出历史优质书库
- * @param Request $request
- */
- public function exportSuperiorHistoryBook(Request $request) {
- $channel = $request->input('channel','');
- $list = SuperiorHistoryBookService::getSuperiorList($channel,'',[],false);
- $res = collectionTransform(new SuperiorHistoryBookTransformer(),$list);
- //$superior_books = json_decode(json_encode($res),true);
- //$total = count($res);
- $superiors = [];
- foreach ($res as $key=>$superior_book){
- $superiors[] = array(
- $key+1,
- $superior_book['add_time'],
- $superior_book['bid'],
- $superior_book['book_name'],
- $superior_book['gender'],
- $superior_book['register_uv_rate'],
- $superior_book['pay_uv_rate'],
- $superior_book['charge_uv_rate'],
- );
- }
- $header = ['序号','入库时间','书籍id','书名','男女频','注册/UV','付费/UV','充值/UV'];
- saveExcelData($header,$superiors,'');
- }
- public function sortSuperiorHistoryBooks(Request $request){
- if(!$request->hasFile('superior_books_sort')) {
- return response()->error('PARAM_ERROR');
- }
- $file_obj = $request->file('superior_books_sort');
- $spreadsheet = IOFactory::load($file_obj->path());
- $sheetData = $spreadsheet->getActiveSheet(0)->toArray(null, true, true, true);
- //$sequence = $sheetDataLength = count($sheetData)-1;
- \Log::info($sheetData);
- DB::beginTransaction();
- try{
- foreach ($sheetData as $key=>$value) {
- if($key==1){
- continue;
- }
- if(!intval($value['A'])) throw new \Exception('第'.$key.'序号错误');
- SuperiorHistoryBookService::updateOne(intval($value['C']),['order_index'=>intval($value['A'])]);
- // $sequence;
- }
- }catch (\Exception $e){
- \Log::error('sort history superior books failed:'.($e->getMessage()));
- DB::rollback();
- return response()->error('UPLOAD_FAILED',$e->getMessage());
- }
- DB::commit();
- return response()->success();
- }
- public function adjustHistorySuperiorBooksSequence(Request $request) {
- $bid = $request->input('bid','');
- $sequence = $request->input('sequence','');
- if(empty($bid) && !intval($sequence)) {
- return response()->error('PARAM_EMPTY');
- }
- DB::beginTransaction();
- try{
- SuperiorHistoryBookService::adjustSequence($bid,$sequence);
- }catch (\Exception $e){
- DB::rollback();
- if($e->getCode()==10001) return ['code'=>10001,'msg'=>'序号超出范围'];
- return ['code'=>'304','msg'=>$e->getMessage()];
- }
- DB::commit();
- return response()->success();
- }
- public function modifySuperiorNewBook(Request $request) {
- $action = $request->input('action');
- $bid = $request->input('bid');
- if(!$bid){
- return response()->error('PARAM_EMPTY');
- }
- if(!in_array($action,['delete','set_top'])){
- return response()->error('PARAM_ERROR');
- }
- if($action == 'delete') {
- SuperiorNewBookService::deleteOne($bid);
- }
- if($action =='set_top') {
- SuperiorNewBookService::setTop($bid);
- }
- return response()->success();
- }
- public function modifySuperiorHistoryBook(Request $request) {
- $action = $request->input('action');
- $bid = $request->input('bid');
- if(!$bid){
- return response()->error('PARAM_EMPTY');
- }
- if(!in_array($action,['delete','set_top'])){
- return response()->error('PARAM_ERROR');
- }
- if($action == 'delete') {
- SuperiorHistoryBookService::deleteOne($bid);
- SuperiorHistoryBookService::resortSuperiorBooks();
- }
- if($action =='set_top') {
- SuperiorHistoryBookService::setTop($bid);
- }
- return response()->success();
- }
- }
|