processor.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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 PromoteGoods = 4;
  19. const ValidateArea = 20;
  20. public function handle_input($body)
  21. {
  22. if(StatesHelper::fetch_state('init')) {
  23. Log::record("searcher::instance reload data.",Log::DEBUG);
  24. searcher::instance()->init();
  25. }
  26. $body = unserialize($body);
  27. $type = $body['type'];
  28. if($type == self::GetRelatedWord)
  29. {
  30. $words = $body['keyword'];
  31. $result = searcher::instance()->get_word($words);
  32. return serialize($result);
  33. }
  34. elseif($type == self::SearchReasult) {
  35. $params = $body['params'];
  36. $result = searcher::instance()->get_result($params);
  37. return serialize($result);
  38. }
  39. elseif($type == self::MatchPrice) {
  40. $params = $body['params'];
  41. $result = searcher::instance()->match_price($params);
  42. return serialize($result);
  43. }
  44. elseif($type == self::PromoteGoods) {
  45. $params = $body['params'];
  46. $result = searcher::instance()->promote_goods($params);
  47. return serialize($result);
  48. }
  49. elseif ($type == self::ValidateArea) {
  50. $params = $body['params'];
  51. $area_id = $params['area_id'];
  52. $result = area_library::instance()->country($area_id);
  53. if($result == false) {
  54. return serialize(array('result' => false));
  55. } else {
  56. $result['result'] = true;
  57. return serialize($result);
  58. }
  59. }
  60. else {
  61. }
  62. ob_clean();
  63. }
  64. }