Sdzxlist.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <?php defined('BASEPATH') OR exit('No direct script access allowed');
  2. class Sdzxlist extends Start_Controller {
  3. public function __construct(){
  4. parent::__construct();
  5. $this->load->library('session');
  6. $this->load->model('Model_shop','shop');
  7. $this->load->_model('Model_sdzxlist','sdzxlist');
  8. $this->load->_model('Model_apitt','apitt');
  9. }
  10. //定义方法的调用规则 获取URI第二段值
  11. public function _remap($arg,$arg_array)
  12. {
  13. if($arg == 'index'){
  14. $this->_index();
  15. }elseif($arg == 'edit'){
  16. $this->_edit($arg_array);
  17. }elseif($arg == 'delsc'){
  18. $this->_delsc();
  19. }elseif($arg == 'zczxttznx'){
  20. $this->_zczxttznx();
  21. }else{
  22. exit('No direct script access allowed');
  23. }
  24. }
  25. private function _index(){
  26. if($this->input->method() == 'post'){
  27. $page = $this->input->post('page',true);
  28. $perpage = $this->input->post('perpage',true);
  29. $shop = $this->input->post('shop_id',true);
  30. $ktime = $this->input->post('ktime',true);
  31. $jtime = $this->input->post('jtime',true);
  32. $ktime = strtotime($ktime);
  33. $jtime = strtotime($jtime);
  34. $where = "create_time >= ".$ktime." and create_time < ".$jtime." ";
  35. if(!empty($shop)){
  36. $where .= " and shop_id = ".$shop." ";
  37. }else{
  38. //$where .= " and shop_id in (".$shop_ids.") ";
  39. }
  40. //数据排序
  41. $order_str = "id desc";
  42. if(empty($page))
  43. {
  44. $start = 0;
  45. $perpage = 1;
  46. }
  47. else
  48. {
  49. $start = ($page - 1)*$perpage;
  50. }
  51. $list = $this->sdzxlist->find_all($where,"id,shop,number,type,status,err_desc,create_time,update_time",$order_str,$start,$perpage);
  52. if(empty($list)){
  53. $rows = array('total'=>0,'over'=>1,'pagenum'=>0,'rows'=>([]));
  54. echo json_encode($rows);exit;
  55. }
  56. $type_list = $this->sdzxlist->getType();
  57. $status_list = $this->sdzxlist->getStatus();
  58. $shop_list = $this->shop->find_all("type = 1514");
  59. $shop_id_list = array_column($shop_list,'shopname','id');
  60. foreach($list as $k=>$v){
  61. $list[$k]['type'] = isset($type_list[$v['type']]) ? $type_list[$v['type']] : '无';
  62. $list[$k]['status'] = isset($status_list[$v['status']]) ? $status_list[$v['status']] : '无';
  63. $list[$k]['shop'] = isset($shop_id_list[$v['shop']]) ? $shop_id_list[$v['shop']] : ' ';
  64. $list[$k]['create_time'] = empty($v['create_time']) ? "" : date("Y-m-d H:i",$v['create_time']);
  65. $operate_str = "";
  66. if(empty($v['status'])){
  67. $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>";
  68. }
  69. $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>";
  70. $list[$k]['update_time'] = $operate_str;
  71. }
  72. $total = $this->sdzxlist->find_count($where);
  73. $pagenum = ceil($total/$perpage);
  74. $over = $total-($start+$perpage);
  75. $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($list));
  76. echo json_encode($rows);exit;
  77. }else{
  78. $user = $this->user->get_api($_SESSION['api']);
  79. $usersp = explode('|',trim($user['shop'],'|'));
  80. $shop_tt_list = $this->shop->find_all("type = 1514");
  81. $shop_tt_ids = array_column($shop_tt_list,'id');
  82. $shop_allow_ids = array_intersect($usersp, $shop_tt_ids);
  83. $this->data['usersp'] = implode(",",$shop_allow_ids);
  84. $this->_Template('sdzxlist_index',$this->data);
  85. }
  86. }
  87. private function _edit($arg_array){
  88. if($this->input->method() == 'post'){
  89. exit("no post");
  90. }else{
  91. $id = $arg_array[0];
  92. $info = $this->sdzxlist->read($id);
  93. $shop = $this->shop->read($info['shop']);
  94. $info['shopname'] = $shop['shopname'];
  95. $info['cont'] = json_decode($info['cont'],true);
  96. $this->data['info'] = $info;
  97. $this->_Template('sdzxlist_edit',$this->data);
  98. }
  99. }
  100. private function _delsc(){
  101. if($this->input->method() == 'post'){
  102. $id = $this->input->post('id');
  103. $info = $this->sdzxlist->read($id);
  104. if(empty($info)){
  105. echo json_encode([
  106. 'code'=>-1,
  107. 'msg'=>'数据不存在'
  108. ],JSON_UNESCAPED_UNICODE);
  109. exit;
  110. }
  111. $id = (int)$id;
  112. $this->sdzxlist->remove($id);
  113. echo json_encode([
  114. 'code'=>1,
  115. 'msg'=>'执行成功'
  116. ],JSON_UNESCAPED_UNICODE);
  117. exit;
  118. }else{
  119. echo json_encode([
  120. 'code'=>1,
  121. 'msg'=>'执行成功'
  122. ],JSON_UNESCAPED_UNICODE);
  123. exit;
  124. }
  125. }
  126. private function _zczxttznx(){
  127. echo json_encode([
  128. 'code'=>-1,
  129. 'msg'=>'执行失败'
  130. ]);exit;
  131. if($this->input->method() == 'post'){
  132. $id = $this->input->post('id');
  133. $info = $this->sdzxlist->read($id);
  134. $params = json_decode($info['cont'],true);
  135. $shop = $this->shop->read($info['shop']);
  136. $list = [];
  137. $list['user_id'] = $params['post']['buyer_user_id'];
  138. $res = $this->apitt->openZnxWindow($list,$shop);
  139. if(empty($res)){
  140. echo json_encode([
  141. 'code'=>-1,
  142. 'msg'=>'获取会话ID失败'
  143. ]);exit;
  144. }
  145. if(!isset($res['data']['conversation_id'])){
  146. echo json_encode([
  147. 'code'=>-1,
  148. 'msg'=>$res['message']
  149. ]);exit;
  150. }
  151. $conversation_id = $res['data']['conversation_id'];
  152. $notice = $params['content'];
  153. $rr = $this->apitt->sendZnxMessage($shop,$notice,$conversation_id);
  154. if(empty($rr)){
  155. echo json_encode([
  156. 'code'=>-1,
  157. 'msg'=>'发送消息失败'
  158. ]);exit;
  159. }
  160. if(isset($rr['data']['message_id']))
  161. {
  162. echo json_encode([
  163. 'code'=>1,
  164. 'msg'=>'发送成功'
  165. ]);exit;
  166. }
  167. else
  168. {
  169. echo json_encode([
  170. 'code'=>-1,
  171. 'msg'=>$rr['message']
  172. ]);exit;
  173. }
  174. }else{
  175. echo json_encode([
  176. 'code'=>-1,
  177. 'msg'=>'执行失败'
  178. ]);exit;
  179. }
  180. }
  181. }