MyOrderController.php 4.3 KB

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