<?php // +---------------------------------------------------------------------- // | bronet [ 以客户为中心 以奋斗者为本 ] // +---------------------------------------------------------------------- // | Copyright (c) 2013-2017 http://www.bronet.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- namespace app\portal\controller; use cmf\controller\WeChatBaseController; use think\Db; class OrderpageController extends WeChatBaseController{ /** * 显示平台订单页 */ public function order_page(){ $indet_id = $this -> request -> param(); $uid = cmf_get_current_user_id(); if(!empty($indet_id['address_id'])){ $address = Db::name('address') -> where('id',$indet_id['address_id']) -> find(); $this -> assign('address',$address); }else{ $address = Db::name('address') -> where("uid=".$uid." and default_address=1 and delete_time = 0") -> find(); if(empty($address)){ $this -> assign('address',4); }else{ $address_arr = explode(',',$address['detailed']); $address['detailed'] = $address_arr[0].$address_arr[1]; $indet_data = Db::name('indent') -> where("id",$indet_id['indet_id']) -> find(); if($indet_data['state'] == 4){ $indet_data_update['id'] = $indet_id['indet_id']; $indet_data_update['indent_address'] = $address['id']; $indet_data_update['name'] = $address['name']; $indet_data_update['phone'] = $address['phone']; Db::name('indent') -> update($indet_data_update); } $this -> assign('address',$address); } } $data = Db::name('indent_goods') -> where('indent_id',$indet_id['indet_id']) -> select() -> toArray(); foreach ($data as $key => $val){ $pricing = explode('.',$val['pricing']); $data[$key]['pricing0'] = $pricing[0]; $data[$key]['pricing1'] = $pricing[1]; } $money = Db::name('indent') -> where('id',$indet_id['indet_id']) -> find(); $this -> assign('money',$money['money']); $this -> assign('data',$data); $this -> assign('indent_id',$indet_id['indet_id']); return $this -> fetch(); } /** * 显示业务员统一订单页mmmmm */ public function order_salesman_ty(){ $indet_id = $this -> request -> param(); $data = Db::name('indent_goods') -> where('indent_id',$indet_id['indet_id']) -> select() -> toArray(); foreach ($data as $key => $val){ $pricing = explode('.',$val['price']); $data[$key]['price0'] = $pricing[0]; $data[$key]['price1'] = $pricing[1]; } $money = Db::name('indent') -> where('id',$indet_id['indet_id']) -> find(); $money['money'] = explode('.',$money['money']); $this -> assign('money',$money['money']); $this -> assign('data',$data); $courier = Db::name('money_ratio') -> where('id',1) -> find(); $this -> assign('courier',$courier['courier']); $this -> assign('indent_id',$indet_id['indet_id']); //判断这个用户所属哪个业务员 $uid = cmf_get_current_user_id(); $user = Db::name('my_user') -> where('uid',$uid) -> find(); //当当前用户为老师时 if($user['status'] == 3){ $salesman = Db::name('my_user') -> where('id',$user['pid']) -> find(); } //当前用户为学生时 if($user['status'] == 4){ $teacher = Db::name('my_user') -> where('id',$user['pid']) -> find(); $salesman = Db::name('my_user') -> where('id',$teacher['pid']) -> find(); } //查询这个用户下添加的学校 $school = Db::name('school') -> where("uid",$salesman['uid']) -> select() -> toArray(); if(!empty($school)){ $grade_class = Db::name('grade_class') -> where("school_id",$school[0]['id']) -> select(); foreach ($grade_class as $key => $val){ $class = explode('-',$val['class']); for($i=$class[0];$i<=$class[1];$i++){ $grade_class_show[] = $val['grade'].' - '.$i."班"; } } } $this -> assign('school',$school); $this -> assign('grade_class_show',!empty($grade_class_show) ? $grade_class_show : ''); return $this -> fetch(); } /** * 商品数量加一 */ public function shop_cart_numadd(){ $id = $_POST['id']; $data = Db::name('indent_goods') -> where('id',$id) -> find(); if($data['number']<200){ $res = Db::name('indent_goods') -> where('id',$id) -> setInc('number'); $indent_id = Db::name('indent_goods') -> where('id',$id) -> find(); Db::name('indent') -> where('id',$indent_id['indent_id']) -> setInc('money',$_POST['price']); } return true; } /** * 商品数量减一 */ public function shop_cart_numdec(){ $id = $_POST['id']; $data = Db::name('indent_goods') -> where('id',$id) -> find(); if($data['number']>1){ Db::name('indent_goods') -> where('id',$id) -> setDec('number'); $indent_id = Db::name('indent_goods') -> where('id',$id) -> find(); Db::name('indent') -> where('id',$indent_id['indent_id']) -> setDec('money',$_POST['price']); } return true; } /** * 显示业务员快递订单页 */ public function order_salesman_kd(){ $uid = cmf_get_current_user_id(); $indent_id = $this -> request -> param(); $money = Db::name('indent') -> where("id =".$indent_id['indet_id']) -> find(); $indent_goods_data = Db::name('indent_goods') -> where('indent_id',$indent_id['indet_id']) -> select(); $this -> assign('data',$indent_goods_data); $courier = Db::name('money_ratio') -> where('id',1) -> find(); $this -> assign('courier',$courier['courier']); $money['money'] = $money['money']+$courier['courier']; $this -> assign('money',$money['money']); $address = Db::name('address') -> where("uid=".$uid." and default_address=1 and delete_time = 0") -> find(); if(empty($address)){ $this -> assign('address',4); }else{ $address_arr = explode(',',$address['detailed']); $address['detailed'] = $address_arr[0].$address_arr[1]; $indet_data = Db::name('indent') -> where("id",$indent_id['indet_id']) -> find(); if($indet_data['state'] == 4){ $indet_data_update['id'] = $indent_id['indet_id']; $indet_data_update['indent_address'] = $address['id']; $indet_data_update['name'] = $address['name']; $indet_data_update['phone'] = $address['phone']; Db::name('indent') -> update($indet_data_update); } $this -> assign('address',$address); } $this -> assign('indet_id',$indent_id['indet_id']); return $this -> fetch(); } /** * 业务员快递去支付 */ public function salesman_go_pay(){ $_POST['is_courier'] = 2; $data_update = Db::name('indent') -> update($_POST); return true; } /** * 取消支付时 */ public function cancel_pay(){ $indent_id = $this -> request -> param(); $data = Db::name('indent') -> where('id',$indent_id['id']) -> find(); $money_ratio = Db::name('money_ratio') -> where('id',1) -> find(); if($data['indent_type'] == 2 && $data['is_courier'] == 2){ Db::name('indent') -> where('id',$indent_id['id']) -> setDec('money',$money_ratio['courier']); } $this -> redirect('index/index'); } /** * 平台商品去支付时 更新买家留言 */ public function goods_leave_word_update(){ $_POST['is_courier'] = 2; $data = Db::name('indent') -> update($_POST); return true; } /** * 点击学校时获取年级班级 */ public function get_grade_class(){ $school_id = $_POST['id']; $grade_class = Db::name('grade_class') -> where("school_id",$school_id) -> select() -> toArray(); if(!empty($grade_class)){ foreach ($grade_class as $key => $val){ $class = explode('-',$val['class']); for($i=$class[0];$i<=$class[1];$i++){ $grade_class_show[] = $val['grade'].' - '.$i."班"; } } return json_encode($grade_class_show); }else{ return false; } } /** * 业务员统一配送页去支付 */ public function salesman_ty_go_pay(){ $_POST['is_courier'] = 1; $school_class = explode(' ',$_POST['school_class']); $_POST['school'] = $school_class[0]; $_POST['grade'] = $school_class[1]; $_POST['class'] = $school_class[3]; $indent_data['id'] = $_POST['id']; $indent_data['region'] = $_POST['region']; $indent_data['name'] = $_POST['name']; $indent_data['phone'] = $_POST['phone']; $indent_data['is_courier'] = $_POST['is_courier']; $indent_data['school'] = $_POST['school']; $indent_data['grade'] = $_POST['grade']; $indent_data['class'] = $_POST['class']; $indent_data['leave_word'] = $_POST['leave_word']; $data = Db::name('indent') -> update($indent_data); if($data){ return true; }else{ return false; } } /** * 显示收货地址 */ public function go_add_address(){ $indent_id = $this -> request -> param(); $uid = cmf_get_current_user_id(); $data = Db::name('address') -> where("delete_time = 0 and uid =".$uid) -> select() -> toArray(); $this -> assign('indent_id',$indent_id['indet_id']); $this -> assign('data',$data); return $this -> fetch(); } public function get_school(){ $user_id = cmf_get_current_user_id(); $my_user = Db::name('my_user')->where('uid',$user_id)->find(); $my_user2 = Db::name('my_user')->where('id',$my_user['pid'])->find(); $area = $this->request->param('area',0); if(empty($area)){ $this->error('缺少必要参数'); } $where['region'] = ['like',"%$area%"]; $where['uid'] = ['eq',$my_user2['uid']]; $data = Db::name('school')->where($where)->select(); $this->success('SUCCESS','',$data); } /** * 新增地址页 */ public function add_shop_address(){ if($this -> request -> isPost()){ $uid = cmf_get_current_user_id(); $_POST['uid'] = $uid; $add = Db::name('address') -> insert($_POST); if($add){ return true; }else{ return false; } }else{ $indent_id = $this -> request -> param(); $this -> assign('indent_id',$indent_id['indet_id']); return $this -> fetch(); } } /** * 编辑地址 */ public function address_edit(){ if($this -> request -> isPost()){ $data_update = Db::name('address') -> update($_POST); if($data_update){ return true; }else{ return false; } }else{ $id = $this -> request -> param(); $data = Db::name('address') -> where('id',$id['id']) -> find(); $this -> assign('data',$data); $this -> assign('indent_id',$id['indet_id']); return $this -> fetch(); } } }