123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 |
- <?php
- namespace 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');
- }
- }
|