ReliefController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Controller;
  5. use App\Http\Models\ReliefData;
  6. use App\Http\Models\UserInfo;
  7. use Illuminate\Support\Facades\DB;
  8. /**
  9. * 救济金控制器
  10. */
  11. class ReliefController extends Controller
  12. {
  13. /**
  14. * 数据获取
  15. *
  16. * @access public
  17. * @param mixed $req 参数.
  18. * @return string
  19. */
  20. public function getRelief(Request $req){
  21. try {
  22. // 查询参数.
  23. $reliefDataModel = new ReliefData;
  24. $userInfoModel = new UserInfo;
  25. $uid = S('token_user_id');
  26. $getReliefBetween = [
  27. strtotime(date("Y-m-d")),
  28. time(),
  29. ];
  30. $getReliefWhere['members_id'] = $uid;
  31. // 查询用户领取次数.
  32. $res = $reliefDataModel->countRelief($getReliefWhere, $getReliefBetween);
  33. // 查询系统设置表救济金领取表.
  34. $getConfigSelect = [
  35. 'systemconfig_data',
  36. 'systemconfig_status',
  37. 'systemconfig_id',
  38. ];
  39. $getConfigWhere['systemconfig_name'] = 'relief';
  40. $getSystemconfig = $reliefDataModel->getSystemconfig($getConfigSelect, $getConfigWhere);
  41. // 查询用户余额.
  42. $getUserSelect = ['membersDetailed_cash'];
  43. $getUserWhere['members_id'] = $uid;
  44. $cash = $userInfoModel->userInfo($getUserSelect, $getUserWhere);
  45. // 查询用户游戏余额.
  46. $gameMoneySelect = ['gameMoney_money'];
  47. $gameMoneyWhere['members_id'] = $uid;
  48. $gameMoney = $userInfoModel->gameMoney($gameMoneySelect, $gameMoneyWhere);
  49. // 获取用户总余额.
  50. $allCash = $cash['membersDetailed_cash'];
  51. foreach ($gameMoney as $v) {
  52. $allCash += $v['gameMoney_money'];
  53. }
  54. // 验证是否可领取.
  55. $data = json_decode($getSystemconfig[0]['systemconfig_data'], true);
  56. $status = $getSystemconfig[0]['systemconfig_status'];
  57. if ($res >= $data['count']) {
  58. return toJson(1, '今日领取次数已用完,明天再来哟亲', []);
  59. } else if ($data['condition'] < $allCash) {
  60. return toJson(1, '您还未达到领取条件', []);
  61. }
  62. if ($status == 1 && $res < $data['count'] && $data['condition'] >= $allCash) {
  63. DB::beginTransaction();
  64. $upUserInfoWhere['members_id'] = $uid;
  65. $upUserInfoData['membersDetailed_cash'] = ($data['mony'] + $cash['membersDetailed_cash']);
  66. // 修改用户信息.
  67. $upUserInfo = $userInfoModel->upUserInfo($upUserInfoWhere, $upUserInfoData);
  68. // 新增救济金记录.
  69. $orderId = getOrderId();
  70. $addReliefData = [
  71. 'getrelief_identity' => $orderId,
  72. 'members_id' => $uid,
  73. 'getrelief_addtime' => time(),
  74. 'getrelief_mony' => $data['mony'],
  75. 'getrelief_begin_money' => $cash['membersDetailed_cash'],
  76. 'getrelief_end_money' => ($data['mony'] + $cash['membersDetailed_cash']),
  77. ];
  78. $addRelief = $reliefDataModel->addRelief($addReliefData);
  79. if ($addRelief && $upUserInfo) {
  80. DB::commit();
  81. return toJson(1, '成功', []);
  82. } else {
  83. DB::rollBack();
  84. }
  85. } else {
  86. return toJson(1, '活动未开启', []);
  87. }//end if
  88. } catch (Exception $e) {
  89. echo $e->getMessage();
  90. }//end try
  91. }
  92. }