Browse Source

'获取救济金'

Ethan 6 years ago
parent
commit
56c72b45f9

+ 78 - 18
app/Http/Controllers/Api/ReliefController.php

@@ -4,7 +4,9 @@ namespace App\Http\Controllers\Api;
 
 use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
-use App\Models;
+use App\Http\Models\ReliefData;
+use App\Http\Models\UserInfo;
+use Illuminate\Support\Facades\DB;
 
 /**
  * 救济金控制器
@@ -13,28 +15,86 @@ class ReliefController extends Controller
 {
 
 
-    /*
-     * 获取登录用户信息
+    /**
+     * 数据获取
+     *
+     * @access public
+     * @param  mixed $req 参数.
+     * @return string
      */
-    public function getUserDetails(Request $req){
+    public function getRelief(Request $req){
         try {
-            $uid = S('token_user_id');
-            $member = new Models\Member;
-            $user = $member
-                ->join('membersDetailed as md', 'md.members_id', 'members.id')
-                ->select('members.*','md.membersDetailed_cash')
-                ->where('members.id',$uid)
-                ->get();
-            if(empty($user)){
-                return toJson(-20002);
+            // 查询参数.
+            $reliefDataModel  = new ReliefData;
+            $userInfoModel    = new UserInfo;
+            $uid              = S('token_user_id');
+            $getReliefBetween = [
+                strtotime(date("Y-m-d")),
+                time(),
+            ];
+            $getReliefWhere['members_id'] = $uid;
+            // 查询用户领取次数.
+            $res = $reliefDataModel->countRelief($getReliefWhere, $getReliefBetween);
+            // 查询系统设置表救济金领取表.
+            $getConfigSelect = [
+                'systemconfig_data',
+                'systemconfig_status',
+                'systemconfig_id',
+            ];
+            $getConfigWhere['systemconfig_name'] = 'relief';
+            $getSystemconfig = $reliefDataModel->getSystemconfig($getConfigSelect, $getConfigWhere);
+            // 查询用户余额.
+            $getUserSelect              = ['membersDetailed_cash'];
+            $getUserWhere['members_id'] = $uid;
+            $cash = $userInfoModel->userInfo($getUserSelect, $getUserWhere);
+            // 查询用户游戏余额.
+            $gameMoneySelect              = ['gameMoney_money'];
+            $gameMoneyWhere['members_id'] = $uid;
+            $gameMoney                    = $userInfoModel->gameMoney($gameMoneySelect, $gameMoneyWhere);
+            // 获取用户总余额.
+            $allCash = $cash['membersDetailed_cash'];
+            foreach ($gameMoney as $v) {
+                $allCash += $v['gameMoney_money'];
             }
-            $user=$user->toArray();
-            unset($user['password']);
-            unset($user['solt']);
-            return toJson(1,'',$user);
+
+            // 验证是否可领取.
+            $data   = json_decode($getSystemconfig[0]['systemconfig_data'], true);
+            $status = $getSystemconfig[0]['systemconfig_status'];
+            if ($res >= $data['count']) {
+                return toJson(1, '今日领取次数已用完,明天再来哟亲', []);
+            } else if ($data['condition'] < $allCash) {
+                return toJson(1, '您还未达到领取条件', []);
+            }
+
+            if ($status == 1 && $res < $data['count'] && $data['condition'] >= $allCash) {
+                DB::beginTransaction();
+                $upUserInfoWhere['members_id']          = $uid;
+                $upUserInfoData['membersDetailed_cash'] = ($data['mony'] + $cash['membersDetailed_cash']);
+                // 修改用户信息.
+                $upUserInfo = $userInfoModel->upUserInfo($upUserInfoWhere, $upUserInfoData);
+                // 新增救济金记录.
+                $orderId       = getOrderId();
+                $addReliefData = [
+                    'getrelief_identity'    => $orderId,
+                    'members_id'            => $uid,
+                    'getrelief_addtime'     => time(),
+                    'getrelief_mony'        => $data['mony'],
+                    'getrelief_begin_money' => $cash['membersDetailed_cash'],
+                    'getrelief_end_money'   => ($data['mony'] + $cash['membersDetailed_cash']),
+                ];
+                $addRelief     = $reliefDataModel->addRelief($addReliefData);
+                if ($addRelief && $upUserInfo) {
+                    DB::commit();
+                    return toJson(1, '成功', []);
+                } else {
+                    DB::rollBack();
+                }
+            } else {
+                return toJson(1, '活动未开启', []);
+            }//end if
         } catch (Exception $e) {
             echo $e->getMessage();
-        }
+        }//end try
     }
 
 

+ 41 - 0
app/Http/Models/ReliefData.php

@@ -46,6 +46,47 @@ class ReliefData extends Model
     }//end getRelief()
 
 
+    /**
+     * 添加救济金记录
+     *
+     * @access public
+     * @param mixed $data 数据
+     * @return array
+     */
+    public function addRelief($data)
+    {
+        // 获取救济金记录.
+        $getReliefModel = new Models\GetRelief;
+        $result = $getReliefModel->insert($data);
+
+        return $result;
+
+    }//end addRelief()
+
+
+    /**
+     * 查询救济金记录
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @param mixed $between 查询条件
+     * @param mixed $paginate 分页
+     * @return array
+     */
+    public function countRelief($where, $between)
+    {
+        // 获取救济金记录.
+        $getReliefModel = new Models\GetRelief;
+        $result = $getReliefModel
+            ->where($where)
+            ->whereBetween('getrelief_addtime', $between)
+            ->count();
+
+        return $result;
+
+    }//end countRelief()
+
+
     /**
      * 查询救济金系统设置
      *

+ 80 - 0
app/Http/Models/UserInfo.php

@@ -0,0 +1,80 @@
+<?php
+
+namespace App\Http\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use \App\Models;
+
+/**
+ * 救济金模型类
+ */
+class UserInfo extends Model
+{
+
+
+    /**
+     * 用户详细查询
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @param mixed $select 查询字段
+     * @return array
+     */
+    public function userInfo($select, $where)
+    {
+        // 获取救济金记录.
+        $membersDetailedModel = new Models\MembersDetailed;
+        $result = $membersDetailedModel
+            ->select($select)
+            ->where($where)
+            ->first();
+
+        return $result;
+
+    }//end userInfo()
+
+
+    /**
+     * 用户游戏余额
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @param mixed $select 查询字段
+     * @return array
+     */
+    public function gameMoney($select, $where)
+    {
+        // 获取救济金记录.
+        $gameMoneyModel = new Models\GameMoney;
+        $result = $gameMoneyModel
+            ->select($select)
+            ->where($where)
+            ->get();
+
+        return $result;
+
+    }//end gameMoney()
+
+
+    /**
+     * 修改用户信息
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @param mixed $data 修改数据
+     * @return array
+     */
+    public function upUserInfo($where, $data)
+    {
+        // 获取救济金记录.
+        $membersDetailedModel = new Models\MembersDetailed;
+        $result = $membersDetailedModel
+            ->where($where)
+            ->update($data);
+
+        return $result;
+
+    }//end upUserInfo()
+
+
+}