You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

239 lines
6.7 KiB

  1. <?php
  2. class get_detail_channel
  3. {
  4. public $dict_type = array(
  5. 25 => '酒店',
  6. 259 => '车队',
  7. // 275 => '授信支付',
  8. // 288 => '预付',
  9. // 292 => '单结',
  10. // 293 => '日结',
  11. // 294 => '周结',
  12. // 295 => '月结',
  13. 310 => '巴士',
  14. 311 => '门票'
  15. );
  16. //获得数据基本流程
  17. function execGetChannel($channel_id)
  18. {
  19. //1.获取渠道商基本信息
  20. $channel = $this->getChannel($channel_id);
  21. //2.获取销售类型基本信息
  22. $channel['sale'] = $this->getSale($channel_id);
  23. //3.获取联系信息
  24. $channel['link_info'] = $this->getLink($channel_id);
  25. //4将销售信息,联系信息存入缓存
  26. $this -> setLinkMen($channel['sale'],$channel['link_info']);
  27. $json['code'] = '0';
  28. $json['info'] = '返回数据成功';
  29. $json['list'] = $channel;
  30. echo json_encode($json);
  31. exit();
  32. }
  33. //获得base_supplier表数据
  34. function getChannel($channel_id)
  35. {
  36. global $pdo;
  37. $sql = "SELECT
  38. id,
  39. supplier_name,
  40. area_id,
  41. manage_type,
  42. company_name,
  43. id_card,
  44. sett_type,
  45. sett_frequency,
  46. account_bank,
  47. account_num,
  48. account_name,
  49. sales_man
  50. FROM
  51. base_supplier
  52. WHERE
  53. cancel_flag = 0
  54. AND id = " . $channel_id;
  55. writeLog("select base_supplier:" . $sql);
  56. $result = $pdo->query($sql);
  57. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  58. if(count($res) == 0 )
  59. {
  60. $json['code'] = '1';
  61. $json['info'] = '数据已不存在';
  62. // $json['list'] = array();
  63. // $json['count'] = '0';
  64. echo json_encode($json);
  65. exit();
  66. }
  67. $res = $res[0];
  68. $area = $this -> getArea($res['area_id']);
  69. unset($res['area_id']);
  70. $res = array_merge($res,$area);
  71. return $res;
  72. }
  73. //获取所属城市基本信息
  74. function getArea($area_id)
  75. {
  76. global $pdo;
  77. $sql = "SELECT
  78. id,
  79. area_name,
  80. parent_id
  81. FROM
  82. base_area
  83. WHERE
  84. cancel_flag = 0
  85. AND id = " . $area_id;
  86. writeLog("select base_area:" . $sql);
  87. $result = $pdo->query($sql);
  88. $res1 = $result->fetchAll(PDO::FETCH_ASSOC);
  89. if(count($res1) == 0)
  90. {
  91. $json['code'] = '1';
  92. $json['info'] = 'base_area出错';
  93. echo json_encode($json);
  94. exit();
  95. }
  96. $res1 = $res1[0];
  97. if($res1['parent_id'] == 0)
  98. {
  99. $res['province_id'] = $res1['id'];
  100. $res['province_name'] = $res1['area_name'];
  101. }
  102. else
  103. {
  104. $sql = "SELECT
  105. id,
  106. area_name
  107. FROM
  108. base_area
  109. WHERE
  110. cancel_flag = 0
  111. AND id = " . $res1['parent_id'];
  112. writeLog("select base_area:" . $sql);
  113. $result = $pdo->query($sql);
  114. $res2 = $result->fetchAll(PDO::FETCH_ASSOC);
  115. $res2 = $res2[0];
  116. if(count($res2) == 0)
  117. {
  118. $json['code'] = '1';
  119. $json['info'] = 'base_area出错';
  120. echo json_encode($json);
  121. exit();
  122. }
  123. $res['province_id'] = $res2['id'];
  124. $res['province_name'] = $res2['area_name'];
  125. $res['city_id'] = $res1['id'];
  126. $res['city_name'] = $res1['area_name'];
  127. }
  128. return $res;
  129. }
  130. //获取销售信息
  131. function getSale($channel_id)
  132. {
  133. global $pdo;
  134. $sql = "SELECT
  135. id,
  136. prod_supplier_id,
  137. product_type,
  138. parent_type,
  139. sale_type,
  140. commision_flag,
  141. commision_type,
  142. back_commision_type,
  143. back_commision_method,
  144. back_percent,
  145. back_value
  146. FROM
  147. base_supplier_sale
  148. WHERE
  149. cancel_flag = 0
  150. AND supplier_id = " . $channel_id;
  151. writeLog("select base_supplier_sale:" . $sql);
  152. $result = $pdo->query($sql);
  153. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  154. return $res;
  155. }
  156. //获取联系信息
  157. function getLink($channel_id)
  158. {
  159. global $pdo;
  160. $sql = "SELECT
  161. id,
  162. link_name,
  163. contact_name,
  164. contact_mobile,
  165. contact_telphone,
  166. fax,
  167. email,
  168. remark
  169. FROM
  170. base_supplier_link
  171. WHERE
  172. cancel_flag = 0
  173. AND supplier_id = " . $channel_id;
  174. writeLog("select base_supplier_link:" . $sql);
  175. $result = $pdo->query($sql);
  176. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  177. return $res;
  178. }
  179. //将销售信息,联系信息存入缓存
  180. function setLinkMen($sale,$link)
  181. {
  182. if(!isset($_COOKIE['memcache']))
  183. {
  184. $time = time();
  185. setcookie('memcache',time(),time()+36000,"/");
  186. $_COOKIE['memcache'] = $time;
  187. }
  188. $key = $_COOKIE['memcache'];
  189. foreach($sale as $k=>$v)
  190. {
  191. $sale_memcache[$v['id']] = $v;
  192. // $sale_memcache[$v['id']]['is_db'] = '1';
  193. // $sale_memcache[$v['id']]['is_update'] = '0';
  194. $sale_memcache[$v['id']]['sale_id'] = $v['id'];
  195. unset($sale_memcache[$v['id']]['id']);
  196. }
  197. set_memcache("ZHANGS_SALE" . $key,$sale_memcache);
  198. foreach($link as $k=>$v)
  199. {
  200. $link_memcache[$v['id']] = $v;
  201. // $link_memcache[$v['id']]['is_db'] = '1';
  202. // $link_memcache[$v['id']]['is_update'] = '0';
  203. $link_memcache[$v['id']]['link_id'] = $v['id'];
  204. unset($link_memcache[$v['id']]['id']);
  205. }
  206. set_memcache("ZHANGS_LINK" . $key,$link_memcache);
  207. }
  208. }
  209. $channel_id = $_POST['channel_id'];//渠道商id
  210. $get_detail_channel = new get_detail_channel();
  211. $get_detail_channel->execGetChannel($channel_id);
  212. ?>