| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- <?php defined('BASEPATH') OR exit('No direct script access allowed');
- class Sdzxlist extends Start_Controller {
- public function __construct(){
- parent::__construct();
- $this->load->library('session');
- $this->load->model('Model_shop','shop');
- $this->load->_model('Model_sdzxlist','sdzxlist');
- $this->load->_model('Model_apitt','apitt');
- }
- //定义方法的调用规则 获取URI第二段值
- public function _remap($arg,$arg_array)
- {
- if($arg == 'index'){
- $this->_index();
- }elseif($arg == 'edit'){
- $this->_edit($arg_array);
- }elseif($arg == 'delsc'){
- $this->_delsc();
- }elseif($arg == 'zczxttznx'){
- $this->_zczxttznx();
- }else{
- exit('No direct script access allowed');
- }
- }
- private function _index(){
- if($this->input->method() == 'post'){
- $page = $this->input->post('page',true);
- $perpage = $this->input->post('perpage',true);
- $shop = $this->input->post('shop_id',true);
- $ktime = $this->input->post('ktime',true);
- $jtime = $this->input->post('jtime',true);
- $ktime = strtotime($ktime);
- $jtime = strtotime($jtime);
- $where = "create_time >= ".$ktime." and create_time < ".$jtime." ";
-
- if(!empty($shop)){
- $where .= " and shop_id = ".$shop." ";
- }else{
-
- //$where .= " and shop_id in (".$shop_ids.") ";
- }
- //数据排序
- $order_str = "id desc";
- if(empty($page))
- {
- $start = 0;
- $perpage = 1;
- }
- else
- {
- $start = ($page - 1)*$perpage;
- }
- $list = $this->sdzxlist->find_all($where,"id,shop,number,type,status,err_desc,create_time,update_time",$order_str,$start,$perpage);
- if(empty($list)){
- $rows = array('total'=>0,'over'=>1,'pagenum'=>0,'rows'=>([]));
- echo json_encode($rows);exit;
- }
- $type_list = $this->sdzxlist->getType();
- $status_list = $this->sdzxlist->getStatus();
- $shop_list = $this->shop->find_all("type = 1514");
- $shop_id_list = array_column($shop_list,'shopname','id');
- foreach($list as $k=>$v){
- $list[$k]['type'] = isset($type_list[$v['type']]) ? $type_list[$v['type']] : '无';
- $list[$k]['status'] = isset($status_list[$v['status']]) ? $status_list[$v['status']] : '无';
- $list[$k]['shop'] = isset($shop_id_list[$v['shop']]) ? $shop_id_list[$v['shop']] : ' ';
- $list[$k]['create_time'] = empty($v['create_time']) ? "" : date("Y-m-d H:i",$v['create_time']);
- $operate_str = "";
- if(empty($v['status'])){
- $operate_str .= "<a href='javascript:void(0)' style='margin-right:4px;color: #fff;background-color: #1E90FF;padding:4px 10px;border-radius:5px;font-size:15px' data-id='".$v['id']."' onclick='do_again(this)'>重发</a>";
- }
- $operate_str .= "<a href='javascript:void(0)' style='margin-right:4px;color: #fff;background-color: #DC143C;padding:4px 10px;border-radius:5px;font-size:15px' data-id='".$v['id']."' onclick='del(this)'>删除</a>";
- $list[$k]['update_time'] = $operate_str;
- }
- $total = $this->sdzxlist->find_count($where);
- $pagenum = ceil($total/$perpage);
- $over = $total-($start+$perpage);
- $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($list));
- echo json_encode($rows);exit;
- }else{
- $user = $this->user->get_api($_SESSION['api']);
- $usersp = explode('|',trim($user['shop'],'|'));
-
- $shop_tt_list = $this->shop->find_all("type = 1514");
- $shop_tt_ids = array_column($shop_tt_list,'id');
- $shop_allow_ids = array_intersect($usersp, $shop_tt_ids);
-
- $this->data['usersp'] = implode(",",$shop_allow_ids);
- $this->_Template('sdzxlist_index',$this->data);
- }
- }
- private function _edit($arg_array){
- if($this->input->method() == 'post'){
- exit("no post");
- }else{
- $id = $arg_array[0];
- $info = $this->sdzxlist->read($id);
- $shop = $this->shop->read($info['shop']);
- $info['shopname'] = $shop['shopname'];
- $info['cont'] = json_decode($info['cont'],true);
- $this->data['info'] = $info;
- $this->_Template('sdzxlist_edit',$this->data);
- }
- }
- private function _delsc(){
- if($this->input->method() == 'post'){
- $id = $this->input->post('id');
- $info = $this->sdzxlist->read($id);
- if(empty($info)){
- echo json_encode([
- 'code'=>-1,
- 'msg'=>'数据不存在'
- ],JSON_UNESCAPED_UNICODE);
- exit;
- }
- $id = (int)$id;
- $this->sdzxlist->remove($id);
- echo json_encode([
- 'code'=>1,
- 'msg'=>'执行成功'
- ],JSON_UNESCAPED_UNICODE);
- exit;
- }else{
- echo json_encode([
- 'code'=>1,
- 'msg'=>'执行成功'
- ],JSON_UNESCAPED_UNICODE);
- exit;
- }
- }
- private function _zczxttznx(){
- echo json_encode([
- 'code'=>-1,
- 'msg'=>'执行失败'
- ]);exit;
- if($this->input->method() == 'post'){
- $id = $this->input->post('id');
- $info = $this->sdzxlist->read($id);
- $params = json_decode($info['cont'],true);
- $shop = $this->shop->read($info['shop']);
- $list = [];
- $list['user_id'] = $params['post']['buyer_user_id'];
- $res = $this->apitt->openZnxWindow($list,$shop);
- if(empty($res)){
- echo json_encode([
- 'code'=>-1,
- 'msg'=>'获取会话ID失败'
- ]);exit;
- }
- if(!isset($res['data']['conversation_id'])){
- echo json_encode([
- 'code'=>-1,
- 'msg'=>$res['message']
- ]);exit;
- }
- $conversation_id = $res['data']['conversation_id'];
- $notice = $params['content'];
- $rr = $this->apitt->sendZnxMessage($shop,$notice,$conversation_id);
- if(empty($rr)){
- echo json_encode([
- 'code'=>-1,
- 'msg'=>'发送消息失败'
- ]);exit;
- }
- if(isset($rr['data']['message_id']))
- {
- echo json_encode([
- 'code'=>1,
- 'msg'=>'发送成功'
- ]);exit;
- }
- else
- {
- echo json_encode([
- 'code'=>-1,
- 'msg'=>$rr['message']
- ]);exit;
- }
-
- }else{
- echo json_encode([
- 'code'=>-1,
- 'msg'=>'执行失败'
- ]);exit;
- }
- }
- }
|