has('name') ? $request->input('name') : ''; if(empty($name)) { return response()->error("PARAM_EMPTY"); } $company = CompanyService::findByName($name); if($company) { return response()->error("COMPANY_EXIST"); } $data = ['name' => $name, 'is_important' => 0]; $company = CompanyService::addCompany($data); return response()->item(new CompanyTransformer(), $company); } /** * @apiVersion 1.0.0 * @apiDescription 删除公司 * @api {POST} channel/company/remove 删除公司 * @apiGroup channel * @apiName channel/company/remove * @apiParam {Number} id 公司ID * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data":{} * } */ public function rmCompany(Request $request) { $id = $request->has('id') ? $request->input('id') : ''; if(empty($id)) { return response()->error("PARAM_EMPTY"); } $company = CompanyService::getCompany($id); if(!$company) { return response()->error("PARAM_ERROR"); } CompanySpecialBookService::rmCompany($id); $company->delete(); return response()->success(); } /** * @apiVersion 1.0.0 * @apiDescription 更新公司 * @api {POST} channel/company/update 更新公司 * @apiGroup channel * @apiName channel/company/update * @apiParam {Number} id 公司ID * @apiParam {String} [name] 公司名称 * @apiParam {Number} [is_important] 是否重要 0:不是重点,默认 1:重点商户 * @apiParam {Number} [distribution_manages_id] 商务ID * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data":{} * } */ public function updateCompany(Request $request) { $id = $request->has('id') ? $request->input('id') : ''; if(empty($id)) { return response()->error("PARAM_EMPTY"); } $is_important = $request->input('is_important',''); if($request->has('is_important') && !in_array($is_important, [0,1])) { return response()->error("PARAM_ERROR"); } if(!CompanyService::getCompany($id)) { return response()->error("PARAM_ERROR"); } $name = $request->has('name') ? $request->input('name') : ''; $data = []; if($name){ $data['name'] =$name; } if($request->has('is_important') && in_array($is_important,[0,1])) { $data['is_important'] = $is_important; } //$data = ['name' => $name, 'is_important' => $is_important]; if($this->getLoginUserRole() == "business_leader" || $this->getLoginUserRole() == "admin" || $this->getLoginUserRole()=="business") { //只有商务主管能修改 公司对应商务, $distribution_manages_id = $request->has('distribution_manages_id') ? $request->input('distribution_manages_id') : ''; if(is_numeric($distribution_manages_id) && $distribution_manages_id > 0) { //更新公司对应用户的所属商务 $data['distribution_manages_id']= $distribution_manages_id; ChannelUserService::updateChannelUserManager($distribution_manages_id, $id); } } $fans_type = $request->input('fans_gender',''); if($fans_type){ if(!in_array($fans_type,[1,2,3])){ return response()->error('PARAM_ERROR'); } $data['fans_gender'] = $fans_type; } if($data){ //\Log::info('delete_company_books:rmCompany:$id'.$id); $company_old = CompanyService::getCompany($id); $company = CompanyService::updateCompany($id, $data); if($request->has('is_important') && $is_important == 0) { //设置为普通商户之后,对应书籍删除 \Log::info('delete_company_books:rmCompany:$id'.$id.'is_important:'.$is_important); CompanySpecialBookService::rmCompany($id); } if($request->has('is_important') && $is_important == 1 && $company_old->is_important==0) { \Log::info('delete_company_books:rmCompany:$id'.$id.'is_important:'.$is_important); CompanySpecialBookService::rmCompany($id); $bids = CompanySpecialBookService::getBidByFirst(); if($bids) { foreach ($bids as $i) { CompanySpecialBookService::addBook($i, $id); } } } } $company = CompanyService::getCompany($id); return response()->item(new CompanyTransformer(), $company); } /** * @apiVersion 1.0.0 * @apiDescription 公司列表分页 * @api {GET} channel/company/list 公司列表分页 * @apiGroup channel * @apiName channel/company/list * @apiParam {String} [search_name] 搜索名称 * @apiParam {Number} [is_important] 是否重要 * @apiSuccess {Number} id 公司ID * @apiSuccess {String} name 公司名称 * @apiSuccess {Number} is_important 是否重要 * @apiSuccess {String} create_time 创建时间 * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data": { * "list": [ * { * "id": 2, * "name": "杭州掌维科技有限公司", * "is_important": 0, * "create_time": "2018-03-23 09:32:29" * }, * ], * "meta": { * "total": 2, * "per_page": 15, * "current_page": 1, * "last_page": 1, * "next_page_url": "", * "prev_page_url": "" * } * } * } */ public function getList(Request $request) { $search_name = $request->has('search_name') ? $request->input('search_name') : ''; $is_important = $request->input('is_important'); $searchData = [ 'search_name' => $search_name, 'is_important' => $is_important, ]; $manager_info= json_decode(json_encode(unserialize($request->session()->get('manage_user'))),true); $manager_id = ''; if($manager_info['role']=='business'){ $manager_id = $manager_info['id']; } $data = CompanyService::getList($searchData,false,$manager_id); return response()->pagination(new CompanyTransformer(), $data); } /** * @apiVersion 1.0.0 * @apiDescription 公司列表 * @api {GET} channel/company/allList 公司列表 * @apiGroup channel * @apiName channel/company/allList * @apiParam {String} [search_name] 搜索名称 * @apiParam {Number} [is_important] 是否重要 * @apiSuccess {Number} id 公司ID * @apiSuccess {String} name 公司名称 * @apiSuccess {Number} is_important 是否重要 * @apiSuccess {String} create_time 创建时间 * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data":[ * { * "id": 2, * "name": "杭州掌维科技有限公司", * "is_important": 0, * "create_time": "2018-03-23 09:32:29" * } * ] * } */ public function getAllList(Request $request) { $search_name = $request->has('search_name') ? $request->input('search_name') : ''; $is_important = $request->input('is_important'); $searchData = [ 'search_name' => $search_name, 'is_important' => $is_important, ]; $data = CompanyService::getList($searchData, true); return response()->collection(new CompanyTransformer(), $data); } /** * @apiVersion 1.0.0 * @apiDescription 公司列表图书ID * @api {GET} channel/company/listByBookId 公司列表图书ID * @apiGroup channel * @apiName channel/company/listByBookId * @apiParam {Number} bid 书籍ID * @apiSuccess {Number} id 公司ID * @apiSuccess {String} name 公司名称 * @apiSuccess {Number} is_important 是否重要 * @apiSuccess {String} create_time 创建时间 * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data":[ * { * "id": 2, * "name": "杭州掌维科技有限公司", * "is_important": 0, * "create_time": "2018-03-23 09:32:29" * } * ] * } */ public function getListByBookId(Request $request) { $bid = $request->has('bid') ? $request->input('bid') : ''; if(empty($bid) || !is_numeric($bid)) { return response()->error("PARAM_ERROR"); } $data = CompanySpecialBookService::findCompanyToBid($bid); return response()->collection(new CompanyTransformer(), $data); } /** * @apiVersion 1.0.0 * @apiDescription 获取公司渠道列表 * @api {GET} channel/company/getChannelList 获取公司渠道列表 * @apiGroup channel * @apiName channel/company/getChannelList * @apiParam {Number} company_id 公司id * @apiParam {Number} channel_user_id 账户id * * @apiSuccess {Number} id 渠道ID. * @apiSuccess {String} name 渠道名称. * @apiSuccess {String} phone 手机号码. * @apiSuccess {String} pay_merchant 支付商户. * @apiSuccess {String} nickname 昵称. * @apiSuccess {String} latest_login_time 最后登陆时间. * @apiSuccess {String} latest_login_ip 最后登陆IP. * @apiSuccess {String} remark 备注. * @apiSuccess {String} register_ip 注册IP. * @apiSuccess {String} person_in_charge_name 负责人. * @apiSuccess {String} create_time 注册时间 * @apiSuccess {Number} distribution_manages_id 管理员ID * @apiSuccess {String} distribution_manages_account 管理员 * @apiSuccess {String} distribution_manages_number 管理员 * @apiSuccess {String} distribution_manages_nickname 管理员昵称 * @apiSuccess {String} price_rate 章节价格 * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data": [ * { * "id": 1, * "phone": "", * "name": "121", * "pay_merchant_id": 1, * "nickname": "是说", * "latest_login_time": "", * "latest_login_ip": "", * "is_enabled": 1, * "register_ip": "", * "remark": "", * "person_in_charge_name": "波哥帅", * "create_time": "2017-11-20 18:34:17", * "distribution_manages_id": 0, * "distribution_manages_account": null, * "distribution_manages_number": null, * "distribution_manages_nickname": null * } * ] * } */ public function getChannelList(Request $request) { $company_id = $request->has('company_id') ? $request->input('company_id') : ''; $channel_user_id = $request->has('channel_user_id') ? $request->input('channel_user_id') : ''; if($company_id && !is_numeric($company_id) && !is_numeric($channel_user_id)) { return response()->error("PARAM_ERROR"); } if($company_id == 0) { $channelUser = ChannelUserService::getById($channel_user_id); if($channelUser) { $company_id = $channelUser->company_id; } } $channelUserIds = []; if(is_numeric($company_id) && $company_id > 0) { $channelUserIds = ChannelUserService::getChannelUserIdListByCompany($company_id); } else { $channelUserIds[] = $channel_user_id; } // $channelUserIds = ChannelUserService::getChannelUserIdListByCompany($company_id); $channels = ChannelUserService::getChannelListByChannelUserIds($channelUserIds); foreach ($channels as &$v){ $price_rate = BookService::getChapterPrice($v->id); $default_rate = (float)env('DEFAULT_CHAPTER_PRICE',0.015)*100; $v->price_rate = $price_rate?$price_rate:$default_rate; } return response()->collection(new ChannelTransformer(), $channels); } /** * @apiVersion 1.0.0 * @apiDescription 添加书籍 * @api {POST} channel/company/addBook 添加书籍 * @apiGroup channel * @apiName channel/company/addBook * @apiParam {Number} bid 书籍ID * @apiParam {Number} company_ids 公司ids [1,2,3,4] * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data":{} * } */ public function addCompanyBook(Request $request) { $bid = $request->has('bid') ? $request->input('bid') : ''; $company_ids = $request->has('company_ids') ? $request->input('company_ids') : ''; if(!is_numeric($bid)) { return response()->error("PARAM_ERROR"); } // if(count($ids) == 0) { // return response()->error("PARAM_ERROR"); // } \Log::info('delete_special_book_log:addCompanyBook:$bid:'.$bid); CompanySpecialBookService::rmAllBook($bid); if(!empty($company_ids)) { $ids = explode(',', $company_ids); foreach ($ids as $id) { $data = CompanySpecialBookService::addBook($bid, $id); } } return response()->success(); } /** * @apiVersion 1.0.0 * @apiDescription 删除书籍 * @api {POST} channel/company/rmBook 删除书籍 * @apiGroup channel * @apiName channel/company/rmBook * @apiParam {Number} bid 书籍ID * @apiParam {Number} company_ids 公司id[1,2,3,4] * @apiSuccessExample {json} Success-Response: * * { * "code": 0, * "msg": "", * "data":{} * } */ public function rmCompanyBook(Request $request) { $bid = $request->has('bid') ? $request->input('bid') : ''; $company_ids = $request->has('company_ids') ? $request->input('company_ids') : ''; if(!is_numeric($bid) || empty($company_ids)) { return response()->error("PARAM_ERROR"); } $ids = explode(',', $company_ids); if(count($ids) == 0) { return response()->error("PARAM_ERROR"); } \Log::info('delete_special_book_log:rmCompanyBook:ids:'.json_encode($ids).'bid:'.$bid); foreach ($ids as $id) { $data = CompanySpecialBookService::rmBook($bid, $id); } return response()->success(); } /** * 设置商务公司所在的城市 * @param Request $request * @return mixed */ function setChannelCityInfo(Request $request) { $city = $request->has('city') ? $request->input('city') : ''; $companyId = $request->has('companyId') ? trim($request->input('companyId')) : ''; if (empty($companyId) || empty($city)) { return response()->error('PARAM_ERROR'); } $result = CompanyService::updateCompany($companyId, ['city' => $city]); if ($result) { return response()->success(); } return response()->error("HANDLE_FAILED"); } }