123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- <?php
- namespace App\Http\Controllers\Api\Data;
- use App\Http\Controllers\Controller;
- use App\Services\Data\TaskService;
- use Illuminate\Http\Request;
- use Illuminate\Validation\Rule;
- class TaskController extends Controller
- {
- /**
- * 我的任务-星视频列表
- * */
- public function starVideoList(Request $request)
- {
- $validator = \Validator::make($request->all(),[
- 'cust_id' => 'required|int',
- 'start_date' => 'nullable|date_format:Y-m-d',
- 'end_date' => 'nullable|date_format:Y-m-d',
- 'start_time' => 'nullable|date_format:Y-m-d H:i:s',
- 'end_time' => 'nullable|date_format:Y-m-d H:i:s',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 100);
- }
- $customerId = $request->input('cust_id');
- $keyword = $request->input('keyword');
- $remark = $request->input('remark');
- $startDate = $request->input('start_date');
- $endDate = $request->input('end_date');
- $startTime = $request->input('start_time');
- $endTime = $request->input('end_time');
- $page = $request->input('page', 1);
- $pageSize = $request->input('page_size', 20);
- list($list, $count) = TaskService::getStarVideoList($customerId, $keyword, $remark, $startDate, $endDate, $startTime, $endTime, $page, $pageSize);
- return self::returnPageValue($list, $count, $page, $pageSize);
- }
- /**
- * 配置批量创建助推订单规则
- * */
- public function setCreateTask(Request $request)
- {
- $validator = \Validator::make($request->all(),[
- 'cust_id' => 'required|int',
- 'filter' => 'required',
- 'campaign_type' => ['required', Rule::in([20, 30, 40, 50])],
- 'unit_charge_type' => ['required', Rule::in([100, 101, 102, 103, 104, 105, 106, 107, 121, 122, 123, 124])],
- 'unit_price_type' => ['required', Rule::in([1, 2])],
- 'pay_method' => ['required', Rule::in([1, 2, 3, 4])],
- 'target_type' => ['required', Rule::in([1, 2])],
- 'create_type' => ['required', Rule::in([1, 2])],
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 100);
- }
- $params = [];
- $params['config_id'] = $request->input('config_id');
- $params['title'] = $request->input('title');
- $params['admin_id'] = $request->input('admin_id');
- $params['cust_id'] = $request->input('cust_id');
- $params['campaign_type'] = $request->input('campaign_type');
- $params['unit_charge_type'] = $request->input('unit_charge_type');
- $params['unit_price_type'] = $request->input('unit_price_type');
- $params['pay_method'] = $request->input('pay_method');
- $params['amount'] = $request->input('amount') * 1000;
- $params['promotion_duration'] = $request->input('promotion_duration') * 1000;
- $params['target_type'] = $request->input('target_type');
- $params['target_info'] = $request->input('target_info');
- $params['unit_price'] = $request->input('unit_price') * 1000;
- $params['create_type'] = $request->input('create_type');
- $params['exec_time'] = $request->input('exec_time');
- $params['filter'] = $request->input('filter');
- $params['times'] = $request->input('times', 1);
- # 配置规则
- $errno = TaskService::setCreateTask($params);
- return self::returnValue([], $errno);
- }
- /**
- * 任务列表
- * */
- public function taskList(Request $request)
- {
- $validator = \Validator::make($request->all(),[
- 'cust_id' => 'required|int',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 100);
- }
- $customerId = $request->input('cust_id');
- $page = $request->input('page', 1);
- $pageSize = $request->input('page_size', 20);
- list($list, $count) = TaskService::getTaskList($customerId, $page, $pageSize);
- return self::returnPageValue($list, $count, $page, $pageSize);
- }
- /**
- * 获取任务配置详情
- * */
- public function taskDetail(Request $request)
- {
- $validator = \Validator::make($request->all(),[
- 'cust_id' => 'required|int',
- 'config_id' => 'required|int',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 100);
- }
- $configId = $request->input('config_id');
- $customerId = $request->input('cust_id');
- $detail = TaskService::getTaskDetail($configId, $customerId);
- return self::returnValue($detail);
- }
- /**
- * 获取任务自动生成的助推订单列表
- * */
- public function orderList(Request $request)
- {
- $validator = \Validator::make($request->all(),[
- 'cust_id' => 'required|int',
- 'config_id' => 'required|int',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 100);
- }
- $configId = $request->input('config_id');
- $customerId = $request->input('cust_id');
- $orderList = TaskService::getOrderList($configId, $customerId);
- return self::returnValue($orderList);
- }
- /**
- * 停用配置
- * */
- public function stopConfig(Request $request)
- {
- $validator = \Validator::make($request->all(),[
- 'config_id' => 'required|int',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 100);
- }
- $adminId = $request->input('admin_id');
- $configId = $request->input('config_id');
- $errno = TaskService::stopConfig($configId, $adminId);
- return self::returnValue([], $errno);
- }
- /**
- * 星视频任务设置备注
- * */
- public function starVideoRemarkSet(Request $request)
- {
- $validator = \Validator::make($request->all(),[
- 'task_id' => 'required|int',
- 'advertiser_id' => 'required|int',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 100);
- }
- $advertiserId = $request->input('advertiser_id');
- $taskId = $request->input('task_id');
- $remark = $request->input('remark');
- $errno = TaskService::setRemark($advertiserId, $taskId, $remark);
- return self::returnValue([], $errno);
- }
- /**
- * 人群包列表
- */
- public function populationList(Request $request) {
- $validator = \Validator::make($request->all(),[
- 'cust_id' => 'required|int'
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 100);
- }
- $custId = $request->input('cust_id');
- $page = $request->input('page', 1);
- $pageSize = $request->input('page_size', 20);
- $errCode = 0;
- list($data, $count) = TaskService::populationList($custId, $page, $pageSize, $errCode);
- return self::returnPageValue($data, $count, $page, $pageSize, null, $errCode);
- }
- /**
- * 重用配置
- */
- public function reuseConfig(Request $request)
- {
- $validator = \Validator::make($request->all(),[
- 'config_id' => 'required|int',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 100);
- }
- $adminId = $request->input('admin_id');
- $configId = $request->input('config_id');
- $errno = TaskService::reuseConfig($configId, $adminId);
- return self::returnValue([], $errno);
- }
- }
|