input('uid', ''); $coinNum = $request->input('coinNum', 0); if (!$uid) { return response()->error('PARAM_EMPTY'); } $userInfo = User::where('id', $uid)->first(); if (!$userInfo) { return response()->error('PARAM_ERROR'); } //加币 if ($coinNum >= 0) { $userInfo->balance += $coinNum; $userInfo->reward_balance += $coinNum; $userInfo->save(); //减币 } else { if ($userInfo->balance + $coinNum >= 0) { //reword 够减除 if ($userInfo->reward_balance + $coinNum >= 0) { $userInfo->reward_balance += $coinNum; //reword 不够减除 } else { //先把reword减完 $rewordCoin = $userInfo->reward_balance; $userInfo->reward_balance = 0; $userInfo->charge_balance = $userInfo->charge_balance + $coinNum + $rewordCoin; } $userInfo->balance += $coinNum; $userInfo->save(); //余额不够 } else { return response()->error('BALANCE_NOT_ENOUGH'); } } $record = array( 'uid' => $uid, 'operator' => $request->session()->get('manage_auth'), 'coin_num' => $coinNum, 'type' => 'addCoin', 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ); DB::table('user_wealthy_operate_record')->insert($record); return response()->success(); } /** * 用户间转移书币 * @param Request $request * @param from_uid * @param to_uid * @return mixed */ function transBalanceByUser(Request $request) { $to_uid = $request->has('to_uid') ? $request->input('to_uid') : ''; $from_uid = $request->has('from_uid') ? $request->input('from_uid') : ''; if (empty($to_uid) || empty($from_uid)) { return response()->error('PARAM_EMPTY'); } if ($from_uid == $to_uid) { return response()->error('SAME_ACCOUNT_ERROR'); } $result = UserService::transfromBalanceByUser($from_uid, $to_uid); if ($result) { return response()->success(); } else { return response()->error('HANDLE_FAILED'); } } public function updateUserYearOrders(Request $request) { $uid = $request->input('uid', ''); $distribution = $request->input('channelId', ''); if (!$uid || !$distribution) { return response()->error('PARAM_EMPTY'); } //$start_time = $request->input('start_time',''); $end_time = $request->input('end_time', ''); if (!$end_time) { return response()->error('PARAM_EMPTY'); } if (!strtotime($end_time)) { return response()->error('PARAM_ERROR'); } $data = [ 'uid' => $uid, 'begin_time' => date('Y-m-d H:i:s'), 'end_time' => $end_time . ' ' . date('H:i:s'), 'u' => 0, 'send_order_id' => 0, 'fee' => 0, 'distribution_channel_id' => $distribution ]; $yearOrder = YearOrderService::getRecord($uid); if ($yearOrder) { $yearOrderEndTime = $yearOrder->end_time; //更新的时间 小于 现在包年的到期时间 if (strtotime($end_time) < strtotime($yearOrderEndTime)) { return ['code' => 304, 'msg' => '用户在该渠道已存在包年!']; } else { //延长到期时间 $updateEndTime = $end_time . ' ' . date('H:i:s'); $res = YearOrder::updateEndtime($yearOrder->id, $updateEndTime); if (!$res) { return response()->error("HANDLE_FAILED"); } } } else { YearOrder::create($data); } $record = array( 'operator' => $request->session()->get('manage_auth'), 'uid' => $uid, 'endtime' => $data['end_time'], 'channel_id' => $distribution, 'type' => 'yearRecharge', 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ); DB::table('user_wealthy_operate_record')->insert($record); return response()->success(); } }