123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- <?php
- /**
- * Created by PhpStorm.
- * User: admin
- * Date: 2018/9/20
- * Time: 14:22
- */
- namespace App\Http\Controllers\Manage\User;
- use App\Http\Controllers\Manage\BaseController;
- use App\Modules\Subscribe\Models\YearOrder;
- use App\Modules\Subscribe\Services\YearOrderService;
- use App\Modules\User\Models\User;
- use App\Modules\User\Services\UserService;
- use Illuminate\Http\Request;
- use Illuminate\Routing\Controller;
- use DB;
- class UserWealthController extends BaseController
- {
- public function addBookCoin(Request $request)
- {
- $uid = $request->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();
- }
- }
|