feat : add_staple_food
This commit is contained in:
@@ -8,6 +8,7 @@ class ConfigCode
|
|||||||
* @var string BasicConfiguration|基础配置
|
* @var string BasicConfiguration|基础配置
|
||||||
*/
|
*/
|
||||||
const string TODAY_CUT_OFF_TIME_KEY = 'TodayCutOffTime'; // 当日下单截止时间
|
const string TODAY_CUT_OFF_TIME_KEY = 'TodayCutOffTime'; // 当日下单截止时间
|
||||||
|
const string START_OF_THE_NEW_CYCLE = 'StartOfTheNewCycle'; // 新周期开始时间
|
||||||
const string ORDER_CANCEL_TIME_KEY = 'OrderCancelTime'; // 订单取消时间(下单后自动取消)
|
const string ORDER_CANCEL_TIME_KEY = 'OrderCancelTime'; // 订单取消时间(下单后自动取消)
|
||||||
const string SUNDRY_UNIT_PRICE = 'SundryUnitPrice'; // 附加费单价 (服务费)
|
const string SUNDRY_UNIT_PRICE = 'SundryUnitPrice'; // 附加费单价 (服务费)
|
||||||
const string SUNDRY_PRICE_COMPUTE_TYPE = 'SundryPriceComputeType'; // 附加费计算方式 1 仅自选计算(默认值) 2 仅套餐计算 3 套餐自选都计算
|
const string SUNDRY_PRICE_COMPUTE_TYPE = 'SundryPriceComputeType'; // 附加费计算方式 1 仅自选计算(默认值) 2 仅套餐计算 3 套餐自选都计算
|
||||||
@@ -33,7 +34,8 @@ class ConfigCode
|
|||||||
|
|
||||||
const array DEFAULT_VALUE = [
|
const array DEFAULT_VALUE = [
|
||||||
//BasicConfiguration
|
//BasicConfiguration
|
||||||
self::TODAY_CUT_OFF_TIME_KEY => '15:00:00',
|
self::TODAY_CUT_OFF_TIME_KEY => '10:30:00',
|
||||||
|
self::START_OF_THE_NEW_CYCLE => '15:00:00',
|
||||||
self::ORDER_CANCEL_TIME_KEY => 5,
|
self::ORDER_CANCEL_TIME_KEY => 5,
|
||||||
self::SUNDRY_UNIT_PRICE => '3',
|
self::SUNDRY_UNIT_PRICE => '3',
|
||||||
self::SUNDRY_PRICE_COMPUTE_TYPE => 1,
|
self::SUNDRY_PRICE_COMPUTE_TYPE => 1,
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ use App\Cache\Redis\RedisCache;
|
|||||||
use App\Model\CouponTemplate;
|
use App\Model\CouponTemplate;
|
||||||
use App\Model\UserCoupon;
|
use App\Model\UserCoupon;
|
||||||
use App\Service\Api\BaseService;
|
use App\Service\Api\BaseService;
|
||||||
|
use App\Service\ServiceTrait\Admin\Catering\PrintTrait;
|
||||||
use App\Service\ServiceTrait\Api\OrderTrait;
|
use App\Service\ServiceTrait\Api\OrderTrait;
|
||||||
use App\Service\ServiceTrait\Common\CycleTrait;
|
use App\Service\ServiceTrait\Common\CycleTrait;
|
||||||
use Hyperf\Di\Annotation\Inject;
|
use Hyperf\Di\Annotation\Inject;
|
||||||
@@ -23,7 +24,7 @@ use Psr\Container\NotFoundExceptionInterface;
|
|||||||
|
|
||||||
abstract class BaseOrderService extends BaseService
|
abstract class BaseOrderService extends BaseService
|
||||||
{
|
{
|
||||||
use CycleTrait,OrderTrait;
|
use CycleTrait,OrderTrait,PrintTrait;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int 周期id
|
* @var int 周期id
|
||||||
@@ -170,6 +171,8 @@ abstract class BaseOrderService extends BaseService
|
|||||||
*/
|
*/
|
||||||
public function check(): void
|
public function check(): void
|
||||||
{
|
{
|
||||||
|
$this->checkTodayCutOffTime();
|
||||||
|
|
||||||
$kitchenId = $this->checkSite($this->siteId);
|
$kitchenId = $this->checkSite($this->siteId);
|
||||||
|
|
||||||
$this->getGoodInfo($kitchenId);
|
$this->getGoodInfo($kitchenId);
|
||||||
|
|||||||
@@ -104,6 +104,20 @@ trait PrintTrait
|
|||||||
$this->redis->hSet($this->stopOrderKey, $this->logInfo->site_id, CateringCode::REDIS_FINISH_VALUE);
|
$this->redis->hSet($this->stopOrderKey, $this->logInfo->site_id, CateringCode::REDIS_FINISH_VALUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param int $siteId
|
||||||
|
* @param int $cycleId
|
||||||
|
* @return bool
|
||||||
|
* @throws ContainerExceptionInterface
|
||||||
|
* @throws NotFoundExceptionInterface
|
||||||
|
*/
|
||||||
|
protected function checkIsStopOrder(int $siteId,int $cycleId): bool
|
||||||
|
{
|
||||||
|
$this->stopOrderKey = AdminRedisKey::optionCateringStopOrder($cycleId);
|
||||||
|
|
||||||
|
return CateringCode::REDIS_FINISH_VALUE == $this->redis->hGet($this->stopOrderKey, $siteId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return void
|
* @return void
|
||||||
* @throws ContainerExceptionInterface
|
* @throws ContainerExceptionInterface
|
||||||
|
|||||||
@@ -124,6 +124,18 @@ trait OrderTrait
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return void
|
||||||
|
* @throws ContainerExceptionInterface
|
||||||
|
* @throws NotFoundExceptionInterface
|
||||||
|
*/
|
||||||
|
protected function checkTodayCutOffTime(): void
|
||||||
|
{
|
||||||
|
$todayCutOffTime = $this->configCache->getConfigValue(ConfigCode::TODAY_CUT_OFF_TIME_KEY);
|
||||||
|
|
||||||
|
if (date('H:i:s') >= $todayCutOffTime) throw new ErrException('平台已全部截止下单哦');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检测地点
|
* 检测地点
|
||||||
* @param int $siteId
|
* @param int $siteId
|
||||||
@@ -139,6 +151,13 @@ trait OrderTrait
|
|||||||
$kitchenId = (int)($siteInfo['kitchen_id'] ?? 0);
|
$kitchenId = (int)($siteInfo['kitchen_id'] ?? 0);
|
||||||
if ($kitchenId <= 0) throw new ErrException('该地点暂时不支持点餐');
|
if ($kitchenId <= 0) throw new ErrException('该地点暂时不支持点餐');
|
||||||
|
|
||||||
|
$closeOrderFlag = match ($this->orderType) {
|
||||||
|
OrderCode::ORDER_TYPE_OPTIONAL => $this->checkIsStopOrder($siteId, $this->cycleId),
|
||||||
|
OrderCode::ORDER_TYPE_MEAL => true,
|
||||||
|
};
|
||||||
|
|
||||||
|
if ($closeOrderFlag) throw new ErrException('该点已经截单');
|
||||||
|
|
||||||
$this->orderRes['site_id'] = $siteId;
|
$this->orderRes['site_id'] = $siteId;
|
||||||
$this->orderRes['site_info'] = $siteInfo;
|
$this->orderRes['site_info'] = $siteInfo;
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ trait CycleTrait
|
|||||||
*/
|
*/
|
||||||
protected function initTodayCycleId(): float|bool|Redis|int
|
protected function initTodayCycleId(): float|bool|Redis|int
|
||||||
{
|
{
|
||||||
$TodayCutOffTime = $this->configCache->getConfigValueByKey(ConfigCode::TODAY_CUT_OFF_TIME_KEY);
|
$TodayCutOffTime = $this->configCache->getConfigValueByKey(ConfigCode::START_OF_THE_NEW_CYCLE);
|
||||||
|
|
||||||
if (date('H:i:s') >= ($TodayCutOffTime)) {
|
if (date('H:i:s') >= ($TodayCutOffTime)) {
|
||||||
$day = date('Y-m-d',strtotime('+1 day'));
|
$day = date('Y-m-d',strtotime('+1 day'));
|
||||||
|
|||||||
Reference in New Issue
Block a user