| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 | <?phpnamespace 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);    }    }
 |