MexAdminService.php 2.1 KB

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