UserCardController.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace app\api\controller\user;
  3. use app\admin\model\user\User;
  4. use app\admin\model\water\WaterCardOrder;
  5. use app\admin\model\water\WaterMaterialScience;
  6. use app\admin\model\water\WaterMembershioCard;
  7. use app\models\user\UserRecharge;
  8. use app\Request;
  9. use crmeb\repositories\PaymentRepositories;
  10. use crmeb\services\GroupDataService;
  11. use crmeb\services\QrcodeService;
  12. use crmeb\services\UtilService;
  13. use crmeb\utils\Hook;
  14. /**
  15. * 秒杀产品类
  16. * Class StoreSeckillController
  17. * @package app\api\controller\activity
  18. */
  19. class UserCardController
  20. {
  21. /**
  22. * 会员卡
  23. * @return mixed
  24. * @throws \think\db\exception\DataNotFoundException
  25. * @throws \think\db\exception\DbException
  26. * @throws \think\db\exception\ModelNotFoundException
  27. */
  28. public function list()
  29. {
  30. $card = WaterMembershioCard::select();
  31. return app('json')->success($card->toArray());
  32. }
  33. /**
  34. * 小程序购买
  35. *
  36. * @param Request $request
  37. * @return mixed
  38. */
  39. public function routine(Request $request)
  40. {
  41. list($card_id, $type) = UtilService::postMore([['char_id', 0], ['type', 0]], $request, true);
  42. switch ((int)$type) {
  43. case 0: //支付购买会员卡
  44. $order = WaterCardOrder::addCard($request->uid(), $card_id, 'routine');
  45. if (!$order) return app('json')->fail('订单生成失败!');
  46. try {
  47. return app('json')->successful(WaterCardOrder::jsPay($order));
  48. } catch (\Exception $e) {
  49. return app('json')->fail($e->getMessage());
  50. }
  51. break;
  52. default:
  53. return app('json')->fail('缺少参数');
  54. break;
  55. }
  56. }
  57. /**
  58. * 公众号购买
  59. *
  60. * @param Request $request
  61. * @return mixed
  62. */
  63. public function wechat(Request $request)
  64. {
  65. list($card_id, $type, $from) = UtilService::postMore([['char_id', 0], ['type', 0]], $request, true);
  66. switch ((int)$type) {
  67. case 0: //支付充值余额
  68. $order = WaterCardOrder::addCard($request->uid(), $card_id, 'routine');
  69. if (!$order) return app('json')->fail('订单生成失败!');
  70. try {
  71. if ($from == 'weixinh5') {
  72. $recharge = UserRecharge::wxH5Pay($order);
  73. } else {
  74. $recharge = UserRecharge::wxPay($order);
  75. }
  76. } catch (\Exception $e) {
  77. return app('json')->fail($e->getMessage());
  78. }
  79. return app('json')->successful(['type' => $from, 'data' => $recharge]);
  80. break;
  81. default:
  82. return app('json')->fail('缺少参数');
  83. break;
  84. }
  85. }
  86. }