MexAdminService.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace App\Module\Mex\Services;
  3. use App\Module\Mex\Logic\MexAdminLogic;
  4. use App\Module\Mex\Enums\AdminOperationType;
  5. /**
  6. * 农贸市场管理员服务
  7. *
  8. * 提供管理员操作相关的对外服务接口
  9. */
  10. class MexAdminService
  11. {
  12. /**
  13. * 物品注入(增加市场供应)
  14. *
  15. * @param int $adminUserId 管理员用户ID
  16. * @param int $itemId 商品ID
  17. * @param int $quantity 数量
  18. * @param string $price 价格
  19. * @param string|null $remark 备注
  20. * @return array 操作结果
  21. */
  22. public static function injectItem(int $adminUserId, int $itemId, int $quantity, string $price, ?string $remark = null): array
  23. {
  24. return MexAdminLogic::injectItem($adminUserId, $itemId, $quantity, $price, $remark);
  25. }
  26. /**
  27. * 物品回收(减少市场库存)
  28. *
  29. * @param int $adminUserId 管理员用户ID
  30. * @param int $itemId 商品ID
  31. * @param int $quantity 数量
  32. * @param string $price 价格
  33. * @param string|null $remark 备注
  34. * @return array 操作结果
  35. */
  36. public static function recycleItem(int $adminUserId, int $itemId, int $quantity, string $price, ?string $remark = null): array
  37. {
  38. return MexAdminLogic::recycleItem($adminUserId, $itemId, $quantity, $price, $remark);
  39. }
  40. /**
  41. * 获取管理员操作记录
  42. *
  43. * @param int $page 页码
  44. * @param int $pageSize 每页数量
  45. * @param int|null $adminUserId 管理员用户ID筛选
  46. * @param AdminOperationType|null $operationType 操作类型筛选
  47. * @return array 操作记录列表
  48. */
  49. public static function getAdminOperations(int $page = 1, int $pageSize = 20, ?int $adminUserId = null, ?AdminOperationType $operationType = null): array
  50. {
  51. return MexAdminLogic::getAdminOperations($page, $pageSize, $adminUserId, $operationType);
  52. }
  53. /**
  54. * 获取管理员操作统计
  55. *
  56. * @param int $days 统计天数
  57. * @return array 统计信息
  58. */
  59. public static function getAdminOperationStats(int $days = 7): array
  60. {
  61. return MexAdminLogic::getAdminOperationStats($days);
  62. }
  63. }