工作中遇到我们开发的A站,是B公司旗下子网站。
可以用B站的会员账号直接登录注册。
当用户注销了B站的会员,
A站的账号依旧存在。
但是无法登录了。
如果注册时用户勾选了接收A站的广告邮件。
也就会持续收到A网站发送的邮件。
下一次邮件发送就在两天后,
B站提供了一个excel,里面是两百人左右的注销用户的信息,
要求我们尽快将这些账号软删除,避免邮件发送。
我的处理方法是
1. 整理excel表中的注销用户信息。用concat拼接id和email备用,再把c列复制到编辑器,外层加个方括号,就成php二维数组了。

2. 写接口批量修改delete字段实现软删除。
public function memberWithdraw()
{
// 定义刚刚整理出的user数组
$userList = [
[1033,'aaa@163.com'],
[1045,'aaa@164.com'],
[1057,'aaa@165.com'],
[1069,'aaa@166.com'],
];
// 取得数组长度
$userAmount = count($userList);
// 定义未删除成功的user数组
$notDelList = [];
// 遍历数组修改user的deleted字段进行软删除
for($i=0;$i<$userAmount;$i++){
$member = Member::where('id',$userList[$i][0])->where('email',$userList[$i][1])->first();
if (!$member) {
array_push($notDelList,$userList[$i]);
}else{
// 删除时间是B站的人指定的
$member->deleted = '2022-05-30 00:00:00';
$member->save();
}
}
$response = [
'status_code' => '00',
'error_message' => '',
'not_del_list' => $notDelList,
];
return response()->json($response, 200);
}
以上。
这篇博客介绍了如何处理B站用户注销后,其在A站账号的软删除问题。作者通过整理Excel数据并编写接口实现了批量修改用户状态,避免已注销用户继续收到邮件。在处理过程中,遇到的问题和解决方案被详细阐述,包括如何将Excel数据转化为PHP二维数组,并使用for循环遍历执行软删除操作。

1276

被折叠的 条评论
为什么被折叠?



