<?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/6/9 * Time: 15:34 */ namespace app\portal\controller; use app\portal\model\AddressModel; use app\portal\model\IndentGoodsModel; use app\portal\model\IndentModel; use cmf\controller\WeChatBaseController; use think\Db; class OrderSalesmanController extends WeChatBaseController { protected $user_id; protected $beforeActionList = [ 'check' => ['except' => 'getGradeClass'], ]; protected function check() { $user_id = cmf_get_current_user_id(); $this->user_id = $user_id; $my_user = Db::name('my_user')->where(['uid'=>$user_id])->find(); if(empty($my_user)){ $this->error('查无此人','','',''); } if($my_user['status'] != 2){ $this->error('您还不是业务员那','','',''); } } public function get_all(){ $param = $this->request->param(); if(!empty($param['is_courier'])){ $where['is_courier'] = ['eq',$param['is_courier']]; } $user_id = $this->user_id; $where['salesman_uid'] = ['eq',$user_id]; $where['indent_type'] = ['eq',2]; $where['state'] = ['neq',4]; $indentModel = new IndentModel(); $data = $indentModel->selectData($where); $indentGoodsModel = new IndentGoodsModel(); foreach($data as $key => $vo){ $indent_goods = $indentGoodsModel->selectData(['indent_id'=>$vo['id']]); $data[$key]['indent_goods'] = $indent_goods; //判断订单是不是平台订单 if($vo['indent_type'] == 1){ $data[$key]['dizhi'] = Db::name('address') -> where('id',$vo['indent_address']) -> find(); } } $school = Db::name('school')->where('uid',$user_id)->order('create_time desc')->select()->toArray(); if(count($school)!=0){ foreach ($school as $key => $val){ $schools[$key]['value'] = $val['id']; $schools[$key]['text'] = $val['school']; } $this->assign('school',json_encode($schools)); }else{ $this->assign('school',''); } $this->assign('data',$data); return $this->fetch(); } public function getGradeClass(){ $school_id = $this->request->param('school_id',0,'intval'); if(empty($school_id)){ $this->error('缺少必要参数'); } $grade = Db::name('grade_class')->where(['school_id'=>$school_id])->select()->toArray(); foreach($grade as $key => $g){ $class = explode('-',$g['class']); $grade[$key]['start'] = $class[0]; $grade[$key]['end'] = $class[1]; } $this->success('SUCCESS','',$grade); } public function getOrderSalesman(){ $param = $this->request->param(); if(!empty($param['school'])){ $where['school'] = ['eq',$param['school']]; } if(!empty($param['grade'])){ $param['grade'] = explode(' - ',$param['grade']); $where['grade'] = ['eq',$param['grade'][0]]; $where['class'] = ['eq',$param['grade'][1]]; } if(!empty($param['state'])){ $where['state'] = ['eq',$param['state']]; }else{ $where['state'] = ['neq',4]; } if(!empty($param['is_courier'])){ $where['is_courier'] = ['eq',$param['is_courier']]; }else{ $where['is_courier'] = ['eq',1]; } $user_id = $this->user_id; $where['salesman_uid'] = ['eq',$user_id]; $where['indent_type'] = ['eq',2]; $indentModel = new IndentModel(); $data = $indentModel->selectData($where); $indentGoodsModel = new IndentGoodsModel(); foreach($data as $key => $vo){ $indent_goods = $indentGoodsModel->selectData(['indent_id'=>$vo['id']]); $data[$key]['indent_goods'] = $indent_goods; if($vo['is_courier'] == 2){ $address = Db::name('address')->where(['id'=>$vo['indent_address']])->find(); $data[$key]['region'] = $address['region']; $data[$key]['detailed'] = $address['detailed']; $data[$key]['phone'] = $address['phone']; } } $this->success('SUCCESS','',$data); } public function send(){ $param = $this->request->param(); if(empty($param['is_courier'])){ $this->error('缺少必要参数1'); } if($param['is_courier'] == 1){ if(empty($param['start_time'])){ $this->error('缺少必要参数2'); } // if(empty($param['end_time'])){ // $this->error('缺少必要参数3'); // } }else if($param['is_courier'] == 2){ if(empty($param['logistic_name'])){ $this->error('缺少必要参数4'); } if(empty($param['logistic_code'])){ $this->error('缺少必要参数5'); } } if(empty($param['indent_id'])){ $this->error('缺少必要参数6'); } $where['id'] = ['eq',$param['indent_id']]; $indentModel = new IndentModel(); $indent = $indentModel->findData($where); if(empty($indent)){ $this->error('查询为空'); } if($indent['state'] != 2){ $this->error('订单不是待支付状态'); } $arr = []; if($param['is_courier'] == 1){ $arr['start_time'] = $param['start_time']; // $arr['end_time'] = $param['end_time']; }else if($param['is_courier'] == 2){ $arr['logistic_name'] = $param['logistic_name']; $arr['logistic_code'] = $param['logistic_code']; } $arr['state'] = 5; $result = $indentModel->updateData($where,$arr);//// $this->success('发货成功'); } public function send_all(){ $param = $this->request->param(); if(empty($param['start_time2']) || empty($param['indent_ids'])){ $this->error('缺少必要参数'); } $indent_ids = explode(',',$param['indent_ids']); $data['start_time'] = $param['start_time2']; // $data['end_time'] = $param['end_time2']; $data['state'] = 5; $indentModel = new IndentModel(); $result = $indentModel->updateData(['id'=>['in',$indent_ids]],$data); if(empty($result)){ $this->error('更新失败'); }else{ $this->success('发货成功'); } } public function get_one(){ $id = $this->request->param('id',0,'intval'); if(empty($id)){ $this->error('缺少必参数','','',''); } $indentModel = new IndentModel(); $indent = $indentModel->findData(['id'=>$id])->toArray(); if(empty($indent)){ $this->error('查询为空'); } if($indent['is_courier'] == 1){ $school = Db::name('school')->where(['region'=>$indent['region'],'uid'=>$indent['salesman_uid']])->select(); $arr1 = []; foreach($school as $key => $s){ $arr1[$key]['value'] = $s['id']; $arr1[$key]['text'] = $s['school']; } $school_id = Db::name('school')->where(['region'=>$indent['region'],'uid'=>$indent['salesman_uid']])->value('id'); $grade = Db::name('grade_class')->where(['school_id'=>$school_id])->select()->toArray(); foreach($grade as $key => $g){ $class = explode('-',$g['class']); $grade[$key]['start'] = $class[0]; $grade[$key]['end'] = $class[1]; } $this->assign('school',json_encode($arr1)); $this->assign('grade',$grade); } $indentGoodsModel = new IndentGoodsModel(); $indent_goods = $indentGoodsModel->selectData(['indent_id'=>$indent['id']]); if(!empty($indent['indent_address'])){ $addressModel = new AddressModel(); $indent_address = $addressModel->findData(['id'=>$indent['indent_address']])->toArray(); $indent['indent_address'] = $indent_address; } $indent['indent_goods'] = $indent_goods; $this->assign('data',$indent); return $this->fetch(); } public function take_all(){ $indent_ids = $this->request->param('indent_ids'); $data['state'] = 3; $indent_ids = explode(',',$indent_ids); $where['id'] = ['in',$indent_ids]; $indentModel = new IndentModel(); $result = $indentModel->updateData($where,$data); if(empty($result)){ $this->error('更新失败'); }else{ $this->success('更新成功'); } } public function take_one(){ $indent_id = $this->request->param('indent_id'); $data['state'] = 3; $where['id'] = ['eq',$indent_id]; $indentModel = new IndentModel(); $result = $indentModel->updateData($where,$data); if(empty($result)){ $this->error('更新失败'); }else{ $this->success('更新成功'); } } public function updatePost(){ $param = $this->request->param(); $indent_id = $this->request->param('indent_id',0,'intval'); if(empty($indent_id)){ $this->error('缺少必要参数123'); } $indentModel = new IndentModel(); $data = $indentModel->findData(['id'=>$indent_id]); if($data['is_courier'] == 1){ if(empty($param['name']) || empty($param['region']) || empty($param['school']) || empty($param['grade_class']) || empty($param['phone'])){ $this->error('缺少必要参数'); } $grade_class = explode('-',$param['grade_class']); $arr['name'] = $param['name']; $arr['phone'] = $param['phone']; $arr['region'] = $param['region']; $arr['school'] = $param['school']; $arr['grade'] = $grade_class[0]; $arr['class'] = $grade_class[1]; $result = $indentModel ->updateData(['id'=>$indent_id],$arr); }else if($data['is_courier'] == 2){ if(empty($param['name']) || empty($param['phone']) || empty($param['region']) || empty($param['region_detail'])){ $this->error('缺少必要参数123'); } $arr['name'] = $param['name']; $arr['phone'] = $param['phone']; $arr['region'] = $param['region']; $arr['region_detail'] = $param['region_detail']; $result = $indentModel ->updateData(['id'=>$indent_id],$arr); } $this->success('SUCCESS'); } }