"战斗吧", //粉丝牌:"战姬众", "23225527"=> "Nebula-Beat", //"NB人", "23303212"=> "唐九夏", //"夏韭菜", "23221095"=> "吉诺儿", //"波波派", "24087754"=> "罗兹", //罗兹Blazing ]; // // 礼包列表接口 public function list(Request $request) { // $objUser = unserialize($request->get("account")); // 获取所有的礼包 $objPacks = \App\Models\GiftPack::with("attire")->orderBy("sort","asc")->get()->toArray(); // 获取用户的兑换情况 $objPackRecords = \App\Models\PackRecord::where("account_id", $objUser->id)->pluck("gift_pack_id")->toArray(); // $data = []; foreach($objPacks as $v) { $data[] = [ 'id' => $v['id'], 'name' => $v['name'], 'img' => \Storage::disk('cosv5')->url($v['img']), 'info' => '内含'.$v['coupon'].'张礼券+1个应援装扮', 'exchage_info' => "请前往".$this->rooms[$v["room_id"]]."直播间,佩戴兑换礼包对应粉丝牌,发送任意弹幕,如账号身份满足对应兑换要求(粉丝牌1级以上),即可获得礼包。", 'is_exchange' => in_array($v['id'], $objPackRecords)? 1: 0, ]; } // return [ 'errno'=> 10000, "errmsg" => 'ok', 'data' => $data, ]; } // 礼包兑换接口 public function exchange(Request $request) { // $objUser = unserialize($request->get("account")); $id = $request->input("id", 0); if(!$id) { return [ 'errno'=> 10001, "errmsg" => '参数错误', ]; } // 获取礼包 $objPack = \App\Models\GiftPack::where("id", $id)->with("attire")->first(); if(!$objPack) { return [ 'errno'=> 10002, "errmsg" => '参数错误', ]; } // 获取用户的兑换情况 $objPackRecords = \App\Models\PackRecord::where("account_id", $objUser->id) ->where("gift_pack_id",$id) ->first(); // if($objPackRecords) { return [ 'errno'=> 10003, "errmsg" => '该礼包已经兑换过了', ]; } // todo 用户是否直播间发送弹幕,是否符合要求 if(Redis::get("dm_level:".date("Ymd").":{$objUser->id}:{$objPack->room_id}") != 1) { return [ 'errno'=> 10004, "errmsg" => '还没有完成礼包任务哦', ]; } // DB::transaction(function () use($objUser, $id, $objPack) { // 添加兑换记录 $objPackRecord = new \App\Models\PackRecord(); $objPackRecord->account_id = $objUser->id; $objPackRecord->gift_pack_id = $id; $objPackRecord->save(); // 增加礼劵 DB::table('accounts') ->where("id", $objUser->id) ->increment("coupon", $objPack->coupon); // 礼劵明细 $objCouponRecord = new \App\Models\CouponRecord(); $objCouponRecord->account_id = $objUser->id; $objCouponRecord->add_cnt = $objPack->coupon; $objCouponRecord->type = 5; $objCouponRecord->pack_record_id = $objPackRecord->id; $objCouponRecord->day = date("Y-m-d"); $objCouponRecord->save(); // 试衣间增加 if($objPack->attire_id) { $fittimgRooms[] = [ "account_id" => $objUser->id, "attire_id" => $objPack->attire_id, 'created_at' =>date("Y-m-d H:i:s"), 'updated_at' =>date("Y-m-d H:i:s"), ]; \App\Models\FittingRoom::insertOrIgnore($fittimgRooms); } }); // return [ 'errno'=> 10000, "errmsg" => '快去试衣间装扮一下吧~', ]; } }