mobile_contacts.model.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. defined('InShopNC') or exit('Access Invalid!');
  3. class mobile_contactsModel extends Model
  4. {
  5. public function __construct()
  6. {
  7. parent::__construct('mobile_contacts');
  8. }
  9. public function add($member_id, $contacts)
  10. {
  11. return $this->insert(array('member_id'=>$member_id,'origin_contacts'=>serialize($contacts),'task_status'=>0), true);
  12. }
  13. public function genRelations($member_id)
  14. {
  15. $ret = $this->field('member_id,origin_contacts,unregister_contacts,friend_contacts')->where(array("member_id" => $member_id,"task_status" => 0))->find();
  16. if (!empty($ret)) {
  17. $origin_contacts = unserialize($ret["origin_contacts"]);
  18. $mobilelist = array();
  19. $namelist = array();
  20. foreach($origin_contacts as $obj) {
  21. $mobilelist[] = $obj["mobile"];
  22. $namelist[$obj["mobile"]] = $obj["name"];
  23. }
  24. $member_nameids = array();
  25. $member_ids = Model("member")->field("member_id,member_mobile")->where(array('member_mobile'=>array('in', $mobilelist)))->select();
  26. if(!empty($member_ids)) {
  27. foreach($member_ids as $key => $val) {
  28. $member_nameids[] = array("member_id"=>$val["member_id"],"name"=>$namelist[$val["member_mobile"]]);
  29. }
  30. $data = array("task_status"=>1,"friend_contacts"=>serialize($member_nameids));
  31. $this->where(array("member_id"=>$member_id))->update($data);
  32. $prefix = "mb_";
  33. $key = "mobilecontacts_{$member_id}";
  34. dcache($key,$prefix);
  35. return true;
  36. }
  37. }
  38. return false;
  39. }
  40. public function getRelations($member_id)
  41. {
  42. $data = array();
  43. if (isset($member_id) && !empty($member_id)) {
  44. $prefix = "mb_";
  45. $key = "mobilecontacts_{$member_id}";
  46. $ret = rcache($key,$prefix);
  47. if (empty($ret)) {
  48. $data = $this->field('friend_contacts')->where(array("member_id"=>$member_id))->find();
  49. wcache($key,array("contacts_list"=>$data["friend_contacts"]),$prefix);
  50. $data = unserialize($data["friend_contacts"]);
  51. } else {
  52. $data = unserialize($ret["contacts_list"]);
  53. }
  54. }
  55. return $data;
  56. }
  57. }