MemberLabel.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace app\model\member;
  11. use think\facade\Cache;
  12. use app\model\BaseModel;
  13. /**
  14. * 会员标签
  15. */
  16. class MemberLabel extends BaseModel
  17. {
  18. /**
  19. * 添加会员标签
  20. *
  21. * @param array $data
  22. */
  23. public function addMemberLabel($data)
  24. {
  25. $res = model('member_label')->add($data);
  26. Cache::tag("member_label")->clear();
  27. return $this->success($res);
  28. }
  29. /**
  30. * 修改会员标签
  31. *
  32. * @param array $data
  33. * @param array $condition
  34. */
  35. public function editMemberLabel($data, $condition)
  36. {
  37. $res = model('member_label')->update($data, $condition);
  38. Cache::tag("member_label")->clear();
  39. return $this->success($res);
  40. }
  41. /**
  42. * 删除会员标签
  43. * @param array $condition
  44. */
  45. public function deleteMemberLabel($condition)
  46. {
  47. $res = model('member_label')->delete($condition);
  48. Cache::tag("member_label")->clear();
  49. return $this->success($res);
  50. }
  51. /**
  52. * 修改标签排序
  53. * @param int $sort
  54. * @param int $label_id
  55. */
  56. public function modifyMemberLabelSort($sort, $label_id)
  57. {
  58. //判断标签下有没有会员
  59. if(!empty($label_ids)){
  60. $label_id_array = explode(',',$label_ids);
  61. foreach($label_id_array as $val){
  62. $label_is_has_member = model('member')->getList([['member_label','like','%'.$val.'%'],['is_delete','=','0']],'member_id');
  63. if(!empty($label_is_has_member))return $this->error('','标签下有会员不能删除!');
  64. }
  65. }
  66. $res = model('member_label')->update(['sort' => $sort], [['label_id', '=', $label_id]]);
  67. Cache::tag("member_label")->clear();
  68. return $this->success($res);
  69. }
  70. /**
  71. * 获取会员标签信息
  72. *
  73. * @param array $condition
  74. * @param string $field
  75. */
  76. public function getMemberLabelInfo($condition = [], $field = '*')
  77. {
  78. $data = json_encode([$condition, $field]);
  79. $cache = Cache::get("member_label_getMemberLabelInfo_" . $data);
  80. if (!empty($cache)) {
  81. return $this->success($cache);
  82. }
  83. $info = model('member_label')->getInfo($condition, $field);
  84. Cache::tag("member_label")->set("member_label_getMemberLabelInfo_" . $data, $info);
  85. return $this->success($info);
  86. }
  87. /**
  88. * 获取会员标签列表
  89. *
  90. * @param array $condition
  91. * @param string $field
  92. * @param string $order
  93. * @param string $limit
  94. */
  95. public function getMemberLabelList($condition = [], $field = '*', $order = 'sort asc, label_id asc', $limit = null)
  96. {
  97. $data = json_encode([$condition, $field, $order, $limit]);
  98. $cache = Cache::get("member_label_getMemberLabelList_" . $data);
  99. if (!empty($cache)) {
  100. return $this->success($cache);
  101. }
  102. $list = model('member_label')->getList($condition, $field, $order, '', '', '', $limit);
  103. Cache::tag("member_label")->set("member_label_getMemberLabelList_" . $data, $list);
  104. return $this->success($list);
  105. }
  106. /**
  107. * 获取会员标签分页列表
  108. *
  109. * @param array $condition
  110. * @param number $page
  111. * @param string $page_size
  112. * @param string $order
  113. * @param string $field
  114. */
  115. public function getMemberLabelPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = 'sort asc, level_id asc', $field = '*')
  116. {
  117. $data = json_encode([$condition, $field, $order, $page, $page_size]);
  118. $cache = Cache::get("member_label_getMemberLabelPageList_" . $data);
  119. if (!empty($cache)) {
  120. return $this->success($cache);
  121. }
  122. $list = model('member_label')->pageList($condition, $field, $order, $page, $page_size);
  123. Cache::tag("member_label")->set("member_label_getMemberLabelPageList_" . $data, $list);
  124. return $this->success($list);
  125. }
  126. }