新版订单消耗系统

ProjectController.php 6.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Services\ProjectService;
  4. use App\Services\OrderService;
  5. use Illuminate\Http\Request;
  6. class ProjectController extends Controller
  7. {
  8. /**
  9. * 项目列表
  10. */
  11. public function index(Request $request)
  12. {
  13. $validator = \Validator::make($request->all(), [
  14. 'title' => 'string',
  15. 'page' => 'required',
  16. 'pagesize' => 'int',
  17. ], [
  18. 'title.string' => '项目名称必须为字符类型',
  19. ]);
  20. if ($validator->fails()) {
  21. return self::returnValue($validator->getMessageBag(), 1102);
  22. }
  23. $title = $request->input('title');
  24. $page = $request->input('page', 1);
  25. $pagesize = $request->input('pagesize', 20);
  26. list($data, $total) = ProjectService::index($page, $pagesize, $title);
  27. return self::returnPageValue($data, $total, $pagesize, $page);
  28. }
  29. /**
  30. * 项目详情
  31. */
  32. public function detail(Request $request)
  33. {
  34. $validator = \Validator::make($request->all(), [
  35. 'id' => 'required|int',
  36. ], [
  37. 'id.required' => '参数有误',
  38. ]);
  39. if ($validator->fails()) {
  40. return self::returnValue($validator->getMessageBag(), 1102);
  41. }
  42. $id = $request->input('id');
  43. $detail = ProjectService::detail($id);
  44. if( isset($detail->month) ){
  45. $detail->month = substr($detail->month, 0, 7);
  46. }
  47. return self::returnValue($detail);
  48. }
  49. /**
  50. * 添加项目
  51. */
  52. public function add(Request $request)
  53. {
  54. $validator = \Validator::make($request->all(), [
  55. 'title' => 'required|string',
  56. // 'advertiser_account' => 'required|string',
  57. // 'advertiser_id' => 'required|string',
  58. // 'company' => 'required|string',
  59. // 'month' => 'required|string',
  60. // 'sales_name' => 'required|string',
  61. // 'handle_user' => 'nullable|string',
  62. // 'customer_name' => 'required|string',
  63. // 'platform_name' => 'required|string',
  64. // 'media_name' => 'required|string',
  65. ], [
  66. 'title.required' => '项目名称必填'
  67. // 'advertiser_account.required' => '所属账户必填',
  68. // 'company.required' => '签约公司必填',
  69. // 'month.required' => '所属月份必填',
  70. // 'sales_name.required' => '销售人员必填',
  71. // 'customer_name.required' => '客户全称必填',
  72. // 'platform_name.required' => '投放平台必填',
  73. // 'media_name.required' => '媒体名称必填',
  74. ]);
  75. if ($validator->fails()) {
  76. return self::returnValue($validator->getMessageBag(), 1102);
  77. }
  78. $params = array();
  79. $user = \Auth::user();
  80. $params['title'] = $request->input('title');
  81. // $params['advertiser_account'] = $request->input('advertiser_account');
  82. // $params['advertiser_id'] = $request->input('advertiser_id');
  83. // $params['company'] = $request->input('company');
  84. // $params['month'] = $request->input('month');
  85. // $params['sales_name'] = $request->input('sales_name');
  86. // $params['handle_user'] = $request->input('handle_user');
  87. // $params['customer_name'] = $request->input('customer_name');
  88. // $params['platform_name'] = $request->input('platform_name');
  89. // $params['media_name'] = $request->input('media_name');
  90. // $params['creator_id'] = $user->id;
  91. // $params['handlers_id'] = $user->id;
  92. // $params['handle_user'] = $user->real_name;
  93. // $params['month'] = date('Y-m-01', strtotime($params['month']) );
  94. list($res, $code) = ProjectService::add($params);
  95. return self::returnValue($res, $code);
  96. }
  97. /**
  98. * 添加项目
  99. */
  100. public function update(Request $request)
  101. {
  102. $validator = \Validator::make($request->all(), [
  103. 'id' => 'required|int',
  104. 'title' => 'nullable|string',
  105. // 'advertiser_account' => 'nullable|string',
  106. // 'advertiser_id' => 'nullable|string',
  107. // 'company' => 'nullable|string',
  108. // 'month' => 'nullable|string',
  109. // 'sales_name' => 'nullable|string',
  110. // 'handle_user' => 'nullable|string',
  111. // 'customer_name' => 'nullable|string',
  112. // 'platform_name' => 'nullable|string',
  113. // 'media_name' => 'nullable|string',
  114. ], [
  115. 'id.required' => '参数有误',
  116. ]);
  117. if ($validator->fails()) {
  118. return self::returnValue($validator->getMessageBag(), 1102);
  119. }
  120. $params = array();
  121. $params['title'] = $request->input('title');
  122. // $params['advertiser_account'] = $request->input('advertiser_account');
  123. // $params['advertiser_id'] = $request->input('advertiser_id');
  124. // $params['company'] = $request->input('company');
  125. // $params['month'] = $request->input('month');
  126. // $params['sales_name'] = $request->input('sales_name');
  127. // $params['handle_user'] = $request->input('handle_user');
  128. // $params['customer_name'] = $request->input('customer_name');
  129. // $params['platform_name'] = $request->input('platform_name');
  130. // $params['media_name'] = $request->input('media_name');
  131. // if($params['month']) $params['month'] = date('Y-m-01', strtotime($params['month']) );
  132. $params = array_filter($params);
  133. $id = (int)$request->input('id');
  134. $res = ProjectService::update($id, $params);
  135. if($res === 4199){
  136. return self::returnValue(['msg' => '未做任何修改'], 4199);
  137. }
  138. return self::returnValue($res);
  139. }
  140. /**
  141. * 删除项目
  142. * 只可以删除项目下没有订单的项目
  143. */
  144. public static function batchDel(Request $request)
  145. {
  146. $validator = \Validator::make($request->all(), [
  147. 'ids' => 'required|array',
  148. ], [
  149. 'ids.required' => '参数有误',
  150. ]);
  151. if ($validator->fails()) {
  152. return self::returnValue($validator->getMessageBag(), 1102);
  153. }
  154. $ids = $request->input('ids');
  155. $res = ProjectService::batchDel($ids);
  156. if (1 == $res) {
  157. return self::returnValue('删除成功');
  158. } else if (2 == $res) {
  159. return self::returnValue('删除完成');
  160. }
  161. }
  162. /**
  163. * 查看项目修改记录
  164. */
  165. public static function getEditInfo(Request $request)
  166. {
  167. $validator = \Validator::make($request->all(), [
  168. 'id' => 'required|int',
  169. ], [
  170. 'id.required' => '参数有误',
  171. ]);
  172. if ($validator->fails()) {
  173. return self::returnValue($validator->getMessageBag(), 1102);
  174. }
  175. $id = $request->input('id');
  176. $res = ProjectService::getEditInfo($id);
  177. return self::returnValue($res);
  178. }
  179. }