UserCancelServices.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace app\services\user;
  3. use app\dao\user\UserCancelDao;
  4. use app\services\BaseServices;
  5. use app\services\kefu\service\StoreServiceServices;
  6. use app\services\wechat\WechatUserServices;
  7. use crmeb\services\CacheService;
  8. class UserCancelServices extends BaseServices
  9. {
  10. protected $status = ['待审核', '已通过', '已拒绝'];
  11. /**
  12. * UserExtractServices constructor.
  13. * @param UserCancelDao $dao
  14. */
  15. public function __construct(UserCancelDao $dao)
  16. {
  17. $this->dao = $dao;
  18. }
  19. /**
  20. * 提交用户注销
  21. * @param $userInfo
  22. * @return mixed
  23. */
  24. public function SetUserCancel($uid)
  25. {
  26. /** @var UserServices $userServices */
  27. $userServices = app()->make(UserServices::class);
  28. /** @var WechatUserServices $wechatUserServices */
  29. $wechatUserServices = app()->make(WechatUserServices::class);
  30. /** @var StoreServiceServices $ServiceServices */
  31. $ServiceServices = app()->make(StoreServiceServices::class);
  32. $userServices->update($uid, ['is_del' => 1]);
  33. $userServices->update(['spread_uid' => $uid], ['spread_uid' => 0, 'spread_time' => 0]);
  34. $wechatUserServices->update(['uid' => $uid], ['is_del' => 1]);
  35. $ServiceServices->delete(['uid' => $uid]);
  36. $user = $userServices->getUserInfo($uid);
  37. //自定义事件-用户注销
  38. event('CustomEventListener', ['user_cancel', [
  39. 'uid' => $uid,
  40. 'nickname' => $user['nickname'],
  41. 'phone' => $user['phone'],
  42. 'add_time' => date('Y-m-d H:i:s', $user['add_time']),
  43. 'cancel_time' => date('Y-m-d H:i:s'),
  44. 'user_type' => $user['user_type'],
  45. ]]);
  46. return true;
  47. }
  48. /**
  49. * 获取注销列表
  50. * @param $where
  51. * @return array
  52. */
  53. public function getCancelList($where)
  54. {
  55. [$page, $limit] = $this->getPageValue();
  56. $list = $this->dao->getList($where, $page, $limit);
  57. foreach ($list as &$item) {
  58. $item['add_time'] = date('Y-m-d H:i:s', $item['add_time']);
  59. $item['up_time'] = $item['up_time'] != 0 ? date('Y-m-d H:i:s', $item['add_time']) : '';
  60. $item['status'] = $this->status[$item['status']];
  61. }
  62. $count = $this->dao->count($where);
  63. return compact('list', 'count');
  64. }
  65. /**
  66. * 备注
  67. * @param $id
  68. * @param $mark
  69. * @return mixed
  70. */
  71. public function serMark($id, $mark)
  72. {
  73. return $this->dao->update($id, ['remark' => $mark]);
  74. }
  75. }