BookDotService.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: lts
  5. * Date: 2019-08-21
  6. * Time: 20:07
  7. */
  8. namespace app\main\service;
  9. use app\main\constants\MqConstants;
  10. use app\main\model\object\DotBookCollectObject;
  11. class BookDotService extends BaseService
  12. {
  13. const exchangeName = 'cps.ex.topic';
  14. /**
  15. * @var BookDotService
  16. */
  17. protected static $self = null;
  18. /**
  19. * @return $this
  20. */
  21. public static function instance()
  22. {
  23. if (self::$self == null) {
  24. self::$self = new self();
  25. }
  26. return self::$self;
  27. }
  28. /**
  29. * 打点
  30. * @param array $data 推送内容
  31. */
  32. public function dotBookInfo($data)
  33. {
  34. $mq = MqService::instance()->getDotMqInstance();
  35. LogService::info('[ MQ ] [ DOT ] [BookInfo] ' . print_r(json_encode($mq),
  36. true) . '::Data::' . print_r(json_encode($data), true));
  37. $exchangeName = self::exchangeName;
  38. $mq->transferExchange($data, $exchangeName, MqConstants::ROUTING_KEY_APP_SPENDING, 'topic');
  39. }
  40. public function generateBookData(DotBookCollectObject $bookDotInfo)
  41. {
  42. $data = [
  43. 'book_id' => $bookDotInfo->bookId,
  44. 'channel_id' => $bookDotInfo->channelId,
  45. 'event_time' => $bookDotInfo->eventTime,
  46. 'recharge_money' => empty($bookDotInfo->rechargeMoney) ? 0 : $bookDotInfo->rechargeMoney,
  47. 'count_kandian' => empty($bookDotInfo->countKandian) ? 0 : $bookDotInfo->countKandian,
  48. 'free_kandian' => empty($bookDotInfo->freeKandian) ? 0 : $bookDotInfo->freeKandian,
  49. 'kandian' => empty($bookDotInfo->kandian) ? 0 : $bookDotInfo->kandian,
  50. 'business_line' => $bookDotInfo->businessLine,
  51. ];
  52. return $data;
  53. }
  54. }