UserRechargeController.php 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace app\api\controller\user;
  3. use app\models\user\UserRecharge;
  4. use app\Request;
  5. use crmeb\services\SystemConfigService;
  6. use crmeb\services\UtilService;
  7. /**
  8. * 充值类
  9. * Class UserRechargeController
  10. * @package app\api\controller\user
  11. */
  12. class UserRechargeController
  13. {
  14. /**
  15. * 小程序充值
  16. *
  17. * @param Request $request
  18. * @return mixed
  19. */
  20. public function routine(Request $request)
  21. {
  22. list($price,$type) = UtilService::postMore([['price',0],['type',0]], $request, true);
  23. if(!$price || $price <=0) return app('json')->fail('参数错误');
  24. $storeMinRecharge = sysConfig('store_user_min_recharge');
  25. if($price < $storeMinRecharge) return app('json')->fail('充值金额不能低于'.$storeMinRecharge);
  26. switch ((int)$type){
  27. case 0: //支付充值余额
  28. $rechargeOrder = UserRecharge::addRecharge($request->uid(),$price,'routine');
  29. if(!$rechargeOrder) return app('json')->fail('充值订单生成失败!');
  30. try{
  31. return app('json')->successful(UserRecharge::jsPay($rechargeOrder));
  32. }catch (\Exception $e){
  33. return app('json')->fail($e->getMessage());
  34. }
  35. break;
  36. case 1: //佣金转入余额
  37. if(UserRecharge::importNowMoney($request->uid(),$price))
  38. return app('json')->successful('转入余额成功');
  39. else
  40. return app('json')->fail(UserRecharge::getErrorInfo());
  41. break;
  42. default:
  43. return app('json')->fail('缺少参数');
  44. break;
  45. }
  46. }
  47. /**
  48. * 公众号充值
  49. *
  50. * @param Request $request
  51. * @return mixed
  52. */
  53. public function wechat(Request $request)
  54. {
  55. list($price, $from,$type) = UtilService::postMore([['price',0], ['from','weixin'],['type',0]], $request, true);
  56. if(!$price || $price <=0) return app('json')->fail('参数错误');
  57. $storeMinRecharge = sysConfig('store_user_min_recharge');
  58. if($price < $storeMinRecharge) return app('json')->fail('充值金额不能低于'.$storeMinRecharge);
  59. switch ((int)$type){
  60. case 0: //支付充值余额
  61. $rechargeOrder = UserRecharge::addRecharge($request->uid(),$price,'weixin');
  62. if(!$rechargeOrder) return app('json')->fail('充值订单生成失败!');
  63. try{
  64. if($from == 'weixinh5'){
  65. $recharge = UserRecharge::wxH5Pay($rechargeOrder);
  66. }else{
  67. $recharge = UserRecharge::wxPay($rechargeOrder);
  68. }
  69. }catch (\Exception $e){
  70. return app('json')->fail($e->getMessage());
  71. }
  72. return app('json')->successful(['type'=>$from, 'data'=>$recharge]);
  73. break;
  74. case 1: //佣金转入余额
  75. if(UserRecharge::importNowMoney($request->uid(),$price))
  76. return app('json')->successful('转入余额成功');
  77. else
  78. return app('json')->fail(UserRecharge::getErrorInfo());
  79. break;
  80. default:
  81. return app('json')->fail('缺少参数');
  82. break;
  83. }
  84. }
  85. }