getPetUserWorkCommand.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: PHP
  5. * Date: 2016/11/9
  6. * Time: 15:31
  7. */
  8. class GetPetUserWorkCommand extends CConsoleCommand{
  9. public function run($args) {
  10. error_reporting(E_ERROR);
  11. ini_set('memory_limit', '256M');
  12. //ini_set('mongo.long_as_object',1);
  13. set_time_limit(0);
  14. // $this->getPetUser();
  15. }
  16. public function getKennel(){
  17. $count = 0;
  18. $page = intval(Yii::app()->redis->get('page'));
  19. if (empty($page)) $page =1;
  20. var_dump($page);
  21. while($page) {
  22. if ($count >= 10) {
  23. Yii::app()->redis->set('page', intval(--$page));
  24. exit;
  25. }
  26. var_dump($page);
  27. $res = CommonFn::simple_http("http://deal.wozhua.mobi/api/kennel/list?user_id=546b16f50eb9fb494f8b4664&page=".$page++."&rows=10");
  28. $res = json_decode($res,true);
  29. if ($res['success']) {
  30. $list = $res['data']['list'];
  31. foreach ($list as $key => $value) {
  32. $count++;
  33. $tmp = json_decode(CommonFn::simple_http("http://deal.wozhua.mobi/api/kennel/desc?user_id=546b16f50eb9fb494f8b4664&kennel_id=" . $value['id']), true);
  34. if (!empty($tmp)) {
  35. $tmp = $tmp['data'];
  36. if (!empty(Kennel::model()->get(new MongoId($value['id'])))) {
  37. $kennel = Kennel::model()->get(new MongoId($value['id']));
  38. } else {
  39. $kennel = new Kennel();
  40. }
  41. $kennel->_id = new MongoId($value['id']);
  42. $kennel->status = 0;
  43. $kennel->weight = 0;
  44. $kennel->name = $value['name'];
  45. $kennel->avatar = $value['avatar'];
  46. $kennel->region = $value['region'];
  47. $kennel->video = $value['video'];
  48. if ($value['is_certified']) {
  49. $kennel->type = 1;
  50. } else {
  51. $kennel->type = 2;
  52. }
  53. $kennel->tags = $tmp['tags'];
  54. $kennel->desc = $tmp['desc'];
  55. foreach ($tmp['desc_pics'] as $v) {
  56. $kennel->desc_pics[] = $v;
  57. }
  58. $kennel->address = $tmp['address'];
  59. $kennel->phone = $tmp['phone'];
  60. $kennel->favorable_rate = $tmp['favorable_rate'];
  61. $kennel->comment_count = $tmp['comment_count'];
  62. $kennel->favorable_count = $tmp['favorable_count'];
  63. $kennel->average = $tmp['favorable_star'];
  64. $success = $kennel->save();
  65. if ($success) {
  66. echo "success";
  67. }
  68. sleep(3);
  69. }
  70. }
  71. sleep(3);
  72. }
  73. }
  74. }
  75. public function getPetUser(){
  76. $m = new MongoClient(DB_CONNETC);
  77. $collection = $m->selectCollection('fuwu','material');
  78. var_dump($collection->drop());
  79. $c = $m->selectCollection('fuwu','stock');
  80. var_dump($c->drop());
  81. /* $m = new MongoClient(DB_CONNETC);
  82. $count = 0;
  83. $collection = $m->selectCollection('cute','pet_user');
  84. $cursor = $collection->find();
  85. $cursor->sort(array('id' => -1));
  86. $index = $cursor->getNext()['id'];
  87. if (empty($index)){
  88. $index = 1;
  89. }
  90. while($index) {
  91. if($count>= 50){
  92. exit;
  93. }
  94. $count++;
  95. $res = CommonFn::simple_http('http://pet.appcute.im/api/user/get?id=' . $index++);
  96. $d = json_decode($res, true);
  97. if ($d['error'] == 10000) {
  98. $data = $d['data'];
  99. if (!$collection->findOne(array('id' => $data['id']))) {
  100. foreach($data['photos'] as $key => $value) {
  101. $data['photos'][$key] = $value;
  102. }
  103. foreach ($data['contact'] as $key => $value) {
  104. $data['contact'][$key] = $value;
  105. }
  106. foreach ($data['services'] as $key => $value) {
  107. $data['services'][$key] = $value;
  108. }
  109. foreach ($data['area'] as $key => $value) {
  110. if (is_array($data['area'][$key])){
  111. foreach($data['area'][$key] as $k => $v) {
  112. $data['area'][$key][$k] = $v;
  113. }
  114. } else {
  115. $data['area'][$key] = $value;
  116. }
  117. }
  118. $collection->insert($data);
  119. }
  120. }
  121. sleep(3);
  122. }*/
  123. }
  124. public function writeLastIndex($index){
  125. echo $index;
  126. $file = fopen(dirname(__FILE__).'/../data/petUser.json', "w") or die("Unable to open file!");
  127. $data['last_index'] = $index;
  128. fwrite($file, json_encode($data));
  129. fclose($file);
  130. }
  131. }