123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- <?php
- namespace App\Http\Controllers\Channel\OfficialAccount;
- use App\Modules\OfficialAccount\Models\CustomMsgSwitchs;
- use App\Modules\OfficialAccount\Services\CustomMsgService;
- use App\Http\Controllers\Channel\BaseController as ChannelBaseController;
- use App\Modules\OfficialAccount\Services\CustomSendStatsService;
- use App\Http\Controllers\Channel\OfficialAccount\Transformers\CustomSendStatsTransformers;
- use Illuminate\Http\Request;
- class CustomSendStatsController extends ChannelBaseController
- {
- /**
- * @apiDefine OfficialAccount 公众号
- */
- /**
- * @apiVersion 1.0.0
- * @api {GET} OfficialAccount/customSendDayStatsByChannelAndFrom 获取每日智能推送分析数据
- * @apiGroup OfficialAccount
- * @apiName customSendDayStatsByChannelAndFrom
- * @apiParam {String} from 智能分析类型 not_pay未支付提醒 recovery_push三天回本 hot_push热门推送 point_push书籍推荐.
- * @apiSuccess {String} distribution_channel_id 渠道号.
- * @apiSuccess {String} date 日期.
- * @apiSuccess {String} push_user_num 推送次数.
- * @apiSuccess {String} click_num 点击次数.
- * @apiSuccess {String} amount 充值金额.
- * @apiSuccess {String} success_pay_num 充值笔数.
- * @apiSuccess {String} success_pay_rate 充值率.
- * @apiSuccess {String} click_rate 点击率.
- * @apiSuccess {String} from 智能分析类型 not_pay未支付提醒 recovery_push三天回本 hot_push热门推送 point_push书籍推荐..
- * @apiSuccessExample {json} Success-Response:
- *
- * {
- * "code": 0,
- * "msg": "",
- * "data": {
- * "list": [
- * {
- * "id": 1,
- * "distribution_channel_id": 2,
- * "date": "2018-01-17",
- * "push_user_num": 1211,
- * "click_num": 211,
- * "click_rate": 0.000,
- * "amount": "2312.00",
- * "success_pay_num": 123,
- * "success_pay_rate": "0.5100",
- * "from": "not_pay"
- * },
- * {
- * "id": 2,
- * "distribution_channel_id": 2,
- * "date": "2018-01-16",
- * "push_user_num": 1312,
- * "click_num": 421,
- * "click_rate": 0.000,
- * "amount": "16421.00",
- * "success_pay_num": 3212,
- * "success_pay_rate": "0.2100",
- * "from": "not_pay"
- * }
- * ],
- * "meta": {
- * "total": 2,
- * "per_page": 15,
- * "current_page": 1,
- * "last_page": 1,
- * "next_page_url": "",
- * "prev_page_url": ""
- * }
- * }
- * }
- */
- function customSendDayStatsByChannelAndFrom(Request $request) {
- $distribution_channel_id = $this->getChannelId();
- $from = $request->has('from') ? $request->input('from') : '';
- if(empty($from)) {
- return response()->error("PARAM_EMPTY");
- }
- \Log::info('日推送智能分析 渠道ID:'.$distribution_channel_id);
- \Log::info('日推送智能分析 类型:'.$from);
- $customMsgService = CustomSendStatsService::customSendDayStatsByChannelAndFrom($distribution_channel_id,$from);
- if (!empty($customMsgService)) {
-
- return response()->pagination(new CustomSendStatsTransformers(), $customMsgService);
- }else{
- $customMsgService['distribution_channel_id'] = $distribution_channel_id;
- $customMsgService['date'] = date("Y-m-d");
- $customMsgService['push_user_num'] = 0;
- $customMsgService['click_num'] = 0;
- $customMsgService['amount'] = 0;
- $customMsgService['success_pay_num'] = 0;
- $customMsgService['success_pay_rate'] = 0;
- $customMsgService['click_rate'] = 0;
- $customMsgService['from'] = $from;
- return response()->item(new CustomSendStatsTransformers(), $customMsgService);
- }
-
- }
- /**
- * @apiVersion 1.0.0
- * @api {GET} OfficialAccount/customSendStatsByChannelAndFrom 获取智能推送分析总数据
- * @apiGroup OfficialAccount
- * @apiName customSendStatsByChannelAndFrom
- * @apiParam {String} from 智能分析类型 not_pay未支付提醒 recovery_push三天回本 hot_push热门推送 point_push书籍推荐.
- * @apiSuccess {String} distribution_channel_id 渠道号.
- * @apiSuccess {String} date 日期.
- * @apiSuccess {String} push_user_num 推送次数.
- * @apiSuccess {String} click_num 点击次数.
- * @apiSuccess {String} amount 充值金额.
- * @apiSuccess {String} success_pay_num 充值笔数.
- * @apiSuccess {String} success_pay_rate 充值率.
- * @apiSuccess {String} click_rate 点击率.
- * @apiSuccess {String} from 智能分析类型 not_pay未支付提醒 recovery_push三天回本 hot_push热门推送 point_push书籍推荐..
- * @apiSuccessExample {json} Success-Response:
- *
- * {
- * "code": 0,
- * "msg": "",
- * "data": {
- * "id": 1,
- * "distribution_channel_id": 2,
- * "date": "2018-01-18",
- * "push_user_num": 4123,
- * "click_num": 543,
- * "amount": "123141.00",
- * "success_pay_num": 2132,
- * "success_pay_rate": "0.3100",
- * "click_rate": "0.0000",
- * "from": "not_pay"
- * }
- * }
- */
- function customSendStatsByChannelAndFrom(Request $request) {
- $distribution_channel_id = $this->getChannelId();
- $from = $request->has('from') ? $request->input('from') : '';
- if(empty($from)) {
- return response()->error("PARAM_EMPTY");
- }
- \Log::info('日推送智能分析 渠道ID:'.$distribution_channel_id);
- \Log::info('日推送智能分析 类型:'.$from);
- $customMsgService = CustomSendStatsService::customSendStatsByChannelAndFrom($distribution_channel_id,$from);
- if (!empty($customMsgService)) {
-
- return response()->item(new CustomSendStatsTransformers(), $customMsgService);
- }else{
- $customMsgService['distribution_channel_id'] = $distribution_channel_id;
- $customMsgService['date'] = date("Y-m-d");
- $customMsgService['push_user_num'] = 0;
- $customMsgService['click_num'] = 0;
- $customMsgService['amount'] = 0;
- $customMsgService['success_pay_num'] = 0;
- $customMsgService['success_pay_rate'] = 0;
- $customMsgService['click_rate'] = 0;
- $customMsgService['from'] = $from;
- return response()->item(new CustomSendStatsTransformers(), $customMsgService);
- }
-
- }
-
- /**
- * 获取智能推送列表
- * @param Request $request
- */
- function customSendStatsFromTypes(Request $request) {
- $customMsgSwitchs = CustomMsgSwitchs::getCustomMsgSwitchs();
- return response()->success($customMsgSwitchs);
- }
-
- }
|