Userweb.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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. /**
  11. * h5 web用户管理
  12. */
  13. class Userweb extends Controller
  14. {
  15. /**
  16. * 用户自动登录,默认微信小程序
  17. */
  18. public function login()
  19. {
  20. $model = new UserModel;
  21. $user_id = $model->login($this->request->post());
  22. if($user_id == 0){
  23. return $this->renderError($model->getError() ?:'登录失败');
  24. }
  25. return $this->renderSuccess('',[
  26. 'user_id' => $user_id,
  27. 'token' => $model->getToken()
  28. ]);
  29. }
  30. /**
  31. * 短信登录
  32. */
  33. public function sendCode($mobile)
  34. {
  35. $model = new SmsModel();
  36. if($model->send($mobile, 'login')){
  37. return $this->renderSuccess();
  38. }
  39. return $this->renderError($model->getError() ?:'发送失败');
  40. }
  41. public function bindMobile(){
  42. $model = new UserModel;
  43. if($model->bindMobile($this->getUser(), $this->request->post())){
  44. return $this->renderSuccess('绑定成功');
  45. }
  46. return $this->renderError($model->getError() ?:'绑定失败');
  47. }
  48. public function payH5($order_id, $order_type = OrderTypeEnum::MASTER){
  49. $order = OrderModel::detail($order_id);
  50. $user = $order['user'];
  51. $model = null;
  52. $payment = null;
  53. $return_Url = '';
  54. if($order_type == OrderTypeEnum::MASTER){
  55. // 订单详情
  56. $model = OrderModel::getUserOrderDetail($order_id, $user['user_id']);
  57. // 构建支付请求
  58. $payment = OrderModel::onOrderPayment($user, [$model], OrderPayTypeEnum::WECHAT, 'payH5');
  59. $return_Url = urlencode(base_url()."h5/pages/order/myorder/myorder");
  60. }else if($order_type == OrderTypeEnum::BALANCE){
  61. // 订单详情
  62. $model = BalanceOrderModel::getUserOrderDetail($order_id, $user['user_id']);
  63. // 构建支付请求
  64. $payment = BalanceOrderModel::onOrderPayment($user, $model, OrderPayTypeEnum::WECHAT, 'payH5');
  65. $return_Url = urlencode(base_url()."h5/pages/user/my-wallet/my-wallet");
  66. }
  67. return $this->renderSuccess('',[
  68. 'order' => $model, // 订单详情
  69. 'mweb_url' => $payment['mweb_url'],
  70. 'return_Url' => $return_Url
  71. ]);
  72. }
  73. /**
  74. * h5下支付宝支付
  75. */
  76. public function alipayH5($order_id, $order_type = OrderTypeEnum::MASTER, $pay_source = 'payH5'){
  77. $order = OrderModel::detail($order_id);
  78. $user = $order['user'];
  79. $payment = [];
  80. if($order_type == OrderTypeEnum::MASTER){
  81. // 订单详情
  82. $model = OrderModel::getUserOrderDetail($order_id, $user['user_id']);
  83. // 构建支付请求
  84. $payment = OrderModel::onOrderPayment($user, [$model], OrderPayTypeEnum::ALIPAY, $pay_source);
  85. }else if($order_type == OrderTypeEnum::BALANCE){
  86. // 订单详情
  87. $model = BalanceOrderModel::getUserOrderDetail($order_id, $user['user_id']);
  88. // 构建支付请求
  89. $payment = BalanceOrderModel::onOrderPayment($user, $model, OrderPayTypeEnum::ALIPAY, $pay_source);
  90. }
  91. return $this->renderSuccess('',[
  92. 'payment' => $payment,
  93. ]);
  94. }
  95. }