<?php namespace App\Http\Controllers; use App\Http\Requests; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Model\PaymentDaysModel; use App\Model\Pcb\PcbOrderModel; use App\Model\Pcb\PcbPublicModel; use App\Model\Pcb\PcbPurchaseModel; use App\Model\Pcb\PcbServerModel; use App\Model\KefuModel; use App\Model\CmsModel; use App\Model\OrderItemsTrackModel; use App\Model\UserSampleApplyModel; use App\Model\UserSampleInviteModel; use App\Model\OrderItemsModel; use App\Model\UserGroupModel; use App\Model\BrandBlackListModel; use App\Model\PayExtendModel; use Illuminate\Support\Facades\Redis; use App\Model\ShoppingCartModel; class ApiController extends Controller { public function Entrance(Request $request, $id ){ $this->$id($request, $id); } private function Export($errcode=0,$errmsg='成功',$data=''){ if(is_array($errcode)){ ErrorLog($errcode[0],$errcode[1]); echo json_encode(['errcode'=>$errcode[0],'errmsg'=>$errcode[1],'data'=>!empty($errcode[2])?$errcode[2]:'']); exit(); }else{ ErrorLog($errcode,$errmsg); echo json_encode(['errcode'=>$errcode,'errmsg'=>$errmsg,'data'=>$data]); exit(); } } private function ExportLayui($errcode=0,$errmsg=0,$data=[],$count=0,$total=''){ if(is_array($errcode)){ ErrorLog($errcode[0],$errcode[1]); echo json_encode(['code'=>$errcode[0],'msg'=>$errcode[1],'data'=>$errcode[2],'count'=>$errcode[3],'total'=>!empty($errcode[4])?$errcode[4]:'']); }else{ ErrorLog($errcode,$errmsg); echo json_encode(['code'=>$errcode,'msg'=>$errmsg,'data'=>$data,'count'=>$count,'total'=>$total]); } exit(); } private function ApiPaymentDaysList(){ $Model=new PaymentDaysModel(); $this->ExportLayui($Model->ApiPaymentDaysList()); } private function ApiAuthPaymentDays($request){ $Model=new PaymentDaysModel(); $this->Export($Model->ApiAuthPaymentDays($request->user->userId)); } //pcb订单列表 private function ApiPcbOrderList($request){ $this->ExportLayui((new PcbOrderModel())->getList()); } //pcb订单列表导出 private function ApiPcbOrderListExport($request){ ((new PcbOrderModel())->export()); } //pcb客服点击确定发货 private function ApiSendStock($request){ $this->Export((new PcbPublicModel())->orderShipping($request->user->userId,$request->all())); } //pcb客服点击转采购 private function ApiAddPurchase($request){ echo (new PcbServerModel())->AddPurchase($request->user->userId,$request->input("order_id")); } //pcb客服审核订单,反馈给前台 private function ApiAuditOrder($request){ $this->Export((new PcbPublicModel())->auditOrder($request->user->userId,$request->input("order_id"),$request->input("order_sn"),$request->input("content"))); } //pcb订单列表 private function ApiPcbPurchaseList($request){ $this->ExportLayui((new PcbPurchaseModel())->getList()); } //pcb订单列表导出 private function ApiPcbPurchaseListExport($request){ ((new PcbPurchaseModel())->export()); } //pcb后台点击采购确认 private function ApiConfirmOrder($request){ echo (new PcbServerModel())->confirmOrder($request->user->userId,$request->input("purchase_id"),$request->input("status")); } //pcb后台点击采购确认 private function ApiOfflinePay($request){ echo (new PcbServerModel())->offlinePay($request->user->userId,$request->input("order_id"),$request->input("pay_money")); } //pcb后台点击采购确认 private function ApiSetOrderProduct($request){ echo (new PcbServerModel())->setOrdserProduct($request->user->userId,$request->input("purchase_id")); } // 获取客服池 public function ApiKefuList($request) { $KefuModel = new KefuModel; $this->ExportLayui($KefuModel->lists($request)); } // 新增客服 public function ApiAddKefu($request) { $KefuModel = new KefuModel; $this->Export($KefuModel->add($request)); } // 编辑客服 public function ApiEditKefu($request) { $KefuModel = new KefuModel; $this->Export($KefuModel->edit($request)); } // 删除客服 public function ApiDelKefu($request) { $KefuModel = new KefuModel; $this->Export($KefuModel->del($request)); } // 置顶客服 public function ApiTopKefu($request) { $KefuModel = new KefuModel; $this->Export($KefuModel->top($request)); } // 获取订单明细 public function getOrderItems($request) { $order_id = $request->input('order_id'); $url = Config('website.api_domain').'order/getOrderDetails'; $data['k1'] = time(); $data['k2'] = md5(md5($data['k1']).'fh6y5t4rr351d2c3bryi'); $userData = array("order_id"=>$order_id, "type"=>3, "k1"=>$data['k1'], "k2"=>$data['k2']); $resp = json_decode(curlApi($url, $userData, "POST"), true); $this->Export(0, '', $resp['data']['order_items_info']); } // 获取订单跟踪 public function getOrderItemsTrack($request) { $rec_id = $request->input('rec_id'); $OrderItemsTrackModel = new OrderItemsTrackModel; $track = $OrderItemsTrackModel->getLastItemTrack($rec_id); if (!$track) $this->Export(1, '无跟踪明细'); $data = $track['track_content'].',数量:'.$track['track_num']; $this->Export(0, '', $data); } // 获取自营样片领取列表 public function ApiSelfSampleList($request) { $UserSampleApplyModel = new UserSampleApplyModel; $this->ExportLayui($UserSampleApplyModel->lists($request)); } // 获取自营样片领取记录 public function ApiSelfSampleApplyLog($request) { $UserSampleApplyModel = new UserSampleApplyModel; $this->ExportLayui($UserSampleApplyModel->applyLog($request)); } // 获取自营样片邀约记录 public function ApiSelfSampleInviteLog($request) { $UserSampleInviteModel = new UserSampleInviteModel; $this->ExportLayui($UserSampleInviteModel->lists($request)); } /* 修改订单详情 */ public function update_order_items($request) { // $OrderItemsModel = new OrderItemsModel(); $data['order_id'] = $request->input('order_id'); $data['operator_id'] = $request->user->userId; $data['id'] = $request->input('id'); $data['remarks'] = $request->input('remarks'); $data['buyer_id'] = $request->input('buyer_id');//采购id $data['batch'] = $request->input('batch');//批次 // if($data['buyer_id'] == -1){ // unset($data['buyer_id']); // } // $result = $OrderItemsModel->updateData($data); // if($result !== false){ // $this->Export(0, '编辑明细成功'); // }else{ // $this->Export(1, '编辑明细失败'); // } $url = Config('website.api_domain').'order/updateorderitems'; $data['k1'] = time(); $data['k2'] = md5(md5($data['k1']).'fh6y5t4rr351d2c3bryi'); $temp = json_decode(curlApi($url, $data, "POST"), true); // 连接API $this->Export($temp['err_code'], $temp['err_msg']); } /* 检查内部系统用户是否存在 */ public function check_user_exists($request){ $CmsModel = new CmsModel(); $userName = $request->input('user'); $user_info = $CmsModel->getUserInfo(array('name'=>$userName)); if($user_info){ $this->Export(1, 'success',$user_info['userId']); }else{ $this->Export(-1, 'error'); } } // 获取团购信息 public function ApiGroupList($request) { $UserGroupModel = new UserGroupModel; $this->ExportLayui($UserGroupModel->lists($request)); } // 获取品牌黑名单 public function ApiBrandBlackList($request) { $BrandBlackListModel = new BrandBlackListModel; $this->ExportLayui($BrandBlackListModel->lists($request)); } // 新增/编辑品牌黑名单 public function ApiSetBrandBlackList($request) { $BrandBlackListModel = new BrandBlackListModel; $this->Export($BrandBlackListModel->setBlackList($request)); } // 删除品牌黑名单 public function ApiDelBrandBlackList($request) { $BrandBlackListModel = new BrandBlackListModel; $this->Export($BrandBlackListModel->delBlackList($request)); } // 启用/禁用品牌黑名单 public function ApiActionBrandBlackList($request) { $BrandBlackListModel = new BrandBlackListModel; $this->Export($BrandBlackListModel->action($request)); } // 自营申请收款 public function ajaxApplyPaid($request) { $PayExtendModel = new PayExtendModel; $this->Export($PayExtendModel->setPay($request)); } // 获取品牌库列表 public function getStandardBrandList($request) { $standard_brand_name = $request->input('standard_brand_name', ''); // 搜索指定品牌 if ($standard_brand_name) { $res = $this->apiStandardBrandList($standard_brand_name); $this->ExportLayui(0, '', $res['data'], count($res['data'])); } $s_key = Config('config.s_standard_brand'); $data = Redis::get($s_key); // 无缓存情况下 if (!$data) { $res = $this->apiStandardBrandList(); $data = json_encode($res['data']); $expire = Config('config.s_standard_brand_expire'); Redis::setex($s_key, $expire, $data); } $data = json_decode($data, true); $this->ExportLayui(0, '', $data, count($data)); } public function apiStandardBrandList($standard_brand_name='') { $url = Config('config.footstone_url').'/AuthApi/get_scm_brand_list'; $key = Config('config.auth_key'); $standard_brand_name && $map['erp_brand_name'] = $standard_brand_name; $map['time'] = time(); $map['AuthSign'] = MD5(MD5(http_build_query($map)) . $key); $data['data'] = $map; return json_decode(curlApi($url, $data, 'post'), true); } // 绑定品牌 public function apiBindStandardBrand($request) { $type = $request->input('type', 1); $cart_id = $request->input('cart_id', 0); $curr_brand_id = $request->input('curr_brand_id', 0); $curr_brand_name = $request->input('curr_brand_name', ''); $scm_brand_id = $request->input('scm_brand_id', 0); $scm_brand_name = $request->input('scm_brand_name', ''); if (!$scm_brand_id) $this->Export(1, '参数缺失'); if ($type == 1 && !$cart_id) $this->Export(1, '当前行购物车ID缺失'); $url = Config('config.footstone_url').'/AuthApi/binding_scm_brand'; $key = Config('config.auth_key'); $map['time'] = time(); $map['scm_brand_id'] = $scm_brand_id; $map['brand_id'] = [$curr_brand_id]; $map['brand_name'] = [$curr_brand_name]; $map['admin_id'] = $request->user->userId; $map['admin_name'] = $request->user->name; $map['AuthSign'] = MD5(MD5(http_build_query($map)) . $key); $data['data'] = $map; $res = json_decode(curlApi($url, $data, 'post'), true); if ($res['errcode'] != 0) $this->Export($res['errcode'], $res['errmsg']); $save = []; $save['standard_brand_id'] = $scm_brand_id; $save['standard_brand_name'] = $scm_brand_name; // 将标准品牌添加到购物车 if ($type == 1) { $ShoppingCartModel = new ShoppingCartModel; $res = $ShoppingCartModel->where('cart_id', $cart_id)->update($save); if ($res === false) $this->Export(1, '更新标准品牌失败'); } $this->Export(0, '更新标准品牌成功'); } }