<?php
/**
 * Created by PhpStorm.
 * User: wuzhenke
 * Date: 2018/11/19
 * Time: 18:26
 */

namespace App\Repositories;

use App\Models\MembersSetmealLog;
use Illuminate\Container\Container as Application;
use Prettus\Repository\Criteria\RequestCriteria;
use Prettus\Repository\Eloquent\BaseRepository;

class MembersSetmealLogRepository extends BaseRepository
{
    protected  $memberLogRepository;
    public function __construct(Application $app,MemberLogRepository $memberLogRepository)
    {
        $this->memberLogRepository=$memberLogRepository;
        parent::__construct($app);
    }

    public function model()
    {
        return MembersSetmealLog::class;
    }
    public function boot()
    {
        $this->pushCriteria(app(RequestCriteria::class));
    }

    public function addNew($data)
    {
        return $this->model->create($data);
    }

    /**会员套餐记录
     * @param $where
     * @return mixed
     */
    public function membersSetmealLog($where)
    {
        return $this->model->where($where)->orderBy('id', 'desc')->paginate(10);
    }

    /**
     * 套餐使用的记录
     */
    public function createLog($user, $log_value,$log_leave=0)
    {
        if (empty($user)) {
            return true;
        }
        $log_username = $user->companyname;

        $data['log_uid'] = $user->id;
        $data['log_username'] = $log_username;
        $data['log_value'] = $log_value;
        $data['log_ip'] = ip2long(request()->ip());
        $data['log_address'] = getAddressByIp();
        $data['log_utype'] = $user->utype;
        $data['log_source'] =$this->memberLogRepository->verSource();
        $data['log_leave'] =$log_leave;

        return $this->model->create($data);
    }
}