|
|
|
@ -834,20 +834,46 @@ class UserController extends BaseController
|
|
|
|
if (empty($idsArray)) {
|
|
|
|
if (empty($idsArray)) {
|
|
|
|
return $this->fail([StarterResponseCode::START_ERROR_PARAMETER, '编号不能为空']);
|
|
|
|
return $this->fail([StarterResponseCode::START_ERROR_PARAMETER, '编号不能为空']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (isset($all['is_schoolmate'])) {
|
|
|
|
DB::beginTransaction();
|
|
|
|
if ($all['is_schoolmate'] == 1) {
|
|
|
|
try {
|
|
|
|
// 仅当 非校友→校友 时写入 schoolmate_time;已是校友的不更新,避免覆盖
|
|
|
|
$updatedCount = 0;
|
|
|
|
$this->model->whereIn('id', $idsArray)
|
|
|
|
|
|
|
|
->whereRaw('COALESCE(is_schoolmate, 0) != 1')
|
|
|
|
if (isset($all['is_schoolmate'])) {
|
|
|
|
->update(['is_schoolmate' => 1, 'schoolmate_time' => now()]);
|
|
|
|
if ($all['is_schoolmate'] == 1) {
|
|
|
|
} else {
|
|
|
|
// 改为逐条 save(),确保触发审计日志
|
|
|
|
$this->model->whereIn('id', $idsArray)->update([
|
|
|
|
$users = $this->model->whereIn('id', $idsArray)
|
|
|
|
'is_schoolmate' => $all['is_schoolmate'],
|
|
|
|
->whereRaw('COALESCE(is_schoolmate, 0) != 1')
|
|
|
|
'schoolmate_time' => null,
|
|
|
|
->get();
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
|
|
foreach ($users as $user) {
|
|
|
|
|
|
|
|
$user->is_schoolmate = 1;
|
|
|
|
|
|
|
|
$user->schoolmate_time = now();
|
|
|
|
|
|
|
|
if ($user->isDirty()) {
|
|
|
|
|
|
|
|
$user->save();
|
|
|
|
|
|
|
|
$updatedCount++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
// 改为逐条 save(),确保触发审计日志
|
|
|
|
|
|
|
|
$users = $this->model->whereIn('id', $idsArray)->get();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach ($users as $user) {
|
|
|
|
|
|
|
|
$user->is_schoolmate = $all['is_schoolmate'];
|
|
|
|
|
|
|
|
$user->schoolmate_time = null;
|
|
|
|
|
|
|
|
if ($user->isDirty()) {
|
|
|
|
|
|
|
|
$user->save();
|
|
|
|
|
|
|
|
$updatedCount++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DB::commit();
|
|
|
|
|
|
|
|
return $this->success('批量更新成功,共更新 ' . $updatedCount . ' 条记录');
|
|
|
|
|
|
|
|
} catch (\Exception $exception) {
|
|
|
|
|
|
|
|
DB::rollBack();
|
|
|
|
|
|
|
|
return $this->fail([$exception->getCode(), $exception->getMessage()]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success('批量更新成功');
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@ -911,9 +937,20 @@ class UserController extends BaseController
|
|
|
|
|
|
|
|
|
|
|
|
DB::beginTransaction();
|
|
|
|
DB::beginTransaction();
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
$this->model->whereIn('id', $idsArray)->update($data);
|
|
|
|
$users = $this->model->whereIn('id', $idsArray)->get();
|
|
|
|
|
|
|
|
$updatedCount = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach ($users as $user) {
|
|
|
|
|
|
|
|
// 改为逐条 save(),确保触发审计日志
|
|
|
|
|
|
|
|
$user->fill($data);
|
|
|
|
|
|
|
|
if ($user->isDirty()) {
|
|
|
|
|
|
|
|
$user->save();
|
|
|
|
|
|
|
|
$updatedCount++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
DB::commit();
|
|
|
|
DB::commit();
|
|
|
|
return $this->success('批量更新成功,共更新 ' . count($idsArray) . ' 条记录');
|
|
|
|
return $this->success('批量更新成功,共更新 ' . $updatedCount . ' 条记录');
|
|
|
|
} catch (\Exception $exception) {
|
|
|
|
} catch (\Exception $exception) {
|
|
|
|
DB::rollBack();
|
|
|
|
DB::rollBack();
|
|
|
|
return $this->fail([$exception->getCode(), $exception->getMessage()]);
|
|
|
|
return $this->fail([$exception->getCode(), $exception->getMessage()]);
|
|
|
|
|