StoreRechargeCardController.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace app\api\controller\activity;
  3. use app\models\store\StoreRechargeCard;
  4. use app\models\user\UserRechargeCard;
  5. use app\models\user\User;
  6. use app\Request;
  7. use crmeb\services\UtilService;
  8. use crmeb\services\CacheService;
  9. /**
  10. * 充值卡类
  11. * Class StoreRechargeCardController
  12. * @package app\api\controller\activity
  13. */
  14. class StoreRechargeCardController
  15. {
  16. /**
  17. * 充值卡列表选择
  18. */
  19. public function index(Request $request)
  20. {
  21. $rechargeCard = StoreRechargeCard::getAll($request->mer_id());
  22. if (!count($rechargeCard)) return app('json')->successful([]);
  23. return app('json')->successful($rechargeCard->toArray());
  24. }
  25. /**
  26. * 充值卡详情
  27. */
  28. public function detail(Request $request, $id)
  29. {
  30. if (!$id || !($rechargeCardOne = StoreRechargeCard::getRechargeCardOne($id))) return app('json')->fail('充值卡不存在或已下架');
  31. return app('json')->successful($rechargeCardOne->toArray());
  32. }
  33. /**
  34. * 充值卡购买
  35. */
  36. public function buy_recharge_card(Request $request)
  37. {
  38. list($id, $uid) = UtilService::getMore([
  39. ['id', ''],
  40. ['uid', ''],
  41. ], $request, true);
  42. if (!$id) return app('json')->fail('参数错误');
  43. if (!$chargeCardOne = StoreRechargeCard::getRechargeCardOne($id)) return app('json')->fail('充值卡不存在或已下架');
  44. if ($uid && !User::find($uid)) return app('json')->fail('此用户不存在');
  45. $status = $chargeCardOne['is_brokerage'] ? 1 : 0;
  46. $rechargeOrder = UserRechargeCard::addRecharge($request->uid(), $id, $chargeCardOne['price'], $chargeCardOne['give_money'], 0, $chargeCardOne['is_brokerage'], $uid, $status, $request->mer_id());
  47. if (!$rechargeOrder) return app('json')->fail('充值订单生成失败!');
  48. try {
  49. return app('json')->successful(UserRechargeCard::jsPay($rechargeOrder, $request->mer_id()));
  50. } catch (\Exception $e) {
  51. return app('json')->fail($e->getMessage());
  52. }
  53. }
  54. /**
  55. * 获取用户充值记录
  56. */
  57. public function get_user_recharge_card_list(Request $request)
  58. {
  59. $where = UtilService::getMore([
  60. ['page', 1],
  61. ['limit', 20]
  62. ], $request);
  63. $where['uid'] = $request->uid();
  64. $where['mer_id'] = $request->mer_id();
  65. $where['paid'] = 1;
  66. return app('json')->successful(UserRechargeCard::getUsereRechargeCardList($where));
  67. }
  68. }