Update UserService.php

This commit is contained in:
Anyon 2020-09-14 13:36:07 +08:00
parent 176e11872a
commit 23d3f630ec

View File

@ -55,20 +55,19 @@ class UserService extends Service
public function save(array $map, array $data = [], bool $force = false): array public function save(array $map, array $data = [], bool $force = false): array
{ {
$query = $this->app->db->name($this->table)->where($map); $query = $this->app->db->name($this->table)->where($map);
$user = $query->withoutField('deleted,password')->where(['deleted' => 0])->find() ?: []; $member = $query->withoutField('deleted,password')->where(['deleted' => 0])->find() ?: [];
unset($data['id'], $data['token'], $data['tokenv'], $data['status'], $data['deleted'], $data['create_at']); unset($data['id'], $data['token'], $data['tokenv'], $data['status'], $data['deleted'], $data['create_at']);
if (empty($data['phone']) && empty($data['openid1']) && empty($data['openid2']) && empty($data['unionid'])) { if (empty($data['phone']) && empty($data['unionid']) && empty($data['openid1']) && empty($data['openid2'])) {
return $user; return $member;
} }
if ($force) { if ($force) $data = array_merge($data, $this->_buildUserToken());
$data = array_merge($data, $this->_buildUserToken()); if (isset($member['id']) && $member['id'] > 0) {
} $map = ['id' => $member['id'], 'deleted' => 0];
if (empty($user['id'])) { $this->app->db->name($this->table)->where($map)->strict(false)->update($data);
$user['id'] = $this->app->db->name($this->table)->strict(false)->insertGetId($data);
} else { } else {
$this->app->db->name($this->table)->strict(false)->where(['id' => $user['id']])->update($data); $member['id'] = $this->app->db->name($this->table)->strict(false)->insertGetId($data);
} }
$map = ['id' => $user['id'], 'deleted' => 0]; $map = ['id' => $member['id'], 'deleted' => 0];
$query = $this->app->db->name($this->table)->where($map); $query = $this->app->db->name($this->table)->where($map);
return $query->withoutField('deleted,password')->find() ?: []; return $query->withoutField('deleted,password')->find() ?: [];
} }