diff --git a/app/Service/Admin/Catering/CateringBaseService.php b/app/Service/Admin/Catering/CateringBaseService.php index 3f9ea7f..654503b 100644 --- a/app/Service/Admin/Catering/CateringBaseService.php +++ b/app/Service/Admin/Catering/CateringBaseService.php @@ -12,6 +12,7 @@ namespace App\Service\Admin\Catering; use App\Cache\Redis\Api\SiteCache; use App\Cache\Redis\Common\ConfigCache; +use App\Constants\Common\OrderCode; use App\Constants\Common\RoleCode; use App\Exception\ErrException; use App\Model\AdminUser; @@ -20,6 +21,7 @@ use App\Model\DriverSequence; use App\Model\Site; use App\Model\Sku; use App\Service\Admin\BaseService; +use App\Service\ServiceTrait\Admin\Catering\PrintTrait; use App\Service\ServiceTrait\Admin\GetUserInfoTrait; use App\Service\ServiceTrait\Common\CycleTrait; use Hyperf\Di\Annotation\Inject; @@ -28,8 +30,14 @@ use Psr\Container\NotFoundExceptionInterface; abstract class CateringBaseService extends BaseService { - use GetUserInfoTrait, - CycleTrait; + use GetUserInfoTrait; + use CycleTrait; + use PrintTrait; + + /** + * @var int 1=自选 2=套餐 + */ + protected int $type; /** * @var int @@ -110,6 +118,12 @@ abstract class CateringBaseService extends BaseService 'option' => $this->roleId != RoleCode::OPTION_CATERING ? throw new ErrException('您没有权限访问该功能') : null, default => throw new ErrException('不存在该路由功能') }; + + $this->type = match ($urlArr[2]) { + 'meal' => OrderCode::ORDER_TYPE_OPTIONAL, + 'option' => OrderCode::ORDER_TYPE_MEAL, + default => throw new ErrException('不存在该路由功能'), + }; } /** @@ -220,7 +234,7 @@ abstract class CateringBaseService extends BaseService 'order_quantity' => $cycleCateringLogs[$oneSite['id']]['quantity'], 'status' => $cycleCateringLogs[$oneSite['id']]['status'], 'id' => $cycleCateringLogs[$oneSite['id']]['id'], -// 'is_print' => (int)(RedisCache::sIsMember($key, $childVal['id'].':'.($one['distribution_floor_id'] ?? 0))) + 'is_print' => $this->type == OrderCode::ORDER_TYPE_OPTIONAL ? (int)$this->checkIsPrintByList((int)$cycleCateringLogs[$oneSite['id']]['id'],$this->cycleId) : 0 ]; } } diff --git a/app/Service/ServiceTrait/Admin/Catering/PrintTrait.php b/app/Service/ServiceTrait/Admin/Catering/PrintTrait.php index 02dbd82..f1fccc9 100644 --- a/app/Service/ServiceTrait/Admin/Catering/PrintTrait.php +++ b/app/Service/ServiceTrait/Admin/Catering/PrintTrait.php @@ -125,6 +125,20 @@ trait PrintTrait return CateringCode::REDIS_FINISH_VALUE == $this->redis->hGet($this->printKey, (string)$this->logInfo->id); } + /** + * @param int $id + * @param int $cycleId + * @return bool + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + */ + protected function checkIsPrintByList(int $id,int $cycleId): bool + { + $printKey = AdminRedisKey::optionCateringIsPrint($this->cycleId); + + return CateringCode::REDIS_FINISH_VALUE == $this->redis->hGet($printKey, (string)$id); + } + /** * @return void * @throws ContainerExceptionInterface