Userweb.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. namespace app\api\controller\user;
  3. use app\api\controller\Controller;
  4. use app\api\model\order\Order as OrderModel;
  5. use app\api\model\user\BalanceOrder as BalanceOrderModel;
  6. use app\common\enum\order\OrderPayTypeEnum;
  7. use app\common\enum\order\OrderTypeEnum;
  8. use app\common\model\user\Sms as SmsModel;
  9. use app\api\model\user\UserWeb as UserModel;
  10. use app\api\model\user\User as UserloginModel;
  11. use app\api\model\plus\giftpackage\Order as GiftOrderModel;
  12. /**
  13. * h5 web用户管理
  14. */
  15. class Userweb extends Controller
  16. {
  17. /**
  18. * 小程序获取openid
  19. */
  20. public function login()
  21. {
  22. $model = new UserloginModel;
  23. $session = $model->login($this->request->post());
  24. return $this->renderSuccess('',['openid' => $session['openid']]);
  25. }
  26. /**
  27. * 小程序账号密码登陆
  28. */
  29. public function accountlogin()
  30. {
  31. $model = new UserloginModel;
  32. $user_id = $model->accountlogin($this->request->post());
  33. if ($user_id) {
  34. return $this->renderSuccess('', [
  35. 'user_id' => $user_id,
  36. 'token' => $model->getToken()
  37. ]);
  38. }
  39. return $this->renderError($model->getError() ?: '登录失败');
  40. }
  41. /**
  42. * 用户自动登录,默认微信小程序
  43. */
  44. // public function login()
  45. // {
  46. // $model = new UserModel;
  47. // $user_id = $model->login($this->request->post());
  48. // if($user_id == 0){
  49. // return $this->renderError($model->getError() ?:'登录失败');
  50. // }
  51. // return $this->renderSuccess('',[
  52. // 'user_id' => $user_id,
  53. // 'token' => $model->getToken()
  54. // ]);
  55. // }
  56. /**
  57. * 短信登录
  58. */
  59. public function sendCode($mobile)
  60. {
  61. $model = new SmsModel();
  62. if($model->send($mobile)){
  63. return $this->renderSuccess();
  64. }
  65. return $this->renderError($model->getError() ?:'发送失败');
  66. }
  67. public function payH5($order_id, $order_type = OrderTypeEnum::MASTER){
  68. $user = $this->getUser();
  69. if ($order_type == 'undefined') {
  70. $order_type = OrderTypeEnum::MASTER;
  71. }
  72. if($order_type == OrderTypeEnum::MASTER){
  73. // 订单详情
  74. $model = OrderModel::getUserOrderDetail($order_id, $user['user_id']);
  75. // 构建支付请求
  76. $payment = OrderModel::onOrderPayment($user, $model, OrderPayTypeEnum::WECHAT, 'payH5');
  77. $return_Url = urlencode(base_url()."h5/pages/order/myorder/myorder");
  78. }else if($order_type == OrderTypeEnum::GIFT){
  79. // 订单详情
  80. $model = GiftOrderModel::getUserOrderDetail($order_id, $user['user_id']);
  81. // 构建支付请求
  82. $payment = GiftOrderModel::onOrderPayment($user, $model, OrderPayTypeEnum::WECHAT, 'payH5');
  83. $return_Url = urlencode(base_url()."h5/pages/user/index/index");
  84. }else if($order_type == OrderTypeEnum::BALANCE){
  85. // 订单详情
  86. $model = BalanceOrderModel::getUserOrderDetail($order_id, $user['user_id']);
  87. // 构建支付请求
  88. $payment = BalanceOrderModel::onOrderPayment($user, $model, OrderPayTypeEnum::WECHAT, 'payH5');
  89. $return_Url = urlencode(base_url()."h5/pages/user/my-wallet/my-wallet");
  90. }
  91. return $this->renderSuccess('',[
  92. 'order' => $model, // 订单详情
  93. 'mweb_url' => $payment['mweb_url'],
  94. 'return_Url' => $return_Url
  95. ]);
  96. }
  97. public function bindMobile(){
  98. $model = new UserModel;
  99. if($model->bindMobile($this->getUser(), $this->request->post())){
  100. return $this->renderSuccess('绑定成功');
  101. }
  102. return $this->renderError($model->getError() ?:'绑定失败');
  103. }
  104. /**
  105. * h5下支付宝支付
  106. */
  107. public function alipayH5($order_id, $order_type = OrderTypeEnum::MASTER){
  108. $user = $this->getUser();
  109. $payment = [];
  110. if($order_type == OrderTypeEnum::MASTER){
  111. // 订单详情
  112. $model = OrderModel::getUserOrderDetail($order_id, $user['user_id']);
  113. // 构建支付请求
  114. $payment = OrderModel::onOrderPayment($user, $model, OrderPayTypeEnum::ALIPAY, 'payH5');
  115. }else if($order_type == OrderTypeEnum::GIFT){
  116. // 订单详情
  117. $model = GiftOrderModel::getUserOrderDetail($order_id, $user['user_id']);
  118. // 构建支付请求
  119. $payment = GiftOrderModel::onOrderPayment($user, $model, OrderPayTypeEnum::ALIPAY, 'payH5');
  120. }else if($order_type == OrderTypeEnum::BALANCE){
  121. // 订单详情
  122. $model = BalanceOrderModel::getUserOrderDetail($order_id, $user['user_id']);
  123. // 构建支付请求
  124. $payment = BalanceOrderModel::onOrderPayment($user, $model, OrderPayTypeEnum::ALIPAY, 'payH5');
  125. }
  126. return $this->renderSuccess('',[
  127. 'payment' => $payment,
  128. ]);
  129. }
  130. }