12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- namespace app\api\controller;
- use app\admin\model\Method;
- use app\common\controller\Api;
- use think\Db;
- use think\Exception;
- class Distribution extends Api
- {
- protected $noNeedLogin = [];
- protected $noNeedRight = ['*'];
- public function dist_list(){
- $dis_type = input('dis_type',1);
- $method_model = new Method();
- $user = $this->auth->getUser();
- $admin_id=$user->id;
- if($user->pid>0){
- $admin_id = $user->pid;
- }
- $list = $method_model->where(array('user_id'=>$admin_id,'type'=>2,'status'=>1,'dis_type'=>$dis_type))->whereIn('moshi','2,3')->paginate();
- $this->success('选择模式列表',$list);
- }
- public function order_list(){
- $method_id = input('method_id');
- $dis_model = new \app\admin\model\Distribution();
- $list = $dis_model->where('method_id',$method_id)->order('id,number','desc')->paginate();
- $this->success('列表',$list);
- }
- public function add_list(){
- $data = input();
- $dis_model = new \app\admin\model\Distribution();
- $dis_data= [
- 'method_id'=>$data['method_id'],
- 'title'=>'线下订单',
- 'phone'=>$data['phone'],
- 'type'=>2,
- ];
- $dis_model->insert($dis_data);
- $this->success('添加成功');
- }
- public function del_list(){
- $list_id = input('list_id');
- $dis_model = new \app\admin\model\Distribution();
- $dis_model->where('id',$list_id)->delete();
- $this->success('删除成功');
- }
- public function number_list(){
- $method_id = input('method_id');
- $dis_model = new \app\admin\model\Distribution();
- $list = $dis_model->where('method_id',$method_id)->order('id')->select();
- $array = $this->shuffle_assoc($list);
- Db::startTrans();
- try {
- foreach ($array as $k=>$v){
- $dis_model->isUpdate('true',['id'=>$array[$k]['id']])->save(['number'=>$k+1]);
- }
- $method_model = new Method();
- $method_model->isUpdate('true',['id'=>$method_id])->save(['dis_type'=>2]);
- Db::commit();
- $this->success('生成座位表');
- }catch (Exception $e){
- Db::rollback();
- $this->error('座位表生成失败');
- }
- }
- public function shuffle_assoc($list) {
- if (!is_array($list)) return $list;
- $keys = array_keys($list);
- shuffle($keys);
- $random = array();
- foreach ($keys as $key)
- $random[$key] = $this->shuffle_assoc($list[$key]);
- return $random;
- }
- }
|