MemberGroupController.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: 芸众商城 www.yunzshop.com
  5. * Date: 2017/2/23
  6. * Time: 下午6:08
  7. */
  8. namespace app\backend\modules\member\controllers;
  9. use app\backend\modules\member\models\MemberGroup;
  10. use app\backend\modules\member\models\MemberShopInfo;
  11. use app\common\components\BaseController;
  12. use app\common\helpers\PaginationHelper;
  13. use app\common\helpers\Url;
  14. class MemberGroupController extends BaseController
  15. {
  16. /**
  17. * 加载模板
  18. * @return string
  19. * @throws \Throwable
  20. */
  21. public function index()
  22. {
  23. return view('member.group.list', [])->render();
  24. }
  25. /*
  26. * Member group pager list
  27. * 17.3,31 restructure
  28. *
  29. * @autor yitian */
  30. public function show()
  31. {
  32. $pageSize = 20;
  33. $groupList = MemberGroup::getGroupPageList($pageSize);
  34. $groupList = is_null($groupList) ? [] : $groupList->toArray();
  35. foreach ($groupList['data'] as $k => $v) {
  36. $groupList['data'][$k]['member']['count'] = count($v['member']);
  37. }
  38. return $this->successJson('ok', [
  39. 'groupList' => $groupList,
  40. ]);
  41. }
  42. /**
  43. * 加载试图
  44. * @return string
  45. */
  46. public function form()
  47. {
  48. $id = request()->id;
  49. return view('member.group.form', ['id' => $id])->render();
  50. }
  51. /*
  52. * Add member group
  53. * 17.3,31 restructure
  54. *
  55. * @autor yitian */
  56. public function store()
  57. {
  58. $groupModel = new MemberGroup();
  59. $requestGroup = \YunShop::request()->group;
  60. if ($requestGroup) {
  61. $groupModel->setRawAttributes($requestGroup);
  62. $groupModel->uniacid = \YunShop::app()->uniacid;
  63. $validator = $groupModel->validator($groupModel->getAttributes());
  64. if ($validator->fails()) {
  65. $this->error($validator->messages());
  66. } else {
  67. if ($groupModel->save()) {
  68. return $this->successJson('添加会员分组成功', ['data' => true]);
  69. } else {
  70. $this->error("添加会员分组失败");
  71. }
  72. }
  73. }
  74. return $this->successJson('ok', [
  75. 'groupModel' => $groupModel
  76. ]);
  77. }
  78. /*
  79. * Update member group
  80. * */
  81. public function update()
  82. {
  83. $groupModel = MemberGroup::getMemberGroupByGroupId(\YunShop::request()->group_id);
  84. if(!$groupModel) {
  85. return $this->error('未找到会员分组或已删除');
  86. }
  87. $group = \YunShop::request()->group;
  88. if ($group) {
  89. $requestGroup['group_name'] = $group['group_name'];
  90. $requestGroup['uniacid'] = \YunShop::app()->uniacid;
  91. $groupModel->setRawAttributes($requestGroup);
  92. $validator = $groupModel->validator($requestGroup);
  93. if ($validator->fails()) {
  94. $this->error($validator->messages());
  95. } else {
  96. if ($groupModel->save()) {
  97. return $this->successJson('修改会员分组成功', ['data' => true]);
  98. } else {
  99. $this->error('修改会员分组信息失败!!!');
  100. }
  101. }
  102. }
  103. return $this->successJson('ok', [
  104. 'groupModel' => $groupModel
  105. ]);
  106. }
  107. /*
  108. * Destory member group
  109. *
  110. * */
  111. public function destroy()
  112. {
  113. $groupModel = MemberGroup::getMemberGroupByGroupId(\YunShop::request()->group_id);
  114. if (!$groupModel) {
  115. $this->error('未找到会员分组或已删除');
  116. }
  117. if ($groupModel->delete()) {
  118. MemberShopInfo::where('group_id',\YunShop::request()->id)->update(['group_id'=>'0']);
  119. return $this->successJson('删除会员分组成功', ['data' => true]);
  120. } else {
  121. $this->error("删除会员分组失败");
  122. }
  123. }
  124. public function getGroup()
  125. {
  126. $keyword = request()->keyword;
  127. $level = MemberGroup::uniacid()->where('group_name','like','%'.$keyword.'%')->select('id','group_name')->get()->toArray();
  128. return $this->successJson('ok',$level);
  129. }
  130. }