whereIn('type', [5, 10, 11, 12, 13, 20, 21, 22, 23])->orderBy('created_at','desc')->paginate(perPage()); return showJsonSucc(1001, $res); } /** * 点币记录 * @author lyh * @date 2019/3/28 * @description */ public function coin(Request $request) { // $param=$request->all(); //$page=empty($param['page'])?1:$param['page']; $res = AccountLog::whereUid(\Auth::id())->whereIn('type', [30, 31, 32,45])->whereMoneyType(1)->orderBy('created_at','desc')->paginate(perPage()); return showJsonSucc(1001, $res); } /** * 点币转账 * @author lyh * @date 2019/3/28 * @description */ public function coinTransfer(Request $request) { $validator = \Validator::make($param = $request->all(), [ 'mobile' => 'required', 'num' => 'required|integer', 'pay_password' => [ 'required', 'string', 'between:6,18' ] ]); if ($validator->fails()) { return showJsonErr($validator->errors()->first()); } $outuser=User::whereMobile($param['mobile'])->count(); if(empty($outuser)){ return showJsonErr('转入账号不存在'); } $pay_password=md5(md5($param['pay_password'])); if(empty(\Auth::user()->pay_password)){ return showJsonErr('您还未设置支付密码'); } if ($pay_password!=\Auth::user()->pay_password) { return showJsonErr('支付密码错误'); } if ($param['mobile'] == \Auth::user()->mobile) { return showJsonErr('请勿转账给自己'); } if ($param['num'] > \Auth::user()->coin) { return showJsonErr('点币余额不足'); } $transferUser = User::whereMobile($param['mobile'])->first(); \DB::beginTransaction(); try { $remark = sprintf('%s转账%d点币给%s', \Auth::user()->mobile, $param['num'], $transferUser->mobile); $save1 = \App\Modes\AccountLog::insertGetId([ 'uid' => \Auth::id(), 'source_uid' => $transferUser->id, 'type' => 31, 'status' => 1, 'money' => '-'.$param['num'], 'money_type' => 1, 'current_money' => \Auth::user()->coin, 'remark' => $remark, ]); User::whereId(\Auth::id())->decrement('coin', $param['num']); $remark = sprintf('%s收到%s转账%d点币', $transferUser->mobile, \Auth::user()->mobile, $param['num']); $save2 = \App\Modes\AccountLog::insertGetId([ 'uid' => $transferUser->id, 'source_uid' => \Auth::id(), 'type' => 30, 'status' => 1, 'money' => $param['num'], 'money_type' => 1, 'current_money' => $transferUser->coin, 'remark' => $remark, ]); User::whereId($transferUser->id)->increment('coin', $param['num']); if (empty($save1) || empty($save2)) { \DB::rollBack(); return showJsonErr('转账失败,请稍后再试'); } \DB::commit(); return showJsonSucc('转账成功,请注意查收'); } catch (Exception $pdo) { \DB::rollBack(); return showJsonErr('转账失败', [ 'msg' => $pdo->getMessage(), ]); } } /** * [sum 首页统计信息] * @return [type] [description] */ public function sum(){ $id = \Auth::id(); $user = User::whereId($id)->first(); $data['balance'] = round($user['balance'],4); $data['coin'] = round($user['coin'],4); $data['total_share'] = '0.00'; $data['share_count'] = '0'; $data['month_share'] = '0.00'; $sum = DB::select('select SUM(money) AS total_income,SUM( CASE WHEN created_at>= "'.date('Y-m-d').'" THEN money ELSE 0 END) AS today_income,SUM( CASE WHEN created_at>= "'.date('Y-m-1').'" and created_at<="'.date('Y-m-d 23:59:59').'" THEN money ELSE 0 END) AS month_income from zx_account_log where uid=? and type in (10,11,12,13,20,21,22,23)', [$id]); $sum = $sum[0]; $data['total_income'] = $sum->total_income?$sum->total_income:0; $data['today_income'] = $sum->today_income?$sum->today_income:0; $data['month_income'] = $sum->month_income?$sum->month_income:0; return showJsonSucc('获取数据成功',$data); } }