| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | <?phpnamespace App\Http\Controllers\Wap\Book;use App\Http\Controllers\Controller;use App\Http\Controllers\Wap\BaseController;use App\Http\Controllers\Wap\Book\Transformers\BookGiftsTransformer;use App\Modules\Book\Services\BookGiftsService;use App\Modules\User\Services\UserGiftService;use App\Modules\User\Services\UserService;use Illuminate\Http\Request;use Hashids;class BooksGiftController extends BaseController{    /**     * 获取所有可送礼物     * @return mixed     */   public function getAllGifts() {       $gifts = BookGiftsService::getAllGifts();       $user = UserService::getById($this->uid);       $res = ['gift'=>$gifts,'balance'=>$user->balance];       return response()->success($res);   }    public function getAllGiftsV2() {        $gifts = UserGiftService::getGifts($this->uid);        $balance  = 0;        foreach ($gifts as $gift){            $balance = $gift->balance;break;        }        $res = ['gift'=>$gifts,'balance'=>$balance];        return response()->success($res);    }    /**     * 用户打赏图书     * @param Request $request     * @return mixed     */   public function sendGifts(Request $request) {       if(!$this->checkUid()){           return response()->error('WAP_NOT_LOGIN');       }       $uid = $this->uid;       $bid = $request->input('bid','');       if(empty($bid)) {           return response()->error('PARAM_EMPTY');       }       $bid = Hashids::decode($bid)[0];       $gift_id = $request->input('gift_id','');       if(empty($gift_id)){           return response()->error('PARAM_EMPTY');       }       $gift_info = BookGiftsService::getOneGift($gift_id);       if(!$gift_info){           return response()->error('PARAM_ERROR');       }       $icon = $gift_info->icon;       $name_desc = $gift_info->name_desc;       $cost = $gift_info->cost;       $added = BookGiftsService::sendGiftToBook(compact('uid','bid','gift_id','icon','cost','name_desc'));       if(!$added) {           return response()->error('WAP_SEND_GIFT_FAILED');       }       return response()->success($added);   }    public function sendGiftsV2(Request $request) {        if(!$this->checkUid()){            return response()->error('WAP_NOT_LOGIN');        }        $uid = $this->uid;        $bid = $request->input('bid','');        if(empty($bid)) {            return response()->error('PARAM_EMPTY');        }        $bid = Hashids::decode($bid)[0];        $gift_id = $request->input('gift_id','');        if(empty($gift_id)){            return response()->error('PARAM_EMPTY');        }        $gift_info = BookGiftsService::getOneGift($gift_id);        if(!$gift_info){            return response()->error('PARAM_ERROR');        }        $result = UserGiftService::sendGiftToBook($uid,$gift_id,$bid,$gift_info);        if(!$result){            return response()->error('WAP_SEND_GIFT_FAILED');        }        return response()->success();    }    /**     * 获取送礼记录     * @param Request $request     * @return mixed     */   public function getUserSendGiftsRecord(Request $request) {       if(!$this->checkUid()){           return response()->error('WAP_NOT_LOGIN');       }       $uid = $this->uid;       $bid = $request->input('bid','');       if(empty($bid)) {           return response()->error('PARAM_EMPTY');       }       $bid = Hashids::decode($bid)[0];       $records = BookGiftsService::getSendRecords($bid);       return response()->pagination(new BookGiftsTransformer(), $records);   }    /**     * @param Request $request     * @return mixed     */   public function getSendGiftsForConsumeRecord(Request $request){       if(!$this->checkUid()){           return response()->error('WAP_NOT_LOGIN');       }       $uid = $this->uid;       $records = BookGiftsService::getConsumeSendRecords($uid);       return response()->pagination(new BookGiftsTransformer(),$records);   }    /**     * @param Request $request     * @return mixed     */   public function getUserSendGiftsRecordV2(Request $request) {        if(!$this->checkUid()){            return response()->error('WAP_NOT_LOGIN');        }        $uid = $this->uid;        $bid = $request->input('bid','');        if(empty($bid)) {            return response()->error('PARAM_EMPTY');        }        $bid = Hashids::decode($bid)[0];        $records = BookGiftsService::getSendRecordsV2($bid);        return response()->success(['records'=>collectionTransform(new BookGiftsTransformer(), $records['record']),'rank'=>$records['rank']]);   }}
 |