Member.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace addon\store\shopapi\controller;
  13. use addon\store\model\StoreMember;
  14. use addon\coupon\model\MemberCoupon;
  15. use app\model\member\Member as MemberModel;
  16. /**
  17. * 会员管理 控制器
  18. */
  19. class Member extends BaseStoreApi
  20. {
  21. public function lists(){
  22. $page_index = $this->params['page'] ?? 1;
  23. $page_size = $this->params['page_size'] ?? PAGE_LIST_ROWS;
  24. $search_text = $this->params['search_text'] ?? '';
  25. $condition = [
  26. ['nsm.store_id', '=', $this->store_id]
  27. ];
  28. if (!empty($search_text)) $condition[] = ['mobile', 'like', "%" . $search_text . "%"];
  29. $member = new StoreMember();
  30. $list = $member->getStoreMemberPageList($condition, $page_index, $page_size, 'nsm.create_time desc');
  31. return $this->response($list);
  32. }
  33. /*
  34. * 会员信息
  35. */
  36. public function info(){
  37. $member_id = $this->params['member_id'] ?? 0;
  38. if (empty($member_id)) return $this->response($this->error());
  39. $condition = [
  40. ['nsm.store_id', '=', $this->store_id],
  41. ['nsm.member_id', '=', $member_id]
  42. ];
  43. $field = 'nm.member_id, nm.source_member, nm.username, nm.nickname, nm.sex, nm.mobile, nm.email, nm.headimg, nm.status, nm.birthday, nm.point, nm.balance, nm.balance_money, nm.growth, nm.order_money, nm.order_num, nsm.store_id, nsm.create_time';
  44. $join = [
  45. [
  46. 'member nm',
  47. 'nsm.member_id = nm.member_id',
  48. 'inner'
  49. ],
  50. ];
  51. $member = new StoreMember();
  52. $data = $member->getMemberInfo($condition, $field, 'nsm', $join);
  53. $coupon_model = new MemberCoupon();
  54. $coupon_num = $coupon_model->getMemberCouponNum($member_id, 1, $this->site_id)[ 'data' ];
  55. $data[ 'data' ][ 'coupon_num' ] = $coupon_num;
  56. return $this->response($data);
  57. }
  58. public function searchMember()
  59. {
  60. $search_text = isset($this->params[ 'search_text' ]) ? $this->params[ 'search_text' ] : '';
  61. $search_type = isset($this->params[ 'search_type' ]) ? $this->params[ 'search_type' ] : '';
  62. if ($search_type == 'mobile' || $search_type == 'nickname') {
  63. $search_type = 'm.' . $search_type;
  64. } else {
  65. $search_type = 'm.nickname|m.mobile';
  66. }
  67. $condition = [
  68. ['sm.store_id', '=', $this->store_id],
  69. [$search_type, '=', $search_text],
  70. ['m.is_delete', '=', 0]
  71. ];
  72. $join = [
  73. [ 'member m', 'm.member_id = sm.member_id', 'inner' ]
  74. ];
  75. $member = new StoreMember();
  76. $data = $member->getMemberInfo($condition, 'm.member_id', 'sm', $join);
  77. return $this->response($data);
  78. }
  79. public function addMember(){
  80. $data = [
  81. 'site_id' => $this->site_id,
  82. 'username' => '',
  83. 'mobile' => $this->params['mobile'] ?? '',
  84. 'email' => '',
  85. 'status' => 1,
  86. 'headimg' => '',
  87. 'member_level' => $this->params['member_level'],
  88. 'member_level_name' => $this->params['member_level_name'],
  89. 'nickname' => $this->params['nickname'],
  90. 'sex' => $this->params['sex'] ?? 0,
  91. 'birthday' => $this->params['sex'] ? strtotime($this->params['sex']) : 0,
  92. 'realname' => $this->params['realname'] ?? '',
  93. 'reg_time' => time(),
  94. ];
  95. if (empty($data['mobile'])) return $this->response($this->error('', '手机号不能为空'));
  96. if (empty($data['nickname'])) $data['nickname'] = $data['mobile'];
  97. $member_model = new MemberModel();
  98. $add_res = $member_model->addMember($data);
  99. if ($add_res['code'] != 0) return $this->response($add_res);
  100. $res = (new StoreMember())->addStoreMember($this->store_id, $add_res['data']);
  101. $this->addLog("添加会员" . $data[ 'username' ] . $data[ 'mobile' ]);
  102. return $this->response($add_res);
  103. }
  104. }