123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Services\ProjectService;
- use App\Services\OrderService;
- use Illuminate\Http\Request;
- class ProjectController extends Controller
- {
- /**
- * 项目列表
- */
- public function index(Request $request)
- {
- $validator = \Validator::make($request->all(), [
- 'title' => 'string',
- 'page' => 'required',
- 'pagesize' => 'int',
- ], [
- 'title.string' => '项目名称必须为字符类型',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 1102);
- }
- $title = $request->input('title');
- $page = $request->input('page', 1);
- $pagesize = $request->input('pagesize', 20);
- list($data, $total) = ProjectService::index($page, $pagesize, $title);
- return self::returnPageValue($data, $total, $pagesize, $page);
- }
- /**
- * 项目详情
- */
- public function detail(Request $request)
- {
- $validator = \Validator::make($request->all(), [
- 'id' => 'required|int',
- ], [
- 'id.required' => '参数有误',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 1102);
- }
- $id = $request->input('id');
- $detail = ProjectService::detail($id);
- if( isset($detail->month) ){
- $detail->month = substr($detail->month, 0, 7);
- }
- return self::returnValue($detail);
- }
- /**
- * 添加项目
- */
- public function add(Request $request)
- {
- $validator = \Validator::make($request->all(), [
- 'title' => 'required|string',
- // 'advertiser_account' => 'required|string',
- // 'advertiser_id' => 'required|string',
- // 'company' => 'required|string',
- // 'month' => 'required|string',
- // 'sales_name' => 'required|string',
- // 'handle_user' => 'nullable|string',
- // 'customer_name' => 'required|string',
- // 'platform_name' => 'required|string',
- // 'media_name' => 'required|string',
- ], [
- 'title.required' => '项目名称必填'
- // 'advertiser_account.required' => '所属账户必填',
- // 'company.required' => '签约公司必填',
- // 'month.required' => '所属月份必填',
- // 'sales_name.required' => '销售人员必填',
- // 'customer_name.required' => '客户全称必填',
- // 'platform_name.required' => '投放平台必填',
- // 'media_name.required' => '媒体名称必填',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 1102);
- }
- $params = array();
- $user = \Auth::user();
- $params['title'] = $request->input('title');
- // $params['advertiser_account'] = $request->input('advertiser_account');
- // $params['advertiser_id'] = $request->input('advertiser_id');
- // $params['company'] = $request->input('company');
- // $params['month'] = $request->input('month');
- // $params['sales_name'] = $request->input('sales_name');
- // $params['handle_user'] = $request->input('handle_user');
- // $params['customer_name'] = $request->input('customer_name');
- // $params['platform_name'] = $request->input('platform_name');
- // $params['media_name'] = $request->input('media_name');
- // $params['creator_id'] = $user->id;
- // $params['handlers_id'] = $user->id;
- // $params['handle_user'] = $user->real_name;
- // $params['month'] = date('Y-m-01', strtotime($params['month']) );
- list($res, $code) = ProjectService::add($params);
- return self::returnValue($res, $code);
- }
- /**
- * 添加项目
- */
- public function update(Request $request)
- {
- $validator = \Validator::make($request->all(), [
- 'id' => 'required|int',
- 'title' => 'nullable|string',
- // 'advertiser_account' => 'nullable|string',
- // 'advertiser_id' => 'nullable|string',
- // 'company' => 'nullable|string',
- // 'month' => 'nullable|string',
- // 'sales_name' => 'nullable|string',
- // 'handle_user' => 'nullable|string',
- // 'customer_name' => 'nullable|string',
- // 'platform_name' => 'nullable|string',
- // 'media_name' => 'nullable|string',
- ], [
- 'id.required' => '参数有误',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 1102);
- }
- $params = array();
- $params['title'] = $request->input('title');
- // $params['advertiser_account'] = $request->input('advertiser_account');
- // $params['advertiser_id'] = $request->input('advertiser_id');
- // $params['company'] = $request->input('company');
- // $params['month'] = $request->input('month');
- // $params['sales_name'] = $request->input('sales_name');
- // $params['handle_user'] = $request->input('handle_user');
- // $params['customer_name'] = $request->input('customer_name');
- // $params['platform_name'] = $request->input('platform_name');
- // $params['media_name'] = $request->input('media_name');
- // if($params['month']) $params['month'] = date('Y-m-01', strtotime($params['month']) );
- $params = array_filter($params);
- $id = (int)$request->input('id');
- $res = ProjectService::update($id, $params);
- if($res === 4199){
- return self::returnValue(['msg' => '未做任何修改'], 4199);
- }
- return self::returnValue($res);
- }
- /**
- * 删除项目
- * 只可以删除项目下没有订单的项目
- */
- public static function batchDel(Request $request)
- {
- $validator = \Validator::make($request->all(), [
- 'ids' => 'required|array',
- ], [
- 'ids.required' => '参数有误',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 1102);
- }
- $ids = $request->input('ids');
- $res = ProjectService::batchDel($ids);
- if (1 == $res) {
- return self::returnValue('删除成功');
- } else if (2 == $res) {
- return self::returnValue('删除完成');
- }
- }
- /**
- * 查看项目修改记录
- */
- public static function getEditInfo(Request $request)
- {
- $validator = \Validator::make($request->all(), [
- 'id' => 'required|int',
- ], [
- 'id.required' => '参数有误',
- ]);
- if ($validator->fails()) {
- return self::returnValue($validator->getMessageBag(), 1102);
- }
- $id = $request->input('id');
- $res = ProjectService::getEditInfo($id);
- return self::returnValue($res);
- }
- }
|