diff --git a/app/Http/Enum/Message/MessageTypeEnum.php b/app/Http/Enum/Message/MessageTypeEnum.php index b924633..38eb68c 100644 --- a/app/Http/Enum/Message/MessageTypeEnum.php +++ b/app/Http/Enum/Message/MessageTypeEnum.php @@ -5,9 +5,17 @@ namespace App\Http\Enum\Message; class MessageTypeEnum { - CONST PRICE_EXCEPTION_NOTICE = "price_exception_notice"; + const PRICE_EXCEPTION_NOTICE = "price_exception_notice"; const LOW_STOCK_NOTICE = "low_stock_notice"; const QUALITY_PERIOD_EXPIRE_NOTICE = "quality_period_expire_notice"; + + const DEFAULT_ROLE_IDS = [9]; + + const MESSAGE_ALL_TYPE = [ + self::LOW_STOCK_NOTICE, + self::PRICE_EXCEPTION_NOTICE, + self::QUALITY_PERIOD_EXPIRE_NOTICE + ]; } \ No newline at end of file diff --git a/app/Http/Service/MessageService.php b/app/Http/Service/MessageService.php index 332e9bd..daaac35 100644 --- a/app/Http/Service/MessageService.php +++ b/app/Http/Service/MessageService.php @@ -3,21 +3,35 @@ namespace App\Http\Service; use App\Http\Enum\Message\MessageTypeEnum; +use App\Models\DeveloperConfig; use App\Models\WebsiteMessages; use Carbon\Carbon; +use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; class MessageService { + public $roleIdsMapKeyByNoticeType = []; + + public function __construct() + { + $DeveloperConfig = DeveloperConfig::query()->whereIn("key", MessageTypeEnum::MESSAGE_ALL_TYPE) + ->pluck("value", "key")->toArray(); + $this->roleIdsMapKeyByNoticeType = [ + MessageTypeEnum::PRICE_EXCEPTION_NOTICE => !empty($DeveloperConfig[MessageTypeEnum::PRICE_EXCEPTION_NOTICE]) + ? explode(",", $DeveloperConfig[MessageTypeEnum::PRICE_EXCEPTION_NOTICE]) : MessageTypeEnum::DEFAULT_ROLE_IDS, + MessageTypeEnum::LOW_STOCK_NOTICE => !empty($DeveloperConfig[MessageTypeEnum::LOW_STOCK_NOTICE]) + ? explode(",", $DeveloperConfig[MessageTypeEnum::LOW_STOCK_NOTICE]) : MessageTypeEnum::DEFAULT_ROLE_IDS, + MessageTypeEnum::QUALITY_PERIOD_EXPIRE_NOTICE => !empty($DeveloperConfig[MessageTypeEnum::QUALITY_PERIOD_EXPIRE_NOTICE]) + ? explode(",", $DeveloperConfig[MessageTypeEnum::QUALITY_PERIOD_EXPIRE_NOTICE]) : MessageTypeEnum::DEFAULT_ROLE_IDS + ]; + } + //值为角色ids - public $roleIdsMapKeyByNoticeType = [ - MessageTypeEnum::PRICE_EXCEPTION_NOTICE => [9], - MessageTypeEnum::LOW_STOCK_NOTICE => [9], - MessageTypeEnum::QUALITY_PERIOD_EXPIRE_NOTICE => [9] - ]; + public function createPriceExceptionMessage(string $businessOrderId, string $productName, string $skuName - , string $goodsPrice, string $cost) + , string $goodsPrice, string $cost) { $roleIds = $this->roleIdsMapKeyByNoticeType[MessageTypeEnum::PRICE_EXCEPTION_NOTICE] ?? []; if (empty($roleIds)) {