Clerk.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace addons\ReservationService\common\global_func;
  3. use addons\ReservationService\common\services\OrderService;
  4. use common\enums\ClerkEnum;
  5. class Clerk
  6. {
  7. public static function clerk($params)
  8. {
  9. if (empty($params['clerk_code']) || empty($params['mall_id']) || empty($params['user_id']) || empty($params['method'])) {
  10. return [];
  11. }
  12. $clerk_code = (string)$params['clerk_code'];
  13. $code_pre = $clerk_code[0] . $clerk_code[1];
  14. if ($code_pre != ClerkEnum::RESERVATION_SERVICE_CLERK_CODE_PRE) {
  15. return [];
  16. }
  17. switch ($params['method']) {
  18. case 'post':
  19. $res = (new OrderService())->clerk($params['mall_id'], $params['user_id'], $params['clerk_code']);
  20. if(is_string($res)) {
  21. throw new \Exception($res);
  22. }else{
  23. return $res;
  24. }
  25. case "get":
  26. $res = (new OrderService())->getDetailByCodeOrId($params['mall_id'], $params['user_id'], $params['clerk_code'], 0, 0);
  27. if(is_string($res)) {
  28. throw new \Exception($res);
  29. }else{
  30. return $res;
  31. }
  32. }
  33. }
  34. public static function clerkDetail($params)
  35. {
  36. if (empty($params['clerk_log_id']) || empty($params['mall_id']) || empty($params['user_id']) || empty($params['type'])) {
  37. return [];
  38. }
  39. $clerk_code_pre = $params['type'];
  40. switch ($clerk_code_pre) {
  41. case ClerkEnum::RESERVATION_SERVICE_CLERK_CODE_PRE:
  42. $clerk_log_model = \common\models\common\ClerkLog::findOne(['id' => $params['clerk_log_id'], 'mall_id' => $params['mall_id'], 'user_id' => $params['user_id'], 'type' => $params['type']]);
  43. $extra = json_decode($clerk_log_model['extra'],true);
  44. return (new OrderService())->getClerkLogDetail($params['mall_id'], $extra['reservation_service_order_id'], $extra['order_id']);
  45. default:
  46. return [];
  47. }
  48. }
  49. }