| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 | <?phpnamespace App\Http\Controllers\WapAlipay\Order;use App\Http\Controllers\WapAlipay\BaseController;use Illuminate\Http\Request;use App\Modules\Subscribe\Services\BookOrderService;use App\Modules\Subscribe\Services\ChapterOrderService;use App\Modules\Subscribe\Services\OrderService;use App\Http\Controllers\WapAlipay\Order\Transformers\BookOrderTransformer;use App\Http\Controllers\WapAlipay\Order\Transformers\ChapterOrderTransformer;use App\Http\Controllers\WapAlipay\Order\Transformers\ChargeListTransformer;use App\Modules\Product\Services\ProductService;class OrdersController extends BaseController{    /**     * @apiDefine Order 订单     */    /**     * @apiVersion 1.0.0     * @apiDescription 充值列表     * @api {get} order/chargeList 充值列表     * @apiGroup Order     * @apiName chargeList     * @apiSuccess {int}         code 状态码     * @apiSuccess {String}      msg  信息     * @apiSuccess {object}      data 结果集     * @apiSuccessExample {json} Success-Response:     *     HTTP/1.1 200 OK     *     {     *       code: 0,     *       msg: "",     *       data: [     *               {     *                   product_id: 1,     *                   price: "30.00元",     *                   vip: 0,     *                   intro: [     *                       {     *                           label: 3000,     *                           important: false     *                       },     *                       {     *                           label: "书币",     *                           important: true     *                       }     *                   ]     *               },     *               {     *                   product_id: 2,     *                   price: "50.00元",     *                   vip: 1,     *                   intro: [     *                       {     *                           label: 5000,     *                           important: false     *                       },     *                       {     *                           label: "1000+",     *                           important: true     *                       },     *                       {     *                           label: "书币",     *                           important: false     *                       }     *                       ]     *               },     *               {     *                   product_id: 5,     *                   price: "365.00元",     *                   vip: 0,     *                   intro: [     *                       {     *                       label: "年费VIP会员",     *                       important: true     *                       }     *                   ]     *               }     *               ]     *       }     */    public function chargeList(Request $request)    {        if (!$this->checkUid()) {            return response()->error('WAP_NOT_LOGIN');        }        $res = ProductService::getChargeProduct();        if (!$res->isEmpty()) {            $data = [];            foreach ($res as $v) {                $intro = [];                if ($v->given > 0 && $v->type == 'TICKET_RECHARGE') {                    $intro = [                        [                            'label' => ($v->price * 100) . "+",                            'important' => false,                        ],                        [                            'label' => $v->given,                            'important' => true,                        ],                        [                            'label' => '书币',                            'important' => false,                        ]                    ];                    $intro2 = [                        ['label'=>'多送','important'=>false],                        ['label'=>(int)($v->given/100),'important'=>true],                        ['label'=>'元','important'=>false],                    ];                    $v->vip = 0;                }                if ($v->given == 0 && $v->type == 'TICKET_RECHARGE') {                    $intro = [                        [                            'label' => $v->price * 100,                            'important' => false,                        ],                        [                            'label' => '书币',                            'important' => false,                        ]                    ];                    $v->vip = 0;                    $intro2 = [];                }                if ($v->given == 0 && $v->type == 'YEAR_ORDER') {                    $intro = [                        [                            'label' => '年费VIP会员',                            'important' => true,                        ]                    ];                    $v->vip = 1;                    $intro2 = [                        ['label'=>'每天1元,全年免费看','important'=>false],                    ];                }                $data[] = [                    'product_id' => $v->id,                    'price' => (int)$v->price . '元',                    'vip' => $v->vip,                    'intro' => $intro,                    'intro2'=>$intro2,                    'is_default' => $v->is_default,                ];            }            return response()->success($data);        } else {            return response()->error('WAP_SYS_ERROR');        }    }    /**     * @apiVersion 1.0.0     * @apiDescription 单本消费记录     * @api {get} order/bookOrderList 单本消费记录     * @apiGroup Order     * @apiName bookOrderList     * @apiSuccess {int}         code 状态码     * @apiSuccess {String}      msg  信息     * @apiSuccess {object}      data 结果集     * @apiSuccess {Int}         uid uid     * @apiSuccess {Int}         bid bid     * @apiSuccess {Int}         book_name 书名     * @apiSuccess {Int}         fee 钱     * @apiSuccess {String}      created_at 时间     * @apiSuccessExample {json} Success-Response:     *     HTTP/1.1 200 OK     *     {     *       code: 0,     *       msg: "",     *       data: list:[     *               {     *                   uid: 4,     *                   bid: 1,     *                   book_name: "dfsedfertrwet",     *                   fee: 100,     *                   created_at: "2017-12-02 16:24:54"     *                   }     *               ]     *            meta: {     *                       total: 1,     *                       per_page: 15,     *                       current_page: 1,     *                       last_page: 1,     *                       next_page_url: "",     *                       prev_page_url: ""     *               }     *       }     */    public function bookOrderList(Request $request)    {        if (!$this->checkUid()) {            return response()->error('WAP_NOT_LOGIN');        }        $page_size = $request->input('page_size', 15);        $book_order = BookOrderService::getRecord($this->uid, $page_size);        //$book_order = BookOrder::where('uid', $this->uid)->select('bid', 'uid', 'book_name', 'created_at', 'fee')->paginate($page_size);        return response()->pagination(new BookOrderTransformer(), $book_order);    }    /**     * @apiVersion 1.0.0     * @apiDescription 章节消费记录     * @api {get} order/chapterOrderList 章节消费记录     * @apiGroup Order     * @apiName chapterOrderList     * @apiSuccess {int}         code 状态码     * @apiSuccess {String}      msg  信息     * @apiSuccess {object}      data 结果集     * @apiSuccess {Int}         uid uid     * @apiSuccess {Int}         bid bid     * @apiSuccess {Int}         cid cid     * @apiSuccess {Int}         chapter_name 章节名     * @apiSuccess {Int}         book_name 书名     * @apiSuccess {Int}         fee 钱     * @apiSuccess {String}      created_at 时间     * @apiSuccessExample {json} Success-Response:     *     HTTP/1.1 200 OK     *     {     *       code: 0,     *       msg: "",     *       data: list:[     *               {     *                   uid: 4,     *                   bid: 1,     *                   cid: 1,     *                   chapter_name: "sdfsd",     *                   book_name: "dfsedfertrwet",     *                   fee: 100,     *                   created_at: "2017-12-02 16:24:54"     *                   }     *               ]     *            meta: {     *                       total: 1,     *                       per_page: 15,     *                       current_page: 1,     *                       last_page: 1,     *                       next_page_url: "",     *                       prev_page_url: ""     *               }     *       }     */    public function chapterOrderList(Request $request)    {        if (!$this->checkUid()) {            return response()->error('WAP_NOT_LOGIN');        }        $chapter_model = new ChapterOrderService();        $page_size = $request->input('page_size', 15);        $chapter_order = $chapter_model->getByUid($this->uid, $page_size);        return response()->pagination(new ChapterOrderTransformer(), $chapter_order);    }    /**     * @apiVersion 1.0.0     * @apiDescription 充值记录     * @api {get} order/chargeRecordLists 充值记录     * @apiGroup Order     * @apiName chargeRecordLists     * @apiSuccess {int}         code 状态码     * @apiSuccess {String}      msg  信息     * @apiSuccess {object}      data 结果集     * @apiSuccess {String}      data.price       价格     * @apiSuccess {String}      data.status      状态     * @apiSuccess {String}      data.trade_no    订单号     * @apiSuccess {String}      data.created_at  时间     * @apiSuccessExample {json} Success-Response:     *     HTTP/1.1 200 OK     *    {     *       code: 0,     *       msg: "",     *           data: {     *               list: [     *               {     *                    id: 134,     *                    price: "1.00",     *                    status: "PAID",     *                    trade_no: "201712021915481585670623626232",     *                    created_at: "2017-12-02 19:15:56"     *           }     *       ],     *           meta: {     *               total: 1,     *               per_page: 15,     *               current_page: 1,     *               last_page: 1,     *               next_page_url: "",     *               prev_page_url: ""     *           }     *       }     *    }     */    public function chargeRecordLists(Request $request)    {        $page_size = $request->input('page_size', 15);        $res = OrderService::getOrderList($this->uid, $page_size);        return response()->pagination(new ChargeListTransformer(), $res);    }    //订单是否成功    public function isSuccess(Request $request){        $order = $request->input('order');        $order_info = OrderService::getByTradeNo($order);        if($order_info && $order_info->status == 'PAID'){            return response()->success();        }        return response()->error('WAP_SYS_ERROR');    }}
 |