member_helper.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/3/21
  6. * Time: 下午2:52
  7. */
  8. require_once(BASE_ROOT_PATH . '/helper/algorithm.php');
  9. class member_helper
  10. {
  11. const member_normal_type = 0;
  12. const member_lrlz_type = 1;
  13. const member_brand_type = 2;
  14. public static function from_mobiles($inputs,&$errno)
  15. {
  16. $items = preg_split('/,/',$inputs);
  17. $errno = [];
  18. $mobiles = [];
  19. foreach ($items as $item)
  20. {
  21. $mobile = trim($item);
  22. $validate = new Validator();
  23. $validate->setValidate(Validator::verify_mobile($mobile));
  24. $err = $validate->validate();
  25. if(empty($err))
  26. {
  27. $nMobile = intval($mobile);
  28. if(algorithm::binary_search($mobiles,$nMobile) == false) {
  29. $pos = algorithm::lower_bonud($mobiles,$nMobile);
  30. algorithm::array_insert($mobiles,$pos,$nMobile);
  31. continue;
  32. }
  33. }
  34. $errno[] = $mobile;
  35. }
  36. if(!empty($mobiles)) {
  37. $member = Model('member');
  38. $items = $member->getMemberList(array('member_mobile' => array('in',$mobiles)),'member_id,member_mobile');
  39. return $items;
  40. } else {
  41. return false;
  42. }
  43. }
  44. public static function from_sql($sql)
  45. {
  46. if(empty($sql)) {
  47. return false;
  48. }
  49. else
  50. {
  51. $result = [];
  52. $items = DB::getAll($sql);
  53. foreach ($items as $item) {
  54. $member = [];
  55. $member['member_id'] = $item['member_id'];
  56. $member['member_mobile'] = $item['member_mobile'];
  57. $result[] = $member;
  58. }
  59. }
  60. return $result;
  61. }
  62. public static function exmembers($members, $fExLrlz, $fExBrans)
  63. {
  64. if($fExLrlz == false && $fExBrans == false) {
  65. return $members;
  66. }
  67. $ids = [];
  68. foreach ($members as $member) {
  69. $ids[] = intval($member['member_id']);
  70. }
  71. $cond['member_id'] = array('in',$ids);
  72. if($fExLrlz && $fExBrans) {
  73. $cond['member_user_type'] = array(array('neq',self::member_lrlz_type), array('neq',self::member_brand_type),'and');
  74. }
  75. elseif($fExLrlz) {
  76. $cond['member_user_type'] = array('neq',self::member_lrlz_type);
  77. }
  78. else {
  79. $cond['member_user_type'] = array('neq',self::member_brand_type);
  80. }
  81. $mod_member = Model('member');
  82. $items = $mod_member->field('member_id,member_mobile')->where($cond)->limit(false)->select();
  83. return $items;
  84. }
  85. }