d_center.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. /**
  3. * 物流自提服务站首页
  4. *
  5. ***/
  6. defined('InShopNC') or exit('Access Invalid!');
  7. class d_centerControl extends BaseDeliveryCenterControl{
  8. public function __construct(){
  9. parent::__construct();
  10. }
  11. /**
  12. * 操作中心
  13. */
  14. public function indexOp() {
  15. $model_do = Model('delivery_order');
  16. $where = array();
  17. $where['dlyp_id'] = $_SESSION['dlyp_id'];
  18. if ($_GET['search_name'] != '') {
  19. $where['order_sn|shipping_code|reciver_mobphone'] = array('like', '%' . $_GET['search_name'] . '%');
  20. Tpl::output('search_name', $_GET['search_name']);
  21. }
  22. if ($_GET['hidden_success'] == 1) {
  23. $dorder_list = $model_do->getDeliveryOrderDefaultAndArriveList($where, '*', 10);
  24. Tpl::output('hidden_success', 1);
  25. } else {
  26. $dorder_list = $model_do->getDeliveryOrderList($where, '*', 10);
  27. }
  28. Tpl::output('dorder_list', $dorder_list);
  29. Tpl::output('show_page', $model_do->showpage());
  30. $dorder_state = $model_do->getDeliveryOrderState();
  31. Tpl::output('dorder_state', $dorder_state);
  32. Tpl::showpage('d_center.index');
  33. }
  34. /**
  35. * 详细资料
  36. */
  37. public function informationOp() {
  38. $model_dp = Model('delivery_point');
  39. $delivery_info = $model_dp->getDeliveryPointInfo(array('dlyp_id' => $_SESSION['dlyp_id']));
  40. Tpl::output('delivery_info', $delivery_info);
  41. Tpl::output('delivery_state', $model_dp->getDeliveryState());
  42. Tpl::showpage('d_center.information', 'null_layout');
  43. }
  44. /**
  45. * 修改密码
  46. */
  47. public function change_passwordOp() {
  48. if (chksubmit()) {
  49. if ($_POST['password'] != $_POST['passwd_confirm']) {
  50. showDialog('新密码与确认密码填写不同', '', 'error', 'DialogManager.close("change_password")');
  51. }
  52. $model_dp = Model('delivery_point');
  53. $where = array();
  54. $where['dlyp_id'] = $_SESSION['dlyp_id'];
  55. $where['dlyp_passwd'] = md5($_POST['old_password']);
  56. $dp_info = $model_dp->getDeliveryPointInfo($where);
  57. if (empty($dp_info)) {
  58. showDialog('原密码填写错误', '', 'error', 'DialogManager.close("change_password")');
  59. }
  60. $model_dp->editDeliveryPoint(array('dlyp_passwd' => md5($_POST['password'])), $where);
  61. unset($_SESSION['delivery_login']);
  62. unset($_SESSION['dlyp_id']);
  63. unset($_SESSION['dlyp_name']);
  64. showDialog('修改成功', 'reload', 'succ', 'DialogManager.close("change_password")');
  65. }
  66. Tpl::showpage('d_center.change_password', 'null_layout');
  67. }
  68. /**
  69. * 查看物流
  70. */
  71. public function get_expressOp() {
  72. Tpl::showpage('d_center.get_express', 'null_layout');
  73. }
  74. /**
  75. * 从第三方取快递信息
  76. */
  77. public function ajax_get_expressOp(){
  78. $url = 'http://www.kuaidi100.com/query?type='.$_GET['e_code'].'&postid='.$_GET['shipping_code'].'&id=1&valicode=&temp='.random(4).'&sessionid=&tmp='.random(4);
  79. import('function.ftp');
  80. $content = dfsockopen($url);
  81. $content = json_decode($content,true);
  82. if ($content['status'] != 200) exit(json_encode(false));
  83. $content['data'] = array_reverse($content['data']);
  84. $output = array();
  85. if (is_array($content['data'])){
  86. foreach ($content['data'] as $k=>$v) {
  87. if ($v['time'] == '') continue;
  88. $output[]= $v['time'].'&nbsp;&nbsp;'.$v['context'];
  89. }
  90. }
  91. if (empty($output)) exit(json_encode(false));
  92. echo json_encode($output);
  93. }
  94. /**
  95. * 取件通知
  96. */
  97. public function arrive_pointOp() {
  98. $order_id = intval($_GET['order_id']);
  99. if ($order_id <= 0) {
  100. showDialog(L('wrong_argument'));
  101. }
  102. $pickup_code = $this->createPickupCode();
  103. // 更新提货订单表数据
  104. $update = array();
  105. $update['dlyo_pickup_code'] = $pickup_code;
  106. Model('delivery_order')->editDeliveryOrderArrive($update, array('order_id' => $order_id, 'dlyp_id' => $_SESSION['dlyp_id']));
  107. // 更新订单扩展表数据
  108. Model('order')->editOrderCommon($update, array('order_id' => $order_id));
  109. // 发送短信提醒
  110. QueueClient::push('sendPickupcode', array('pickup_code' => $pickup_code, 'order_id' => $order_id));
  111. showDialog('操作成功', 'reload', 'succ');
  112. }
  113. /**
  114. * 提货验证
  115. */
  116. public function pickup_parcelOp() {
  117. if (chksubmit()) {
  118. $order_id = intval($_POST['order_id']);
  119. $pickup_code = intval($_POST['pickup_code']);
  120. if ($order_id <= 0 || $pickup_code <= 0) {
  121. showDialog(L('wrong_argument'), '', 'error', 'DialogManager.close("pickup_parcel")');
  122. }
  123. $model_do = Model('delivery_order');
  124. $dorder_info = $model_do->getDeliveryOrderInfo(array('order_id' => $order_id, 'dlyp_id' => $_SESSION['dlyp_id'], 'dlyo_pickup_code' => $pickup_code));
  125. if (empty($dorder_info)) {
  126. showDialog('提货码错误', '', 'error', 'DialogManager.close("pickup_parcel")');
  127. }
  128. $result = $model_do->editDeliveryOrderPickup(array(), array('order_id' => $order_id, 'dlyp_id' => $_SESSION['dlyp_id'], 'dlyo_pickup_code' => $pickup_code));
  129. if ($result) {
  130. // 更新订单状态
  131. $order_info = Model('order')->getOrderInfo(array('order_id' => $order_id));
  132. Logic('order')->changeOrderStateReceive($order_info, 'buyer', '物流自提服务站', '物流自提服务站确认收货');
  133. showDialog('操作成功,订单完成', 'reload', 'succ', 'DialogManager.close("pickup_parcel")');
  134. } else {
  135. showDialog('操作失败', '', 'error', 'DialogManager.close("pickup_parcel")');
  136. }
  137. }
  138. Tpl::showpage('d_center.pickup_parcel', 'null_layout');
  139. }
  140. /**
  141. * 生成提货码
  142. */
  143. private function createPickupCode() {
  144. return rand(1, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9);
  145. }
  146. }