MexTransactionService.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace App\Module\Mex\Services;
  3. use App\Module\Mex\Logic\MexTransactionLogic;
  4. /**
  5. * 农贸市场成交记录服务
  6. *
  7. * 提供成交记录相关的对外服务接口
  8. */
  9. class MexTransactionService
  10. {
  11. /**
  12. * 获取交易大厅成交记录
  13. *
  14. * @param int $page 页码
  15. * @param int $pageSize 每页数量
  16. * @param int|null $itemId 商品ID筛选
  17. * @return array 成交记录列表
  18. */
  19. public static function getPublicTransactions(int $page = 1, int $pageSize = 20, ?int $itemId = null): array
  20. {
  21. return MexTransactionLogic::getPublicTransactions($page, $pageSize, $itemId);
  22. }
  23. /**
  24. * 获取用户成交记录
  25. *
  26. * @param int $userId 用户ID
  27. * @param int $page 页码
  28. * @param int $pageSize 每页数量
  29. * @return array 成交记录列表
  30. */
  31. public static function getUserTransactions(int $userId, int $page = 1, int $pageSize = 20): array
  32. {
  33. return MexTransactionLogic::getUserTransactions($userId, $page, $pageSize);
  34. }
  35. /**
  36. * 获取商品成交统计
  37. *
  38. * @param int $itemId 商品ID
  39. * @param int $days 统计天数
  40. * @return array 统计信息
  41. */
  42. public static function getItemTransactionStats(int $itemId, int $days = 7): array
  43. {
  44. return MexTransactionLogic::getItemTransactionStats($itemId, $days);
  45. }
  46. /**
  47. * 获取市场成交统计
  48. *
  49. * @param int $days 统计天数
  50. * @return array 统计信息
  51. */
  52. public static function getMarketStats(int $days = 7): array
  53. {
  54. return MexTransactionLogic::getMarketStats($days);
  55. }
  56. /**
  57. * 获取商品最新成交价格
  58. *
  59. * @param int $itemId 商品ID
  60. * @return string|null 最新价格
  61. */
  62. public static function getLatestPrice(int $itemId): ?string
  63. {
  64. return MexTransactionLogic::getLatestPrice($itemId);
  65. }
  66. /**
  67. * 获取最后撮合时间信息
  68. *
  69. * @return array 最后撮合时间信息
  70. */
  71. public static function getLastMatchTimes(): array
  72. {
  73. return MexTransactionLogic::getLastMatchTimes();
  74. }
  75. }