Sin descripción

TaskController.php 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <?php
  2. namespace App\Http\Controllers\Api\Data;
  3. use App\Http\Controllers\Controller;
  4. use App\Services\Data\TaskService;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Validation\Rule;
  7. class TaskController extends Controller
  8. {
  9. /**
  10. * 我的任务-星视频列表
  11. * */
  12. public function starVideoList(Request $request)
  13. {
  14. $validator = \Validator::make($request->all(),[
  15. 'cust_id' => 'required|int',
  16. 'start_date' => 'nullable|date_format:Y-m-d',
  17. 'end_date' => 'nullable|date_format:Y-m-d',
  18. 'start_time' => 'nullable|date_format:Y-m-d H:i:s',
  19. 'end_time' => 'nullable|date_format:Y-m-d H:i:s',
  20. ]);
  21. if ($validator->fails()) {
  22. return self::returnValue($validator->getMessageBag(), 100);
  23. }
  24. $customerId = $request->input('cust_id');
  25. $keyword = $request->input('keyword');
  26. $remark = $request->input('remark');
  27. $startDate = $request->input('start_date');
  28. $endDate = $request->input('end_date');
  29. $startTime = $request->input('start_time');
  30. $endTime = $request->input('end_time');
  31. $page = $request->input('page', 1);
  32. $pageSize = $request->input('page_size', 20);
  33. list($list, $count) = TaskService::getStarVideoList($customerId, $keyword, $remark, $startDate, $endDate, $startTime, $endTime, $page, $pageSize);
  34. return self::returnPageValue($list, $count, $page, $pageSize);
  35. }
  36. /**
  37. * 配置批量创建助推订单规则
  38. * */
  39. public function setCreateTask(Request $request)
  40. {
  41. $validator = \Validator::make($request->all(),[
  42. 'cust_id' => 'required|int',
  43. 'filter' => 'required',
  44. 'campaign_type' => ['required', Rule::in([20, 30, 40, 50])],
  45. 'unit_charge_type' => ['required', Rule::in([100, 101, 102, 103, 104, 105, 106, 107, 121, 122, 123, 124])],
  46. 'unit_price_type' => ['required', Rule::in([1, 2])],
  47. 'pay_method' => ['required', Rule::in([1, 2, 3, 4])],
  48. 'target_type' => ['required', Rule::in([1, 2])],
  49. 'create_type' => ['required', Rule::in([1, 2])],
  50. ]);
  51. if ($validator->fails()) {
  52. return self::returnValue($validator->getMessageBag(), 100);
  53. }
  54. $params = [];
  55. $params['config_id'] = $request->input('config_id');
  56. $params['title'] = $request->input('title');
  57. $params['admin_id'] = $request->input('admin_id');
  58. $params['cust_id'] = $request->input('cust_id');
  59. $params['campaign_type'] = $request->input('campaign_type');
  60. $params['unit_charge_type'] = $request->input('unit_charge_type');
  61. $params['unit_price_type'] = $request->input('unit_price_type');
  62. $params['pay_method'] = $request->input('pay_method');
  63. $params['amount'] = $request->input('amount') * 1000;
  64. $params['promotion_duration'] = $request->input('promotion_duration') * 1000;
  65. $params['target_type'] = $request->input('target_type');
  66. $params['target_info'] = $request->input('target_info');
  67. $params['unit_price'] = $request->input('unit_price') * 1000;
  68. $params['create_type'] = $request->input('create_type');
  69. $params['exec_time'] = $request->input('exec_time');
  70. $params['filter'] = $request->input('filter');
  71. $params['times'] = $request->input('times', 1);
  72. # 配置规则
  73. $errno = TaskService::setCreateTask($params);
  74. return self::returnValue([], $errno);
  75. }
  76. /**
  77. * 任务列表
  78. * */
  79. public function taskList(Request $request)
  80. {
  81. $validator = \Validator::make($request->all(),[
  82. 'cust_id' => 'required|int',
  83. ]);
  84. if ($validator->fails()) {
  85. return self::returnValue($validator->getMessageBag(), 100);
  86. }
  87. $customerId = $request->input('cust_id');
  88. $page = $request->input('page', 1);
  89. $pageSize = $request->input('page_size', 20);
  90. list($list, $count) = TaskService::getTaskList($customerId, $page, $pageSize);
  91. return self::returnPageValue($list, $count, $page, $pageSize);
  92. }
  93. /**
  94. * 获取任务配置详情
  95. * */
  96. public function taskDetail(Request $request)
  97. {
  98. $validator = \Validator::make($request->all(),[
  99. 'cust_id' => 'required|int',
  100. 'config_id' => 'required|int',
  101. ]);
  102. if ($validator->fails()) {
  103. return self::returnValue($validator->getMessageBag(), 100);
  104. }
  105. $configId = $request->input('config_id');
  106. $customerId = $request->input('cust_id');
  107. $detail = TaskService::getTaskDetail($configId, $customerId);
  108. return self::returnValue($detail);
  109. }
  110. /**
  111. * 获取任务自动生成的助推订单列表
  112. * */
  113. public function orderList(Request $request)
  114. {
  115. $validator = \Validator::make($request->all(),[
  116. 'cust_id' => 'required|int',
  117. 'config_id' => 'required|int',
  118. ]);
  119. if ($validator->fails()) {
  120. return self::returnValue($validator->getMessageBag(), 100);
  121. }
  122. $configId = $request->input('config_id');
  123. $customerId = $request->input('cust_id');
  124. $orderList = TaskService::getOrderList($configId, $customerId);
  125. return self::returnValue($orderList);
  126. }
  127. /**
  128. * 停用配置
  129. * */
  130. public function stopConfig(Request $request)
  131. {
  132. $validator = \Validator::make($request->all(),[
  133. 'config_id' => 'required|int',
  134. ]);
  135. if ($validator->fails()) {
  136. return self::returnValue($validator->getMessageBag(), 100);
  137. }
  138. $adminId = $request->input('admin_id');
  139. $configId = $request->input('config_id');
  140. $errno = TaskService::stopConfig($configId, $adminId);
  141. return self::returnValue([], $errno);
  142. }
  143. /**
  144. * 星视频任务设置备注
  145. * */
  146. public function starVideoRemarkSet(Request $request)
  147. {
  148. $validator = \Validator::make($request->all(),[
  149. 'task_id' => 'required|int',
  150. 'advertiser_id' => 'required|int',
  151. ]);
  152. if ($validator->fails()) {
  153. return self::returnValue($validator->getMessageBag(), 100);
  154. }
  155. $advertiserId = $request->input('advertiser_id');
  156. $taskId = $request->input('task_id');
  157. $remark = $request->input('remark');
  158. $errno = TaskService::setRemark($advertiserId, $taskId, $remark);
  159. return self::returnValue([], $errno);
  160. }
  161. /**
  162. * 人群包列表
  163. */
  164. public function populationList(Request $request) {
  165. $validator = \Validator::make($request->all(),[
  166. 'cust_id' => 'required|int'
  167. ]);
  168. if ($validator->fails()) {
  169. return self::returnValue($validator->getMessageBag(), 100);
  170. }
  171. $custId = $request->input('cust_id');
  172. $page = $request->input('page', 1);
  173. $pageSize = $request->input('page_size', 20);
  174. $errCode = 0;
  175. list($data, $count) = TaskService::populationList($custId, $page, $pageSize, $errCode);
  176. return self::returnPageValue($data, $count, $page, $pageSize, null, $errCode);
  177. }
  178. /**
  179. * 重用配置
  180. */
  181. public function reuseConfig(Request $request)
  182. {
  183. $validator = \Validator::make($request->all(),[
  184. 'config_id' => 'required|int',
  185. ]);
  186. if ($validator->fails()) {
  187. return self::returnValue($validator->getMessageBag(), 100);
  188. }
  189. $adminId = $request->input('admin_id');
  190. $configId = $request->input('config_id');
  191. $errno = TaskService::reuseConfig($configId, $adminId);
  192. return self::returnValue([], $errno);
  193. }
  194. }