MemberCard.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\controller\admin\v1\user\member;
  12. use app\controller\admin\AuthController;
  13. use app\services\user\member\MemberCardServices;
  14. use app\services\user\member\MemberRightServices;
  15. use app\services\user\member\MemberShipServices;
  16. use think\facade\App;
  17. /**
  18. * Class MemberCard
  19. * @package app\controller\admin\v1\user\member
  20. */
  21. class MemberCard extends AuthController
  22. {
  23. /**
  24. * 初始化service层句柄
  25. * MemberCard constructor.
  26. * @param App $app
  27. * @param MemberCardServices $memberCardServices
  28. */
  29. public function __construct(App $app, MemberCardServices $memberCardServices)
  30. {
  31. parent::__construct($app);
  32. $this->services = $memberCardServices;
  33. }
  34. /**
  35. * 会员卡列表
  36. * @param $card_batch_id
  37. * @return mixed
  38. */
  39. public function index($card_batch_id)
  40. {
  41. $where = $this->request->getMore([
  42. ['card_number', ""],
  43. ['phone', ""],
  44. ['card_batch_id', $card_batch_id],
  45. ['is_use', ""],
  46. ['is_status', ""],
  47. ['page', 1],
  48. ['limit', 20],
  49. ]);
  50. $data = $this->services->getSearchList($where);
  51. return $this->success($data);
  52. }
  53. /**
  54. * 会员分类
  55. * @return mixed
  56. */
  57. public function member_ship()
  58. {
  59. /** @var MemberShipServices $memberShipService */
  60. $memberShipService = app()->make(MemberShipServices::class);
  61. $data = $memberShipService->getSearchList();
  62. return $this->success($data);
  63. }
  64. /**
  65. * 保存分类
  66. * @param $id
  67. * @param MemberShipServices $memberShipServices
  68. * @return mixed
  69. */
  70. public function ship_save($id, MemberShipServices $memberShipServices)
  71. {
  72. $data = $this->request->postMore([
  73. ['title', ''],
  74. ['price', ''],
  75. ['pre_price', ''],
  76. ['vip_day', ''],
  77. ['type', ''],
  78. ['sort', ''],
  79. ]);
  80. $memberShipServices->save((int)$id, $data);
  81. event('user.member.update');
  82. return app('json')->success($id ? "编辑成功" : '添加成功');
  83. }
  84. /**
  85. * 删除
  86. * @param $id
  87. * @param MemberShipServices $memberShipServices
  88. * @return mixed
  89. */
  90. public function delete($id, MemberShipServices $memberShipServices)
  91. {
  92. if (!$id) return app('json')->fail('数据不存在');
  93. $res = $memberShipServices->delete((int)$id);
  94. $memberShipServices->cacheDelById($id);
  95. event('user.member.update');
  96. return app('json')->success($res ? "删除成功" : '删除失败');
  97. }
  98. /**
  99. * 查询会员类型select
  100. * @param MemberShipServices $memberShipServices
  101. * @return mixed
  102. * @throws \think\db\exception\DataNotFoundException
  103. * @throws \think\db\exception\DbException
  104. * @throws \think\db\exception\ModelNotFoundException
  105. */
  106. public function get_ship_select(MemberShipServices $memberShipServices)
  107. {
  108. return app('json')->success($memberShipServices->getShipSelect());
  109. }
  110. /**
  111. * 获取会员记录
  112. * @return mixed
  113. */
  114. public function member_record()
  115. {
  116. $where = $this->request->getMore([
  117. ['name', ""],
  118. ['add_time', ""],
  119. ['member_type', ''],
  120. ['pay_type', ""],
  121. ['page', 1],
  122. ['limit', 20],
  123. ]);
  124. $where['paid'] = 1;
  125. $data = $this->services->getSearchRecordList($where);
  126. return $this->success($data);
  127. }
  128. /**
  129. * 会员权益
  130. * @return mixed
  131. */
  132. public function member_right()
  133. {
  134. /** @var MemberRightServices $memberRightService */
  135. $memberRightService = app()->make(MemberRightServices::class);
  136. $data = $memberRightService->getSearchList();
  137. return $this->success($data);
  138. }
  139. /**
  140. * 保存会员权益
  141. * @param $id
  142. * @param MemberRightServices $memberRightServices
  143. * @return mixed
  144. */
  145. public function right_save($id, MemberRightServices $memberRightServices)
  146. {
  147. $data = $this->request->postMore([
  148. ['title', ''],
  149. ['show_title', ''],
  150. ['image', ''],
  151. ['right_type', ''],
  152. ['explain', ''],
  153. ['number', ''],
  154. ['sort', ''],
  155. ['status', ''],
  156. ]);
  157. $memberRightServices->save((int)$id, $data);
  158. event('user.member.update');
  159. return $this->success("权益编辑成功");
  160. }
  161. /**
  162. * 会员卡激活冻结状态修改
  163. * @return mixed
  164. */
  165. public function set_status()
  166. {
  167. [$card_id, $status] = $this->request->getMore([
  168. ['card_id', 0],
  169. ['status', 0],
  170. ], true);
  171. $msg = $status == 1 ? '激活' : '冻结';
  172. $res = $this->services->setStatus($card_id, $status);
  173. event('user.member.update');
  174. if ($res) return $this->success($msg . '成功');
  175. return $this->success($msg . '失败');
  176. }
  177. /**
  178. * 付费会员类型启用/禁用
  179. * @return mixed
  180. */
  181. public function set_ship_status()
  182. {
  183. [$id, $is_del] = $this->request->getMore([
  184. ['id', 0],
  185. ['is_del', 0],
  186. ], true);
  187. /** @var MemberShipServices $memberShipService */
  188. $memberShipService = app()->make(MemberShipServices::class);
  189. $msg = $is_del == 1 ? '禁用' : '启用';
  190. $res = $memberShipService->setStatus($id, $is_del);
  191. event('user.member.update');
  192. if ($res) return $this->success($msg . '成功');
  193. return $this->success($msg . '失败');
  194. }
  195. }