Authored by mingdan.ge

账号注销说明

**涉及分支**:dev_180305_注销用户
**涉及项目**:uic、users、gateway、erp-gateway
**新增mq**:user.addcancel、uic.checkCancel、user.cancelCheckResult、user.updatecance
**新增表**:user_cancel、user_pwd_change_log
**新增短信模板**:用户申请注销短信模板cancel_template、用户注销成功短信模板cancel_inform_template
##### 1、接口
1. 前台接口
接口在gateway,接口说明在 http://apidoc.yohops.com/ 下可查,user下模块“注销账号(注销账号)”
- app.cancel.items(判断是否可以申请注销,可以时返回申请注销文案:基本条例、重要提醒,否则返回上次驳回提醒)
- app.cancel.purpose(发送注销申请)
- app.cancel.result(查询注销结果)
2. erp接口
接口在erp-gateway项目,有接口文档:
http://git.yoho.cn/yoho-documents/api-interfaces/blob/master/%E8%B4%A6%E5%8F%B7%E6%B3%A8%E9%94%80/%E5%BC%BA%E5%88%B6%E6%B3%A8%E9%94%80-erp.md
##### 2、注销操作表
```
注销申请:
user_cancel表:insert create_time申请时间
申请判断条件:
user_cancel表:update check_time
注销:
user_profile表: status=0
user_info表:update set nick_name=888*** 做8个*加上随机数,昵称规则需再确认
user_openid表:delete
session表:5个过期时间字段置零
user_cancel表:update cancel_time nick_name
注销后删redis缓存
注销失败是否查看原因标记:
user_cancel表:update has_read
一个月内更改密码可以监测,条件从上线开始当天记录更改过密码的用户,过度期限一个月,新建了一张表记录用户更改密码时间:
user_pwd_change_log表:insert
```
##### 3、app请求:
1. 获取申请注销文案:基本条例、重要提醒
2. 发送短信验证码(图形验证码)
3. 向后台发送注销申请
4. 查询注销结果,失败原因,黑名单用户驳回原因写“账户最近30天内有过绑定第三方等操作或账户状态异常”
##### 4、驳回注销情况
1. 有过绑定第三方等操作;
2. 账号中有未使用完的积分(如有货币,mars points,yoho coints等)、礼品卡等,如愿意放弃,请联系人工客服;
3. 在Yoho!Buy有货最近一笔订单距今一年以内;
4. 在Yoho!Buy有货有过分期且截至目前尚未清偿欠款的。
5. 调信而复接口要加超时时间,如果调用失败或者超时,补偿一次,如果再次失败判断驳回
6. 黑名单用户
7. 30天内有更改密码操作
关于提示语:
1和6前台提示语“账户最近30天内有过绑定第三方等操作或账户状态异常”
5前台提示“您的注销申请需要联系人工客服处理”
3查订单order.isExistsOrdersForCancellationOfAccounts
##### 5、注销判断,users判断,uic执行后续操作
- 注销条件满足直接注销 ,注销时间要保存下来
- 注销条件不满足,向用户发送失败站内信,站内信说明原因
- 注销条件不满足,可以客服强制注销,注销时间要保存下来、保存客服id和备注
- 注销成功向用户发短信
##### 6、后台和erp交互
mq有:user.addcancel、uic.checkCancel、user.cancelCheckResult、user.updatecance
- 注销申请,uic带着用户信息走mq发给erp(user.addcancel)和users(uic.checkCancel)
- 注销条件判断结果,users给uic发mq(user.cancelCheckResult)
- 注销(通用逻辑),uic处理注销具体事宜,最后给erp发mq(user.updatecancel)
- 客服强制注销,erp请求erp-gateway接口,向uic发强制注销请求,uic处理成功后走上一条注销通用逻辑
... ...