MemberCancelController.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Name: 芸众商城系统
  5. * Author: 广州市芸众信息科技有限公司
  6. * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
  7. * Date: 2021-07-30
  8. * Time: 16:14
  9. */
  10. namespace app\backend\modules\member\controllers;
  11. use app\backend\modules\member\models\MemberShopInfo;
  12. use app\backend\modules\member\models\MemberUnique;
  13. use app\common\components\BaseController;
  14. use app\common\models\McMappingFans;
  15. use app\common\models\Member;
  16. use app\common\models\member\MemberCancel;
  17. use app\common\models\member\MemberCancelSet;
  18. use app\common\models\MemberAlipay;
  19. use app\common\models\MemberMiniAppModel;
  20. use app\common\models\Order;
  21. use app\frontend\modules\member\models\MemberWechatModel;
  22. use Illuminate\Support\Facades\DB;
  23. use Yunshop\YunSign\common\models\CompanyAccount;
  24. use Yunshop\YunSign\common\models\PersonAccount;
  25. class MemberCancelController extends BaseController
  26. {
  27. public function index()
  28. {
  29. $form_data = request()->form;
  30. if ($form_data) {
  31. $set = MemberCancelSet::uniacid()->first();
  32. if (!$set) {
  33. $set = new MemberCancelSet();
  34. }
  35. $set->uniacid = \YunShop::app()->uniacid;
  36. $set->status = $form_data['status'];
  37. $set->tel_status = $form_data['tel_status'];
  38. $set->title = $form_data['title'];
  39. $set->content = $form_data['content'];
  40. if ($set->save()) {
  41. return $this->successJson('保存成功');
  42. } else {
  43. return $this->errorJson('保存失败');
  44. }
  45. }
  46. $set = MemberCancelSet::uniacid()->first();
  47. return view('member.memberCancel.index', [
  48. 'set' => $set,
  49. ]);
  50. }
  51. public function verify()
  52. {
  53. return view('member.memberCancel.list');
  54. }
  55. public function search()
  56. {
  57. $search = request()->search;
  58. $list = MemberCancel::search($search)->orderby('created_at', 'desc')->paginate(15);
  59. return $this->successJson('ok', [
  60. 'list' => $list,
  61. ]);
  62. }
  63. //通过
  64. public function pass()
  65. {
  66. $id = request()->id;
  67. if (!$id) {
  68. return $this->errorJson('请传入正确参数');
  69. }
  70. $model = MemberCancel::find($id);
  71. if (!$model) {
  72. return $this->errorJson('记录不存在');
  73. }
  74. $order = Order::where('uid', $model->member_id)->whereBetween('status', [1, 2])->first();
  75. if ($order) {
  76. return $this->errorJson('该会员存在交易中订单,暂不能审核!');
  77. }
  78. if ($this->delMember($model->member_id, $model)) {
  79. if (app('plugins')->isEnabled('yun-sign')) {
  80. PersonAccount::where('uid', $model->member_id)->delete();
  81. CompanyAccount::where('uid', $model->member_id)->delete();
  82. }
  83. if (app('plugins')->isEnabled('shop-esign')) {
  84. \Yunshop\ShopEsign\common\models\PersonAccount::where('uid', $model->member_id)->delete();
  85. \Yunshop\ShopEsign\common\models\CompanyAccount::where('uid', $model->member_id)->delete();
  86. }
  87. return $this->successJson('审核成功');
  88. } else {
  89. return $this->errorJson('审核失败');
  90. }
  91. }
  92. private function delMember($uid, $model)
  93. {
  94. $exception = DB::transaction(function () use ($uid, $model) {
  95. //公众号
  96. McMappingFans::where('uid', $uid)->delete();
  97. //小程序
  98. MemberMiniAppModel::where('member_id', $uid)->delete();
  99. //app
  100. MemberWechatModel::where('member_id', $uid)->delete();
  101. //统一
  102. MemberUnique::where('member_id', $uid)->delete();
  103. //支付宝
  104. MemberAlipay::where('member_id', $uid)->delete();
  105. Member::where('uid', $uid)->delete(); //删除mc_members数据
  106. MemberShopInfo::where('member_id', $uid)->delete(); //软删除yz_member
  107. $model->update(['status'=>2]);
  108. });
  109. setcookie('Yz-Token', '', time() - 3600);
  110. setcookie('Yz-appToken', '', time() - 3600);
  111. setcookie(session_name(), '',time() - 3600, '/');
  112. setcookie(session_name(), '',time() - 3600, '/addons/yun_shop');
  113. session_destroy();
  114. if (is_null($exception)) {
  115. return true;
  116. } else {
  117. return false;
  118. }
  119. }
  120. //驳回
  121. public function reject()
  122. {
  123. $id = request()->id;
  124. if (!$id) {
  125. return $this->errorJson('请传入正确参数');
  126. }
  127. $model = MemberCancel::find($id);
  128. if (!$model) {
  129. return $this->errorJson('记录不存在');
  130. }
  131. if ($model->update(['status'=>3])) {
  132. return $this->successJson('驳回成功');
  133. } else {
  134. return $this->errorJson('驳回失败');
  135. }
  136. }
  137. }