UserCardController.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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, 'weixinh5');
  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. /**
  87. * 每月发放次数
  88. * @return bool
  89. */
  90. public function month()
  91. {
  92. $res = User::update(['free' => 4]);
  93. return true;
  94. }
  95. }