|
|
@@ -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
|
|
|
}
|
|
|
|
|
|
|