<?php /** * Created by PhpStorm. * User: tandunzhao * Date: 2018/6/20 * Time: 下午4:53 */ namespace App\Http\Controllers\Manage\OfficialAccount; use App\Http\Controllers\Manage\Finance\BaseController; use App\Http\Controllers\Manage\OfficialAccount\Transformers\OfficialAccountDaySubStatTransformer; use App\Modules\Subscribe\Services\OfficialAccountDaySubStatService; use Illuminate\Http\Request; class DataController extends BaseController { /** * @apiVersion 1.0.0 * @apiDescription 每个服务号每月订阅数据 * @api {GET} OfficialAccount/day/sub/stat * @apiGroup OfficialAccount * @apiName get_list * @apiParam {String} [appid] 服务号ID * @apiParam {String} [search_name] 搜索服务号名称 * @apiParam {String} [type] month, day 按月,按天 * @apiParam {String} [start_time] 开始时间2017-01-01.(可不传) * @apiParam {String} [end_time] 结束时间2017-02-01.(可不传) * * @apiSuccess {String} appid 服务号ID * @apiSuccess {String} official_account_name 服务号名称 * @apiSuccess {String} date 日期. * @apiSuccess {String} month 日期. * @apiSuccess {Number} reward_balance 赠送币金额. * @apiSuccess {Number} charge_balance 充值消耗币金额. * @apiSuccess {Number} fee 总额金额. * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data": * { * "list":[ * { * "appid": "wx6f0d9d775ef72b9a", * "official_account_name": "择天小说", * "month": "2018-05", * "date": "", * "reward_balance": "287950", * "charge_balance": "275964", * "fee": "563914" * } * ] * "meta":{ * "total": 4, * "per_page": 15, * "current_page": 1, * "last_page": 1, * "next_page_url": "", * "prev_page_url": "" * } * } * } */ function get_list(Request $request) { $appid = $request->has('appid') ? $request->input('appid') : ''; $official_account_name = $request->has('search_name') ? $request->input('search_name') : ''; $start_time = $request->has('start_time') && !empty($request->input('start_time')) ? date('Ymd',strtotime($request->input('start_time'))) : ''; $end_time = $request->has('end_time') && !empty($request->input('end_time')) ? date('Ymd',strtotime($request->input('end_time'))) : ''; $end_time = self::getMaxDay($end_time); $params = [ 'appid'=>$appid, 'official_account_name'=>$official_account_name, 'start_date'=>$start_time, 'end_date'=>$end_time, ]; $type = $request->has('type') ? $request->input('type') : 'month'; $data = []; if($type == 'day') { $data = OfficialAccountDaySubStatService::getDayListData($params); } else { $data = OfficialAccountDaySubStatService::getMonthListData($params); } return response()->pagination(new OfficialAccountDaySubStatTransformer(), $data); } }