Pointorder.php 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <?php
  2. namespace app\admin\controller;
  3. use think\facade\View;
  4. use think\facade\Lang;
  5. /**
  6. * ============================================================================
  7. * DSMall多用户商城
  8. * ============================================================================
  9. * 版权所有 2014-2028 长沙德尚网络科技有限公司,并保留所有权利。
  10. * 网站地址: http://www.csdeshang.com
  11. * ----------------------------------------------------------------------------
  12. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
  13. * 不允许对程序代码以任何形式任何目的的再发布。
  14. * ============================================================================
  15. * 控制器
  16. */
  17. class Pointorder extends AdminControl {
  18. public function initialize() {
  19. parent::initialize(); // TODO: Change the autogenerated stub
  20. Lang::load(base_path() . 'admin/lang/'.config('lang.default_lang').'/pointorder.lang.php');
  21. }
  22. /**
  23. * 积分兑换列表
  24. */
  25. public function pointorder_list() {
  26. $pointorder_model = model('pointorder');
  27. //获取兑换订单状态
  28. $pointorderstate_arr = $pointorder_model->getPointorderStateBySign();
  29. $where = array();
  30. //兑换单号
  31. $pordersn = trim(input('param.pordersn'));
  32. if ($pordersn) {
  33. $where[]=array('point_ordersn','like', "%{$pordersn}%");
  34. }
  35. //兑换会员名称
  36. $pbuyname = trim(input('param.pbuyname'));
  37. if (trim(input('param.pbuyname'))) {
  38. $where[]=array('point_buyername','like', "%{$pbuyname}%");
  39. }
  40. //订单状态
  41. if (trim(input('param.porderstate'))) {
  42. $where[]=array('point_orderstate','=',$pointorderstate_arr[input('param.porderstate')][0]);
  43. }
  44. //查询兑换订单列表
  45. $order_list = $pointorder_model->getPointorderList($where, '*', 10, 0, 'point_orderid desc');
  46. //信息输出
  47. View::assign('pointorderstate_arr', $pointorderstate_arr);
  48. View::assign('order_list', $order_list);
  49. View::assign('show_page', $pointorder_model->page_info->render());
  50. $this->setAdminCurItem('pointorder_list');
  51. return View::fetch();
  52. }
  53. /**
  54. * 删除兑换订单信息
  55. */
  56. public function order_drop() {
  57. $data = model('pointorder')->delPointorderByOrderID(input('param.order_id'));
  58. if ($data['state']) {
  59. ds_json_encode(10000, lang('admin_pointorder_del_success'));
  60. } else {
  61. ds_json_encode(10001, $data['msg']);
  62. }
  63. }
  64. /**
  65. * 取消兑换
  66. */
  67. public function order_cancel() {
  68. $pointorder_model = model('pointorder');
  69. //取消订单
  70. $data = $pointorder_model->cancelPointorder(input('param.id'));
  71. if ($data['state']) {
  72. ds_json_encode(10000, lang('admin_pointorder_cancel_success'));
  73. } else {
  74. ds_json_encode(10001, $data['msg']);
  75. }
  76. }
  77. /**
  78. * 发货
  79. */
  80. public function order_ship() {
  81. $order_id = intval(input('param.id'));
  82. if ($order_id <= 0) {
  83. $this->error(lang('admin_pointorder_parameter_error'),(string)url('Pointorder/pointorder_list'));
  84. }
  85. $pointorder_model = model('pointorder');
  86. //获取订单状态
  87. $pointorderstate_arr = $pointorder_model->getPointorderStateBySign();
  88. //查询订单信息
  89. $where = array();
  90. $where[]=array('point_orderid','=',$order_id);
  91. $where[]=array('point_orderstate','in', array($pointorderstate_arr['waitship'][0], $pointorderstate_arr['waitreceiving'][0])); //待发货和已经发货状态
  92. $order_info = $pointorder_model->getPointorderInfo($where);
  93. if (!$order_info) {
  94. $this->error(lang('admin_pointorderd_record_error'),(string)url('Pointorder/pointorder_list'));
  95. }
  96. if (request()->isPost()) {
  97. $data = [
  98. 'shippingcode' => input('post.shippingcode')
  99. ];
  100. $point_validate = ds_validate('point');
  101. if (!$point_validate->scene('order_ship')->check($data)) {
  102. $this->error($point_validate->getError());
  103. }
  104. //发货
  105. $data = $pointorder_model->shippingPointorder($order_id, input('post.'), $order_info);
  106. if ($data['state']) {
  107. dsLayerOpenSuccess(lang('ds_common_op_succ'));
  108. } else {
  109. $this->error($data['msg'],(string)url('Pointorder/pointorder_list'));
  110. }
  111. } else {
  112. $express_list = model('express')->getExpressList();
  113. View::assign('express_list', $express_list);
  114. View::assign('order_info', $order_info);
  115. return View::fetch();
  116. }
  117. }
  118. /**
  119. * 兑换信息详细
  120. */
  121. public function order_info() {
  122. $order_id = intval(input('param.order_id'));
  123. if ($order_id <= 0) {
  124. $this->error(lang('admin_pointorder_parameter_error'));
  125. }
  126. //查询订单信息
  127. $pointorder_model = model('pointorder');
  128. $order_info = $pointorder_model->getPointorderInfo(array('point_orderid' => $order_id));
  129. if (!$order_info) {
  130. $this->error(lang('admin_pointorderd_record_error'));
  131. }
  132. $orderstate_arr = $pointorder_model->getPointorderState($order_info['point_orderstate']);
  133. $order_info['point_orderstatetext'] = $orderstate_arr[1];
  134. //查询兑换订单收货人地址
  135. $orderaddress_info = $pointorder_model->getPointorderAddressInfo(array('pointoa_orderid' => $order_id));
  136. View::assign('orderaddress_info', $orderaddress_info);
  137. //兑换商品信息
  138. $prod_list = $pointorder_model->getPointordergoodsList(array('pointog_orderid' => $order_id));
  139. View::assign('prod_list', $prod_list);
  140. //物流公司信息
  141. if ($order_info['point_shipping_ecode'] != '') {
  142. $data = model('express')->getExpressInfoByECode($order_info['point_shipping_ecode']);
  143. if ($data['state']) {
  144. $express_info = $data['data']['express_info'];
  145. }
  146. View::assign('express_info', $express_info);
  147. }
  148. View::assign('order_info', $order_info);
  149. return View::fetch();
  150. }
  151. protected function getAdminItemList() {
  152. $menu_array = array(
  153. array(
  154. 'name' => 'pointorder_list', 'text' => lang('admin_pointorder_list_title'), 'url' => (string)url('Pointorder/pointorder_list')
  155. ),
  156. );
  157. return $menu_array;
  158. }
  159. }