Gacha.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace app\admin\controller\ump;
  3. use app\admin\controller\AuthController;
  4. use app\models\user\User;
  5. use app\models\user\UserBill;
  6. use crmeb\services\UtilService as Util;
  7. use app\admin\model\user\UserPoint as UserPointModel;
  8. use think\facade\Route as Url;
  9. use crmeb\services\JsonService;
  10. /**
  11. * 优惠券控制器
  12. * Class StoreCategory
  13. * @package app\admin\controller\system
  14. */
  15. class Gacha extends AuthController
  16. {
  17. /**
  18. * @return mixed
  19. */
  20. public function index()
  21. {
  22. return $this->fetch();
  23. }
  24. public function gacha_list()
  25. {
  26. $where = Util::getMore([
  27. ['status', ''],
  28. ['page', 1],
  29. ['limit', 10],
  30. ]);
  31. JsonService::successlayui(\app\models\user\Gacha::getList($where));
  32. }
  33. public function deal($id)
  34. {
  35. $orderInfo = \app\models\user\Gacha::where('id', $id)->where('status', 0)->where('limit_time', '>=', time())->find();
  36. if (!$orderInfo) return app('json')->fail('核销的奖品不存在或已兑换或已过期');
  37. \app\models\user\Gacha::beginTrans();
  38. try {
  39. if ($orderInfo['award_type'] == 1) {
  40. User::bcInc($orderInfo['uid'], 'integral', $orderInfo['award'], 'uid');
  41. UserBill::expend('抽奖奖品', $orderInfo['uid'], 'integral', 'gacha_get', $orderInfo['award'], $orderInfo['id'], User::where('uid', $orderInfo['uid'])->value('integral'), '抽奖奖品兑换');
  42. }
  43. $orderInfo->status = 1;
  44. if ($orderInfo->save()) {
  45. \app\models\user\Gacha::commitTrans();
  46. return app('json')->success('核销成功');
  47. } else {
  48. \app\models\user\Gacha::rollbackTrans();
  49. return app('json')->fail('核销失败');
  50. }
  51. } catch (\Exception $e) {
  52. \app\models\user\Gacha::rollbackTrans();
  53. return app('json')->fail($e->getMessage());
  54. }
  55. }
  56. }