|
@@ -19,42 +19,43 @@ class MemberService
|
|
|
{
|
|
|
$page = $request->get('page', 1);
|
|
|
$pageSize = $request->get('pageSize', 10);
|
|
|
- $id = $request->get('id', '');
|
|
|
+ $name = $request->get('name', '');
|
|
|
$mobile = $request->get('mobile', '');
|
|
|
|
|
|
$rows = Member::where('member_is_owner', 'N')
|
|
|
- ->when($id != '', function ($query) use ($id) {
|
|
|
- $query->where('member_id', 'like', '%' . $id . '%');
|
|
|
+ ->leftJoin('member_info', 'member_info.join_info_member_id', 'member.member_id')
|
|
|
+ ->leftJoin('member_cert', 'member_cert.join_cert_member_id', 'member.member_id')
|
|
|
+ ->when($name != '', function ($query) use ($name) {
|
|
|
+ $query->where('member_cert.member_cert_name', 'like', '%' . $name . '%');
|
|
|
})->when($mobile != '', function ($query) use ($mobile) {
|
|
|
- $query->where('member_mobile', 'like', '%' . $mobile . '%');
|
|
|
- });
|
|
|
+ $query->where('member.member_mobile', 'like', '%' . $mobile . '%');
|
|
|
+ })->select('member_id', 'member_is_owner', 'member_classify', 'member_status', 'member_mobile', 'member_from', 'member_addtimes',
|
|
|
+ 'member_info.member_info_nickname', 'member_info.member_info_headimg',
|
|
|
+ 'member_cert.member_cert_birth', 'member_cert.member_cert_gender', 'member_cert.member_cert_name', 'member_cert.member_cert_nbr', 'member_cert.member_cert_province', 'member_cert.member_cert_addr', 'member_cert.member_cert_face', 'member_cert.member_cert_photo', 'member_cert.member_cert_nation'
|
|
|
+ );
|
|
|
// 总条数
|
|
|
$total = $rows->count('member_id');
|
|
|
- $rows = $rows->with([
|
|
|
- 'info' => function ($query) {
|
|
|
- $query->select('join_info_member_id', 'member_info_nickname', 'member_info_headimg');
|
|
|
- },
|
|
|
- 'cert' => function ($query) {
|
|
|
- $query->select('join_cert_member_id', 'member_cert_birth', 'member_cert_gender', 'member_cert_name', 'member_cert_nbr',
|
|
|
- 'member_cert_province', 'member_cert_city', 'member_cert_addr', 'member_cert_face', 'member_cert_photo', 'member_cert_nation');
|
|
|
- }
|
|
|
- ])->select('member_id', 'member_is_owner', 'member_classify', 'member_status', 'member_mobile', 'member_from', 'member_addtimes')
|
|
|
- ->orderBy('member_addtimes', 'DESC')
|
|
|
+ $rows = $rows->orderBy('member_addtimes', 'DESC')
|
|
|
->forPage($page, $pageSize)
|
|
|
->get()
|
|
|
->toArray();
|
|
|
|
|
|
foreach ($rows as &$row) {
|
|
|
- if (!empty($row['info']['member_info_headimg'])) {
|
|
|
- $row['info']['member_info_headimg'] = getenv('STORAGE_DOMAIN') . $row['info']['member_info_headimg'];
|
|
|
- }
|
|
|
- if (!empty($row['cert']['member_cert_face'])) {
|
|
|
- $row['cert']['member_cert_face'] = getenv('STORAGE_DOMAIN') . $row['cert']['member_cert_face'];
|
|
|
- $row['cert']['member_cert_photo'] = getenv('STORAGE_DOMAIN') . $row['cert']['member_cert_photo'];
|
|
|
- }
|
|
|
- if (!empty($row['cert']['member_cert_province']) && is_json($row['cert']['member_cert_province'])) {
|
|
|
- $row['cert']['member_cert_province'] = json_decode($row['cert']['member_cert_province']);
|
|
|
- }
|
|
|
+ $row['info'] = [
|
|
|
+ 'member_info_nickname' => $row['member_info_nickname'] ?? '',
|
|
|
+ 'member_info_headimg' => !empty($row['member_info_headimg']) ? getenv('STORAGE_DOMAIN') . $row['member_info_headimg'] : ''
|
|
|
+ ];
|
|
|
+ $row['cert'] = [
|
|
|
+ 'member_cert_birth' => $row['member_cert_birth'],
|
|
|
+ 'member_cert_gender' => $row['member_cert_gender'],
|
|
|
+ 'member_cert_name' => $row['member_cert_name'],
|
|
|
+ 'member_cert_nbr' => $row['member_cert_nbr'],
|
|
|
+ 'member_cert_province' => !empty($row['member_cert_province']) && is_json($row['member_cert_province']) ? json_decode($row['member_cert_province']) : '',
|
|
|
+ 'member_cert_addr' => $row['member_cert_addr'],
|
|
|
+ 'member_cert_face' => !empty($row['member_cert_face']) ? getenv('STORAGE_DOMAIN') . $row['member_cert_face'] : '',
|
|
|
+ 'member_cert_photo' => !empty($row['member_cert_photo']) ? getenv('STORAGE_DOMAIN') . $row['member_cert_photo'] : '',
|
|
|
+ 'member_cert_nation' => $row['member_cert_nation'],
|
|
|
+ ];
|
|
|
}
|
|
|
|
|
|
return json_success('', compact('rows', 'page', 'pageSize', 'total'));
|
|
@@ -256,6 +257,7 @@ class MemberService
|
|
|
public static function updateDevice(Request $request)
|
|
|
{
|
|
|
$params = $request->post();
|
|
|
+ Db::beginTransaction();
|
|
|
try {
|
|
|
$data = [
|
|
|
'member_device_status' => $params['member_device_status'],
|
|
@@ -266,21 +268,39 @@ class MemberService
|
|
|
];
|
|
|
|
|
|
MemberDevice::where('member_device_id', $request->post('member_device_id'))->update($data);
|
|
|
+
|
|
|
+ Device::where('device_id', $params['join_member_device_id'])->update(['device_status' => $params['member_device_status']]);
|
|
|
+
|
|
|
+ Db::commit();
|
|
|
+
|
|
|
} catch (\Exception $e) {
|
|
|
+ Db::rollBack();
|
|
|
dump($e->getMessage());
|
|
|
- return json_fail('绑定失败');
|
|
|
+ return json_fail('绑定更新失败');
|
|
|
}
|
|
|
|
|
|
- return json_success('绑定成功');
|
|
|
+ return json_success('绑定更新成功');
|
|
|
}
|
|
|
|
|
|
public static function deleteDevice(Request $request)
|
|
|
{
|
|
|
try {
|
|
|
- MemberDevice::where('member_device_id', $request->post('member_device_id'))->delete();
|
|
|
+ Db::beginTransaction();
|
|
|
+ $memberDevice = MemberDevice::where('member_device_id', $request->post('member_device_id'))->first();
|
|
|
+ if (!$memberDevice) {
|
|
|
+ return json_fail('数据不存在');
|
|
|
+ }
|
|
|
+
|
|
|
+ Device::where('device_id', $memberDevice->join_member_device_id)->update(['device_status' => 'DISABLED']);
|
|
|
+
|
|
|
+ $memberDevice->delete();
|
|
|
+
|
|
|
+ Db::commit();
|
|
|
|
|
|
return json_success('解除绑定成功');
|
|
|
} catch (\Exception $e) {
|
|
|
+ Db::rollBack();
|
|
|
+
|
|
|
return json_fail('绑定失败');
|
|
|
}
|
|
|
}
|