processor.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2016/10/6
  6. * Time: 下午10:35
  7. */
  8. namespace search;
  9. require_once (BASE_ROOT_PATH . '/helper/message/msgutil.php');
  10. require_once (BASE_ROOT_PATH . '/helper/message/subscriber.php');
  11. use StatesHelper;
  12. use Log;
  13. class processor implements IProcessor
  14. {
  15. const GetRelatedWord = 1;
  16. const SearchReasult = 2;
  17. const MatchPrice = 3;
  18. const ValidateArea = 20;
  19. public function handle_input($body)
  20. {
  21. if(StatesHelper::fetch_state('init')) {
  22. Log::record("searcher::instance reload data.",Log::DEBUG);
  23. searcher::instance()->init();
  24. }
  25. $body = unserialize($body);
  26. $type = $body['type'];
  27. if($type == self::GetRelatedWord)
  28. {
  29. $words = $body['keyword'];
  30. $result = searcher::instance()->get_word($words);
  31. return serialize($result);
  32. }
  33. elseif($type == self::SearchReasult) {
  34. $params = $body['params'];
  35. $result = searcher::instance()->get_result($params);
  36. return serialize($result);
  37. }
  38. elseif($type == self::MatchPrice) {
  39. $params = $body['params'];
  40. $result = searcher::instance()->match_price($params);
  41. return serialize($result);
  42. }
  43. elseif ($type == self::ValidateArea) {
  44. $params = $body['params'];
  45. $area_id = $params['area_id'];
  46. $result = area_library::instance()->country($area_id);
  47. if($result == false) {
  48. return serialize(array('result' => false));
  49. } else {
  50. $result['result'] = true;
  51. return serialize($result);
  52. }
  53. }
  54. else {
  55. }
  56. ob_clean();
  57. }
  58. }