| 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();    }}
 |