uri->uri_string; $Token = $this->input->get_request_header('X-Token', TRUE); // $retPerm = $this->permission->HasPermit($Token, $uri); // if ($retPerm['code'] != 50000) { // $this->response($retPerm, RestController::HTTP_OK); // } $dir = 'pet_img_custom/'; $path = 'uploads/'.$dir; $config['upload_path'] = './'.$path; $config['allowed_types'] = 'gif|jpg|jpeg|png'; $config['max_size'] = 10000; $config['max_width'] = 4000; $config['max_height'] = 4000; //设置文件名,前端传来的文件固定是png $config['file_name'] = time(); $this->load->library('upload', $config); if ( ! $this->upload->do_upload('avatar')) { $this->error( $this->upload->display_errors()); } else { $data = $this->upload->data(); } $this->success([ 'path'=>$dir.$data['file_name'], 'full_path'=>base_url().$path.$data['file_name'] ]); } function update_post() { $config = array( array( 'field' => 'id', 'label' => '序号', 'rules' => 'trim|min_length[1]|max_length[10]' ), array( 'field' => 'series_id', 'label' => '序列号', 'rules' => 'trim|required|min_length[1]|max_length[20]' ), array( 'field' => 'user_id', 'label' => '用户', 'rules' => 'trim|required|min_length[1]|max_length[20]', 'errors' => array( 'required' => '需要搜索绑定 %s', ), ), array( 'field' => 'name', 'label' => '用户姓名', 'rules' => 'trim|required|min_length[2]|max_length[20]', 'errors' => array( 'required' => 'You must provide a %s.', ), ), array( 'field' => 'tel', 'label' => '手机', 'rules' => 'required' ), array( 'field' => 'pet_name', 'label' => '宠物名称', 'rules' => 'required' ), array( 'field' => 'pet_img', 'label' => '宠物头像', ), array( 'field' => 'pet_sex', 'label' => '宠物性别', 'rules' => 'required' ), array( 'field' => 'pet_species', 'label' => '宠物物种', ), array( 'field' => 'pet_birthday', 'label' => '宠物生日', 'rules' => 'required' ), array( 'field' => 'is_sterilized', 'label' => '是否绝育', ), array( 'field' => 'package_id', 'label' => '套餐ID' ) ); //读取输入数据 $data = $this->json_validation($config); //不允许修改套餐 //unset($data['package_id']); //对于新样品,从序列号读取套餐 if(empty($data['id'])){ $this->load->model('series_number_model'); $series = $this->series_number_model->get($data['series_id']); if(!$series){ $this->error('序列号不存在'); } if(empty($series['package_ori'])){ $this->error('序列号未绑定套餐'); } $data['package_id'] = $series['package_ori']; } $this->_update_post($config,$data); } function list_get() { $ret = $this->_list_get(true); $this->load->model('sample_model'); $ret['step'] = $this->sample_model->step_back; $this->load->model('package_model'); $package_map = $this->package_model->get(false,null,true,'id,name'); $package_map = array_column($package_map,'name','id'); foreach ($ret['items'] as &$item) { $item['package_ori_name'] = isset($package_map[$item['package_ori']])?$package_map[$item['package_ori']]:''; $item['package_name'] = isset($package_map[$item['package_id']])?$package_map[$item['package_id']]:''; } $this->success($ret); } //批量更新状态 function batch_update_status_post() { $data_arr = $this->json_input(); $this->load->model('sample_model'); if(empty($data_arr['ids']) || !is_array($data_arr['ids'])){ $this->error('请选择要操作的样品'); } if(empty($data_arr['step']) || !isset($this->sample_model->step_back[$data_arr['step']])){ $this->error('状态错误'); } if(empty($data_arr['timestamp'])){ $data_arr['timestamp'] = time(); } $ret = $this->sample_model->update( ['step'=>$data_arr['step']], 'id in ('.implode(',',$data_arr['ids']).')', false ); if($ret){ //记录状态变更时间 //如果完成,给用户发通知 if($data_arr['step'] == Sample_model::STEP_COMPLETE){ $this->sample_model->complete($data_arr['ids']); } } $this->success(); } }