123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- namespace App\Repositories\Eloquent\Base;
- use App\Contracts\Repositories\Base\AdminRepository;
- use App\Repositories\Models\Base\Admin;
- use App\Repositories\Presenters\Base\AdminPresenter;
- use App\Repositories\Validators\Base\AdminValidator;
- use Illuminate\Support\Facades\Hash;
- use Prettus\Repository\Criteria\RequestCriteria;
- use Prettus\Repository\Eloquent\BaseRepository;
- class AdminRepositoryEloquent extends BaseRepository implements AdminRepository
- {
- protected $fieldSearchable = [
- // 'name' => 'like', Default Condition "="
- ];
- /**
- * Specify Model class name.
- *
- * @return string
- */
- public function model()
- {
- return Admin::class;
- }
- /**
- * Boot up the repository, pushing criteria.
- *
- * @throws \Prettus\Repository\Exceptions\RepositoryException
- */
- public function boot()
- {
- $this->pushCriteria(app(RequestCriteria::class));
- }
- /**
- * @return mixed
- */
- public function searchAdminsByPage()
- {
- return $this->paginate(request('per_page', 15));
- }
- /**
- * @param $id
- *
- * @return mixed
- */
- public function searchAdminBy($id)
- {
- return $this->find($id);
- }
- /**
- * 更新用户登录地址
- * @param $admin_id
- * @param $ip
- * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator|\Illuminate\Support\Collection|mixed
- * @throws \Prettus\Validator\Exceptions\ValidatorException
- */
- public function updateLoginInfo($admin_id, $ip)
- {
- $this->validator = null;
- return $this->update([
- 'last_login_time' => date('Y-m-d H:i:s'),
- 'last_login_ip' => $ip,
- ], $admin_id);
- }
- /**
- * 验证密码是否正确
- * @param $id
- * @param $password
- * @return mixed
- */
- public function byIdConfirmPassword($id, $password)
- {
- $user_password = $this->where('id', $id)->value('password');
- return Hash::check(base64_decode($password), $user_password);
- }
- }
|