2023-01-29 10:26:52 +08:00

118 lines
3.1 KiB
PHP

<?php
namespace app\common\repository;
use app\common\newmodel\UserModel;
use think\Db;
class UserReposotpry extends UserModel
{
/**
* 根据手机号查询用户信息 function
*
* @author dotdotdot <6383846@qq.com>
* @date 2022-08-08
* @param array $fiels
* @param string $phone
* @return array
*/
public function selectByPhone(array $fiels, string $phone): array
{
$object = UserModel::field($fiels)->where('phone', '=', $phone)->find();
return empty($object) ? [] : $object->toArray();
}
/**
* 根据手机号和密码查询用户信息 function
*
* @author dotdotdot <6383846@qq.com>
* @date 2022-08-08
* @param array $fiels
* @param string $phone
* @return array
*/
public function selectByPhoneAndPassword(array $fiels, string $phone, string $passWord): array
{
$object = UserModel::field($fiels)->where(['phone' => $phone, 'password' => $passWord])->find();
return empty($object) ? [] : $object->toArray();
}
/**
* 插入数据 function
*
* @author dotdotdot <6383846@qq.com>
* @date 2022-08-08
* @param array $data
* @return integer
*/
public function insert(array $data): int
{
return UserModel::insert($data);
}
/**
* 根据Uid更新Egold数量 function
*
* @author dotdotdot <6383846@qq.com>
* @date 2022-08-09
* @param integer $uid
* @param integer $sum
* @return integer
*/
public function updateIncEgoldByUid(int $uid, int $sum): int
{
return UserModel::where(['uid' => $uid])->setInc('egold', $sum);
}
/**
* 根据Uid查询信息 function
*
* @author dotdotdot <6383846@qq.com>
* @date 2022-08-11
* @param array $fields
* @param integer $uid
* @return array
*/
public function selectByUid(array $fields, int $uid): array
{
$object = UserModel::field($fields)->where(['uid' => $uid])->find();
return empty($object) ? [] : $object->toArray();
}
/**
* 根据Uid更新数据 function
*
* @author dotdotdot <6383846@qq.com>
* @date 2022-08-11
* @param array $data
* @param integer $uid
* @return integer
*/
public function updateData(array $data, int $uid): int
{
return UserModel::where(['uid' => $uid])->update($data);
}
/**
* 查询历史记录 function
*
* @author dotdotdot <6383846@qq.com>
* @date 2022-08-12
* @param integer $uid
* @return array
*/
public function selectHistory(int $uid)
{
return Db::view('History', ['History.order' => 'current_order', 'History.chapterid' => 'sid'])
->view('Skits_video', ['max(Skits_video.order)' => 'max_order'], 'History.articleid=Skits_video.sid')
->view('Skits_library', 'id,cover,name,description', 'Skits_library.id=Skits_video.sid')
->where(['History.uid' => $uid])
->group('Skits_video.sid,History.create_time')
->order(['History.create_time' => 'desc'])
->select();
}
}