Order.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <?php
  2. namespace app\index\controller;
  3. use app\common\model\OrderListModel;
  4. use app\common\model\PayListModel;
  5. use app\common\model\UserAddressModel;
  6. use app\common\service\ServiceBaseInfo;
  7. use app\common\model\OrderModel;
  8. use think\Session;
  9. use think\Validate;
  10. class Order extends Base{
  11. public function _initialize()
  12. {
  13. parent::_initialize();
  14. }
  15. /**
  16. * 我的订单页面
  17. * @return mixed
  18. */
  19. public function order(){
  20. $params = $this->request->param();
  21. $rule = [
  22. ['order_status|订单类型','number'],
  23. ];
  24. $validate = new Validate($rule);
  25. if(!$validate->check($params)){
  26. $this->error($validate->getError(),'','','3');
  27. }
  28. if(isset($params['order_status'])){
  29. // echo $params['order_status'];exit;
  30. $order_status = $params['order_status'];
  31. Session::set('order_status',$order_status);
  32. } elseif (Session::has('order_status')){
  33. $order_status = Session::get('order_status');
  34. }else{
  35. $order_status = 0;
  36. }
  37. if($order_status==1){
  38. $order_status = 0;
  39. }
  40. if($order_status == 10){
  41. $order_status = 1;
  42. }
  43. if($order_status == 20){
  44. $order_status = 2;
  45. }
  46. if($order_status == 30){
  47. $order_status = 3;
  48. }
  49. if($order_status == 40){
  50. $order_status = 4;
  51. }
  52. // echo $order_status;
  53. $this->assign('status',$order_status);
  54. return $this->fetch('Order/order');
  55. }
  56. /**
  57. * 提交售后
  58. * @return mixed
  59. */
  60. public function sales(){
  61. $params = $this->request->param();
  62. $rule = [
  63. ['orderNo|用户名','require|number'],
  64. ];
  65. $validate = new Validate($rule);
  66. if(!$validate->check($params)){
  67. $this->error($validate->getError(),'','','3');
  68. }
  69. $this->assign('orderNo',$params['orderNo']);
  70. return $this->fetch('Order/sales');
  71. }
  72. /**
  73. * 订单详情页面
  74. */
  75. public function orderDetail(){
  76. $params = $this->request->param();
  77. $address_id = isset($params['address_id'])?$params['address_id']:'';
  78. $userAddressInfo = '';
  79. $is_have_address = 2;
  80. if($address_id){
  81. $userAddressModel = new UserAddressModel();
  82. $userAddressInfo = $userAddressModel->getOne(['address_id'=>$address_id,'status'=>1]);
  83. if(empty($userAddressInfo)){
  84. $this->error('地址信息有误');
  85. }
  86. $userAddressInfo['province'] = ServiceBaseInfo::getAddress(['level'=>1,'code'=>$userAddressInfo['province_code']]);
  87. $userAddressInfo['province'] = current($userAddressInfo['province']);
  88. $userAddressInfo['city'] = ServiceBaseInfo::getAddress(['level'=>2,'code'=>$userAddressInfo['city_code']]);
  89. $userAddressInfo['city'] = current($userAddressInfo['city']);
  90. $userAddressInfo['area'] = ServiceBaseInfo::getAddress(['level'=>3,'code'=>$userAddressInfo['area_code']]);
  91. $userAddressInfo['area'] = current($userAddressInfo['area']);
  92. $is_have_address = 1;
  93. }
  94. if(!Session::has('orderNo')){
  95. $this->error('订单数据有误');
  96. }
  97. $orderNo = Session::get('orderNo');
  98. $this->assign('orderNo',$orderNo);
  99. $this->assign('userAddressInfo',$userAddressInfo);
  100. $this->assign('is_have_address',$is_have_address);
  101. return $this->fetch('Order/orderDetail');
  102. }
  103. /**
  104. * 订单详情
  105. */
  106. public function order_apply(){
  107. $orderNo = Session::get('orderNo');
  108. $orderModel = new OrderModel();
  109. $orderInfo = $orderModel->getOne(['order_no'=>$orderNo]);
  110. if(empty($orderInfo)){
  111. $this->error('订单数据有误');
  112. }
  113. $orderDetailInfo = $orderModel->getOrderAndProduct(['order.order_no'=>$orderNo]);
  114. // print_r($orderDetailInfo);exit;
  115. foreach ($orderDetailInfo as &$orderDetail){
  116. $orderDetail['images'] = json_decode($orderDetail['images'],true);
  117. }
  118. $orderInfo['province'] = ServiceBaseInfo::getAddress(['level'=>1,'code'=>$orderInfo['province_code']]);
  119. $orderInfo['province'] = !empty($orderInfo['province'])?current($orderInfo['province']):'';
  120. $orderInfo['city'] = ServiceBaseInfo::getAddress(['level'=>2,'code'=>$orderInfo['city_code']]);
  121. $orderInfo['city'] = !empty($orderInfo['city'])?current($orderInfo['city']):'';
  122. $orderInfo['area'] = ServiceBaseInfo::getAddress(['level'=>3,'code'=>$orderInfo['area_code']]);
  123. $orderInfo['area'] = !empty($orderInfo['area'])?current($orderInfo['area']):'';
  124. $orderInfo['orderDetailInfo'] = $orderDetailInfo;
  125. // print_r($orderInfo);exit;
  126. $PayListModel = new PayListModel();
  127. $list = $PayListModel->getOne(['order_no'=>$orderNo]);
  128. $this->assign('list',$list);
  129. $this->assign('orderInfo',$orderInfo);
  130. return $this->fetch('Order/order_apply');
  131. }
  132. /**
  133. * 支付成功页面
  134. * @return mixed
  135. */
  136. public function paySuccess(){
  137. $orderNo = Session::get('orderNo');
  138. $orderModel = new OrderModel();
  139. $orderInfo = $orderModel->getOne(['order_no'=>$orderNo]);
  140. if(empty($orderInfo)){
  141. $this->error('订单数据有误');
  142. }
  143. $payList = new PayListModel();
  144. $payListInfo = $payList->getOne(['order_no'=>$orderNo]);
  145. if($payListInfo['status'] == 2){
  146. $this->redirect('/index/order/order_apply');
  147. }
  148. $this->assign('orderInfo',$orderInfo);
  149. return $this->fetch('Order/paySuccess');
  150. }
  151. public function sales_detail(){
  152. $params = $this->request->param();
  153. $rule = [
  154. ['orderNo|商品标识','require|number'],
  155. ];
  156. $validate = new Validate($rule);
  157. if(!$validate->check($params)){
  158. $this->error($validate->getError(),'','','3');
  159. }
  160. $orderList = new OrderListModel();
  161. $orderListInfo = $orderList->getOrderSales(['orderList.order_no'=>$params['orderNo']]);
  162. // print_r($orderListInfo);exit;
  163. $this->assign('orderListInfo',$orderListInfo);
  164. return $this->fetch('Order/sales_detail');
  165. }
  166. function getthemonth($date)
  167. {
  168. $firstday = date('Y-m-01', strtotime($date));
  169. $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day"));
  170. return array($firstday,$lastday);
  171. }
  172. public function aaa(){
  173. $date = date('Y-m-d');
  174. echo strtotime("21:00:00");
  175. // echo $date;
  176. $return = $this->getthemonth();
  177. $date == $return[1];
  178. echo $return[1];
  179. }
  180. /**
  181. * 购物车页面
  182. * @return mixed
  183. */
  184. public function car(){
  185. return $this->fetch('Order/car');
  186. }
  187. }