123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- <?php
- namespace App\Http\Controllers\Channel\XChengXu;
- use App\Http\Controllers\Channel\BaseController;
- use App\Modules\Xcx\Services\XcxSendOrderService;
- use App\Modules\User\Models\Xcxuser;
- use App\Modules\Xcx\Models\XcxSendOrder;
- use App\Modules\Xcx\Models\XcxOrder;
- use Hashids;
- use Illuminate\Http\Request;
- use SimpleSoftwareIO\QrCode\Facades\QrCode;
- use App\Http\Controllers\Channel\XChengXu\Transformers\XcxSendOrderTransformer;
- class XcxSendOrderController extends BaseController
- {
- /**
- * @apiDefine sendOrder 派单
- */
- /**
- * @apiVersion 1.0.0
- * @api {GET} getSendOrders 获取派单列表
- * @apiGroup sendOrder
- * @apiName getSendOrders
- * @apiParam{Number} [sendOrder_id] 派单id(可不传)
- * @apiParam{String} [start_time] 开始时间(可不传)
- * @apiParam{String} [end_time] 结束时间(可不传)
- * @apiParam{String} [pre_send_date_start] 预计发布时间开始(可不传)
- * @apiParam{String} [pre_send_date_end] 预计发布时间结束(可不传)
- * @apiSuccess {Number} id 派单id.
- * @apiSuccess {String} distribution_channel_id 渠道id
- * @apiSuccess {String} name 渠道名称
- * @apiSuccess {String} updated_at 更新时间
- * @apiSuccess {String} created_at 创建时间
- * @apiSuccess {String} pre_send_date 预计发布时间
- * @apiSuccess {Number} remark 备注
- * @apiSuccess {Number} star_num 星星数
- * @apiSuccess {Number} cost 成本
- * @apiSuccess {Number} totalChargeAmount 充值总额数
- * @apiSuccess {Number} totalOrderNum 订单总数
- * @apiSuccess {Number} sucOrderNum 成功订单数
- * @apiSuccess {Number} addUserNum 新增用户
- * @apiSuccessExample {json} Success-Response:
- *
- * {
- * "code": 0,
- * "msg": "",
- *
- * "data": [
- * {
- * }
- */
- function getSendOrders(Request $request)
- {
- $distribution_channel_id = $this->getChannelId();
- $name = $request->has('name') ? $request->input('name') : '';
- $id = $sendOrderId = $request->has('sendOrder_id') ? $request->input('sendOrder_id') : '';
- $promotion_type = $request->has('promotion_type') ? $request->input('promotion_type') : '';
- $pre_send_date_end = $request->has('pre_send_date_end') ? $request->input('pre_send_date_end') : '';
- $pre_send_date_start = $request->has('pre_send_date_start') ? $request->input('pre_send_date_start') : '';
- $start_time = $request->has('start_time') && !empty($request->input('start_time')) ? $request->input('start_time') : '';
- $end_time = $request->has('end_time') && !empty($request->input('end_time')) ? date('Y-m-d H:i:s', strtotime($request->input('end_time')) + 86400 - 1) : '';
- $data = array();
- $data = XcxSendOrderService::search(compact(
- 'distribution_channel_id',
- 'name',
- 'pre_send_date_end',
- 'pre_send_date_start',
- 'promotion_type',
- 'pre_send_date',
- 'start_time',
- 'end_time',
- 'id'
- ));
- foreach ($data as $item) {
- $sendOrderId = $item->id;
-
- //充值总额数
- $item->totalChargeAmount = XcxOrder::getTotalChargeAmount($sendOrderId,$distribution_channel_id);
- //订单总数
- $item->totalOrderNum = XcxOrder::getTotalOrderNum($sendOrderId,$distribution_channel_id);
- //成功订单数
- $item->sucOrderNum = XcxOrder::getSucOrderNum($sendOrderId,$distribution_channel_id);
- //新增用户
- $item->addUserNum = Xcxuser::getAddUserNum($sendOrderId,$distribution_channel_id);
-
- // 海报
- if($item->promotion_type == 'POSTER_EXTEND'){
- $item->promotion_type_name = '海报推广';
- $item->promotion_url = 'http://channel.zhuishuyun.com/xcx/yun?channel_id='.$distribution_channel_id.'&xcx_send_order_id='.$sendOrderId;
- }
- // U参
- else{
- $item->promotion_type_name = '参数推广';
- $item->promotion_url = 'pages/index/index?xcx_send_order_id='.$sendOrderId;
- }
- \Log::info($item);
-
- }
- return response()->pagination(new XcxSendOrderTransformer, $data);
- }
- /**
- * @apiVersion 1.0.0
- * @apiDescription 派单列表导出
- * @api {GET} sendOrder/exportSendOrders 派单列表导出
- * @apiGroup sendOrder
- * @apiName exportSendOrders
- * @apiParam{Number} [sendOrder_id] 派单id(可不传)
- * @apiParam{Number} [book_id] 书本id(可不传)
- * @apiParam{String} [book_name] 书名(可不传)
- * @apiParam{String} [name] 派单名称(可不传)
- * @apiParam{String} [pre_send_date_start] 预计发布时间开始(可不传)
- * @apiParam{String} [pre_send_date_end] 预计发布时间结束(可不传)
- * @apiParam{String} [start_time] 开始时间(可不传)
- * @apiParam{String} [end_time] 结束时间(可不传)
- * @apiParam{String} [promotion_point] 派单源 微信(默认)or浏览器(微信:1,浏览器:2)
- * @apiSuccess {Number} id 派单id.
- * @apiSuccess {String} distribution_channel_id 渠道id
- * @apiSuccess {String} entrance 入口
- * @apiSuccess {String} name 渠道名称
- * @apiSuccess {Number} book_id 书本id
- * @apiSuccess {String} channel_type 渠道类型
- * @apiSuccess {Number} document_cover_id 文案封面id
- * @apiSuccess {Number} headline_id 标题id
- * @apiSuccess {Number} body_template_id ID. 内容模板id
- * @apiSuccess {Number} original_guide_id 原文引导id
- * @apiSuccess {Number} subscribe_chapter_id 关注章节ID
- * @apiSuccess {String} book_name 图书名称
- * @apiSuccess {String} chapter_name 章节名称
- * @apiSuccess {Number} cost 成本
- * @apiSuccess {String} updated_at 更新时间
- * @apiSuccess {String} created_at 创建时间
- * @apiSuccess {String} subscribe_chapter_name 关注章节名称
- * @apiSuccess {String} subscribe_chapter_seq 关注章节序号
- * @apiSuccess {Number} remark 备注
- * @apiSuccess {Number} star_num 星星数
- * @apiSuccess {Number} totalChargeAmount 充值总额数
- * @apiSuccess {Number} registerNum 注册数
- * @apiSuccess {Number} payUserNum 付费用户数
- * @apiSuccess {Number} clickNum 点击数数
- * @apiSuccess {Number} fansNum 粉丝数
- * @apiSuccess {Number} promotion_page_id 推广页面id
- * @apiSuccess {String} redirect_url 重定向url
- * @apiSuccessExample {json} Success-Response:
- *
- * {
- * "code": 0,
- * "msg": "",
- *
- * "data": [
- * {
- * }
- * ]
- * }
- */
- function exportSendOrders(Request $request)
- {
- set_time_limit(0);
- $distribution_channel_id = $this->getChannelId();
- exit();
- }
- /**
- * @apiVersion 1.0.0
- * @apiDescription 生成推广的派单
- * @api {POST} createOrder 生成推广的派单
- * @apiGroup sendOrder
- * @apiName createOrder
- * @apiParam{Number} cost 成本(可选).
- * @apiParam{String} name 派单渠道名称.
- * @apiParam{String} promotion_type 推广类型[POSTER_EXTEND、PARAM_EXTEND]. 海报推广、参数推广
- * @apiSuccess {Number} id 派单id(推广U参)
- * @apiSuccess {String} name 派单名称
- * @apiSuccessExample {json} Success-Response:
- * {
- * "code": 0,
- * "msg": "",
- * "data":{"id":5,"name":"派单名称", "promotion_url":"promotion_url"}
- * }
- */
- function createOrder(Request $request)
- {
- $name = $request->has('name') ? $request->input('name') : '';
- $cost = $request->has('cost') ? $request->input('cost') : 0;
- $promotion_type = $request->has('promotion_type') ? $request->input('promotion_type') : '';
- if (!$name || !$promotion_type) return response()->error('PARAM_EMPTY');
- $distribution_channel_id = $this->getChannelId();
- $sendOrder = XcxSendOrderService::createOrder(compact('name', 'promotion_type', 'cost', 'distribution_channel_id'));
- $sendOrderId = $sendOrder->id;
- // 海报
- if($promotion_type == 'POSTER_EXTEND'){
- $promotion_url = 'http://channel.zhuishuyun.com/xcx/yun?channel_id='.$distribution_channel_id.'&xcx_send_order_id='.$sendOrderId;
- }
- // U参
- else{
- $promotion_url = 'pages/index/index?xcx_send_order_id='.$sendOrderId;
- }
- return response()->success(['id' => $sendOrder->id, 'name' => $name,'promotion_url'=>$promotion_url]);
- }
- }
|