zhangwei #5
|
@ -12,26 +12,57 @@ class UserLists extends BaseAdminDataLists implements ListsSearchInterface
|
|||
public function setSearch(): array
|
||||
{
|
||||
return [
|
||||
'=' => ['status'],
|
||||
'%like%' => ['nick_name','phone'],
|
||||
'=' => ['status','age','gender'],
|
||||
'%like%' => ['nick_name','real_name','phone'],
|
||||
];
|
||||
}
|
||||
|
||||
// 获取用户列表
|
||||
public function lists(): array
|
||||
{
|
||||
$field = "id,phone,avatar,nick_name,real_name,id_card,gender,age,total_balance,total_integral,status,create_time";
|
||||
return User::field($field)->where($this->searchWhere)->where('status','<>',2)
|
||||
->limit($this->limitOffset, $this->limitLength)
|
||||
->order('id desc')->select()->each(function($item){
|
||||
$item['status_text'] = $item->status_text;
|
||||
$item['gender_text'] = $item->gender_text;
|
||||
})->toArray();
|
||||
$params = $this->params;
|
||||
$field = "u.id,phone,avatar,nick_name,real_name,id_card,gender,age,total_balance,total_integral,CONCAT(province_name,city_name,area_name,street_name,village_name,brigade_name,address) as address,status,create_time";
|
||||
return User::alias('u')->field($field)
|
||||
->leftJoin('geo_province p','u.province = p.province_code')
|
||||
->leftJoin('geo_city c','u.city = c.city_code')
|
||||
->leftJoin('geo_area a','u.area = a.area_code')
|
||||
->leftJoin('geo_street s','u.street = s.street_code')
|
||||
->leftJoin('geo_village v','u.village = v.village_code')
|
||||
->leftJoin('geo_brigade b','u.brigade = b.id')
|
||||
->where('status','<>',2)
|
||||
->where($this->searchWhere)
|
||||
->where(function($query) use ($params){
|
||||
if(isset($params['address'])){
|
||||
$query->where('CONCAT(province_name,city_name,area_name,street_name,village_name,brigade_name,address) LIKE "%'.$params['address'].'%"');
|
||||
}
|
||||
})
|
||||
->limit($this->limitOffset, $this->limitLength)
|
||||
->order('u.id desc')
|
||||
->select()->each(function($item){
|
||||
$item['gender_text'] = $item->gender_text;
|
||||
$item['status_text'] = $item->status_text;
|
||||
})->toArray();
|
||||
}
|
||||
|
||||
// 获取数量
|
||||
public function count(): int
|
||||
{
|
||||
return User::field('id')->where($this->searchWhere)->where('status','<>',2)->count();
|
||||
$params = $this->params;
|
||||
$field = "u.id,CONCAT(province_name,city_name,area_name,street_name,village_name,brigade_name,address) as address,status,create_time";
|
||||
return User::alias('u')->field($field)
|
||||
->leftJoin('geo_province p','u.province = p.province_code')
|
||||
->leftJoin('geo_city c','u.city = c.city_code')
|
||||
->leftJoin('geo_area a','u.area = a.area_code')
|
||||
->leftJoin('geo_street s','u.street = s.street_code')
|
||||
->leftJoin('geo_village v','u.village = v.village_code')
|
||||
->leftJoin('geo_brigade b','u.brigade = b.id')
|
||||
->where('status','<>',2)
|
||||
->where($this->searchWhere)
|
||||
->where(function($query) use ($params){
|
||||
if(isset($params['address'])){
|
||||
$query->where('CONCAT(province_name,city_name,area_name,street_name,village_name,brigade_name,address) LIKE "%'.$params['address'].'%"');
|
||||
}
|
||||
})
|
||||
->count();
|
||||
}
|
||||
}
|
|
@ -14,7 +14,7 @@
|
|||
return [
|
||||
'middleware' => [
|
||||
app\api\http\middleware\InitMiddleware::class, // 初始化
|
||||
// app\api\http\middleware\VerifySignMiddleware::class, // 签名验证
|
||||
app\api\http\middleware\VerifySignMiddleware::class, // 签名验证
|
||||
app\api\http\middleware\LoginMiddleware::class, // 登录验证
|
||||
],
|
||||
];
|
||||
|
|
|
@ -32,7 +32,7 @@ class IndexController extends BaseApiController
|
|||
return $this->fail('短信场景错误');
|
||||
}
|
||||
//验证手机号
|
||||
$user = User::field('user_phone')->where('user_phone',$params['phone'])->findOrEmpty();
|
||||
$user = User::field('phone')->where('phone',$params['phone'])->findOrEmpty();
|
||||
if($user->isEmpty()){
|
||||
return $this->fail('手机号码错误');
|
||||
}
|
||||
|
|
|
@ -15,6 +15,11 @@ class UserLogic extends BaseLogic
|
|||
public static function resetPassword(array $params): bool
|
||||
{
|
||||
try {
|
||||
//验证手机号码
|
||||
$user = User::field('id')->where('phone',$params['phone'])->findOrEmpty();
|
||||
if($user->isEmpty()){
|
||||
throw new \Exception('该手机号未注册');
|
||||
}
|
||||
// 校验验证码
|
||||
$smsDriver = new SmsDriver();
|
||||
if (!$smsDriver->verify($params['phone'], $params['code'], NoticeEnum::FIND_LOGIN_PASSWORD_CAPTCHA)) {
|
||||
|
@ -24,7 +29,8 @@ class UserLogic extends BaseLogic
|
|||
$passwordSalt = Config::get('project.unique_identification');
|
||||
$password = create_password($params['password'], $passwordSalt);
|
||||
// 更新
|
||||
User::where('phone', $params['phone'])->update(['password' => $password]);
|
||||
$user->password = $password;
|
||||
$user->save();
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
self::setError($e->getMessage());
|
||||
|
|
|
@ -16,7 +16,7 @@ class PasswordValidate extends BaseValidate
|
|||
'phone' => 'require|mobile',
|
||||
'code' => 'require',
|
||||
'old_password' => 'require',
|
||||
'password' => 'require|length:6,20',
|
||||
'password' => 'require|length:6,20|different:old_password',
|
||||
'password_confirm' => 'require|confirm',
|
||||
];
|
||||
|
||||
|
@ -27,6 +27,7 @@ class PasswordValidate extends BaseValidate
|
|||
'code.require' => '请填写验证码',
|
||||
'password.require' => '请输入新密码',
|
||||
'password.length' => '密码须在6-25位之间',
|
||||
'password.different' => '新密码不能和原密码一样',
|
||||
'password_confirm.require' => '请确认密码',
|
||||
'password_confirm.confirm' => '确认密码和新密码不一致',
|
||||
'old_password.require' => '请输入原密码',
|
||||
|
|
|
@ -36,7 +36,7 @@ class SystemValidate extends BaseValidate
|
|||
|
||||
public function sceneEdit(): SystemValidate
|
||||
{
|
||||
return $this->only(['id','_name','url','status']);
|
||||
return $this->only(['id','name','url','status']);
|
||||
}
|
||||
|
||||
public function sceneDetail(): SystemValidate
|
||||
|
|
Loading…
Reference in New Issue