1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- /**
- * Created by PhpStorm.
- * User: tandunzhao
- * Date: 2017/12/4
- * Time: 下午1:43
- */
- namespace App\Modules\Book\Services;
- use App\Modules\Book\Models\SuperiorNewBooks;
- use DB;
- class SuperiorNewBookService
- {
- public static function getSuperiorCount($pid){
- return SuperiorNewBooks::getSuperiorTotal($pid);
- }
- public static function getLastSuperiorItem($pid) {
- return SuperiorNewBooks::getLastSuperiorItem($pid);
- }
- public static function addSuperiorItem($param) {
- $count = self::getSuperiorCount($param->pid);
- $sign = ['bid'=>$param->bid];
- $data = array(
- 'category_id'=>$param->category_id,
- 'pid'=>$param->pid,
- 'status'=>1,
- 'recommend_index'=>$param->recommend_index,
- 'updated_at'=>date('Y-m-d H:i:s')
- );
- //var_dump($data);
- \Log::info('superior_count:'.$count);
- $book = SuperiorNewBooks::where('bid',$param->bid)->first();
- //if(!$book) {
- if($count<20){
- SuperiorNewBooks::updateOrCreate($sign,$data);
- }else{
- $book_to_add = SuperiorNewBooks::where('bid',$param->bid)->first();
- if(!$book_to_add || ($book_to_add && $book_to_add->status==0)) {
- $last_item = self::getLastSuperiorItem($param->pid);
- $last_item->status = 0;
- $last_item->save();
- }
- SuperiorNewBooks::updateOrCreate($sign,$data);
- }
- //}
- }
- public static function getSuperiorList($pid='',$search=''){
- return SuperiorNewBooks::getSuperiorList($pid,$search);
- }
- public static function getSupriorBidList(){
- $books = SuperiorNewBooks::getSuperiorList('');
- $res = [];
- foreach ($books as $book){
- $res[] = $book->bid;
- }
- return $res;
- }
- public static function deleteOne($bid){
- return SuperiorNewBooks::where('bid',$bid)->update(['status'=>0]);
- }
- public static function setTop($bid){
- $item = SuperiorNewBooks::where('bid',$bid)->first();
- $max = SuperiorNewBooks::select(DB::raw('max(order_index) as max_index'))
- ->where('pid',$item->pid)
- ->first();
- $max_index = intval($max->max_index)+1;
- $item->order_index = $max_index;
- $item->save();
- }
- }
|