MyOrderController.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. /**
  3. * 我的订单控制器
  4. * @author 2015-12-15
  5. */
  6. class MyOrderController extends CController {
  7. public $layout = 'qyindex';
  8. public function actionIndex() {
  9. // 环境判断
  10. if (ENVIRONMENT == 'test') {
  11. //if (false) {
  12. if (isset($_COOKIE['weixin_userid']) && isset($_COOKIE['weixin_userid_signature'])) {
  13. $signature = md5($_COOKIE['weixin_userid'].'wozhua=9527');
  14. if ($signature == $_COOKIE['weixin_userid_signature']) {
  15. $userid = $_COOKIE['weixin_userid'];
  16. } else {
  17. $this->render('error', ['msg' => '未查询到用户']);die;
  18. }
  19. } else {
  20. $reditect = "apitest.yiguanjia.me/index.php?r=o2o/myOrder/checkUserid";
  21. $reditect = urlencode($reditect);
  22. $this->redirect('https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx08ddb347281baf39&redirect_uri='.$reditect.'&response_type=code&scope=snsapi_base&state=5e2b4706179f774e94903e1213d2222e#wechat_redirect');
  23. }
  24. } else {
  25. $userid = Yii::app()->request->getParam('weixin_userid', '');
  26. }
  27. $tech = TechInfo::getByUserid($userid);
  28. if (!$tech) {
  29. $this->render('error', ['msg' => '未查询到用户']);die;
  30. }
  31. $username = $tech->name;
  32. $user = $tech->_id;
  33. $timelist = O2oApp::getTimeList();
  34. $info = array(
  35. 'userid' => $userid,
  36. 'username' => $username,
  37. 'user' => $user,
  38. 'timelist' => $timelist,
  39. );
  40. $data = array_merge($info);
  41. $this->render('index', $data);
  42. }
  43. /**
  44. * 获取userid保存至cookie
  45. */
  46. public function actionCheckUserid() {
  47. $check = O2oApp::checkURI(24);
  48. if (!$check['success']) {
  49. $this->render('error', $check);die;
  50. } else {
  51. $userid = $check['userid'];
  52. }
  53. setcookie('weixin_userid', $userid);
  54. setcookie('weixin_userid_signature', md5($userid.'wozhua=9527'));
  55. $this->redirect(['index']);
  56. }
  57. public function actionList() {
  58. $start = Yii::app()->request->getParam('start', 0);
  59. $end = Yii::app()->request->getParam('end', 0);
  60. $userid = Yii::app()->request->getParam('userid', 0);
  61. $start = strtotime($start);
  62. $end = $end == 0 ? strtotime('+1 month', $start) : $end;
  63. $o2oApp = new O2oApp($userid);
  64. $orderData = $o2oApp->getOrder($start, $end, true);
  65. echo json_encode($orderData);
  66. }
  67. public function actionInfo() {
  68. $order = Yii::app()->request->getParam('order', '');
  69. $user = Yii::app()->request->getParam('user', '');
  70. $this->layout = 'qyinfo';
  71. $data = array(
  72. 'order' => $order,
  73. 'user' => $user
  74. );
  75. var_dump($data);exit;
  76. $this->render('info', $data);
  77. }
  78. /**
  79. * 保洁师确认出发
  80. */
  81. public function actionTechSetout() {
  82. $order = Yii::app()->request->getParam('order', '');
  83. $user = intval(Yii::app()->request->getParam('user', 0));
  84. if (!CommonFn::isMongoId($order) || $user == 0) {
  85. O2oApp::response(false, '订单或用户不存在', []);
  86. }
  87. $order_obj = ROrder::get(new MongoId($order));
  88. if (!$order_obj || $order_obj->technician != $user) {
  89. O2oApp::response(false, '用户或订单ID错误', []);
  90. }
  91. $order_obj->status = 4;
  92. $success = $order_obj->save();
  93. O2oApp::response($success, '保存失败,请重试', []);
  94. }
  95. /**
  96. * 保洁师确认上门
  97. */
  98. public function actionTechCome() {
  99. $order = Yii::app()->request->getParam('order', '');
  100. $user = intval(Yii::app()->request->getParam('user', 0));
  101. if (!CommonFn::isMongoId($order) || $user == 0) {
  102. O2oApp::response(false, '订单或用户不存在', []);
  103. }
  104. $order_obj = ROrder::get(new MongoId($order));
  105. if (!$order_obj || $order_obj->technician != $user) {
  106. O2oApp::response(false, '用户或订单ID错误', []);
  107. }
  108. $order_obj->status = 5;
  109. $success = $order_obj->save();
  110. O2oApp::response($success, '保存失败,请重试', []);
  111. }
  112. }