| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <?php
- namespace App\Module\SocialFarm\Enums;
- /**
- * 社交行为枚举
- *
- * 定义社交农场中的各种行为类型
- */
- enum SOCIAL_ACTION: string
- {
- case STEAL = 'steal'; // 偷菜
- case HELP_WATER = 'help_water'; // 帮助浇水
- case HELP_FERTILIZE = 'help_fertilize'; // 帮助施肥
- case HELP_WEED = 'help_weed'; // 帮助除草
- case HELP_PEST = 'help_pest'; // 帮助杀虫
- case HELP_HARVEST = 'help_harvest'; // 帮助收获
- case VISIT = 'visit'; // 访问农场
- case GIFT = 'gift'; // 赠送礼物
- case LIKE = 'like'; // 点赞
- /**
- * 获取行为描述
- */
- public function getDescription(): string
- {
- return match($this) {
- self::STEAL => '偷菜',
- self::HELP_WATER => '帮助浇水',
- self::HELP_FERTILIZE => '帮助施肥',
- self::HELP_WEED => '帮助除草',
- self::HELP_PEST => '帮助杀虫',
- self::HELP_HARVEST => '帮助收获',
- self::VISIT => '访问农场',
- self::GIFT => '赠送礼物',
- self::LIKE => '点赞',
- };
- }
- /**
- * 获取行为图标
- */
- public function getIcon(): string
- {
- return match($this) {
- self::STEAL => '🥕',
- self::HELP_WATER => '💧',
- self::HELP_FERTILIZE => '🌱',
- self::HELP_WEED => '🌿',
- self::HELP_PEST => '🐛',
- self::HELP_HARVEST => '🌾',
- self::VISIT => '👀',
- self::GIFT => '🎁',
- self::LIKE => '👍',
- };
- }
- /**
- * 是否为帮助类行为
- */
- public function isHelpAction(): bool
- {
- return in_array($this, [
- self::HELP_WATER,
- self::HELP_FERTILIZE,
- self::HELP_WEED,
- self::HELP_PEST,
- self::HELP_HARVEST,
- ]);
- }
- /**
- * 是否为负面行为
- */
- public function isNegativeAction(): bool
- {
- return $this === self::STEAL;
- }
- /**
- * 是否为正面行为
- */
- public function isPositiveAction(): bool
- {
- return $this->isHelpAction() || in_array($this, [
- self::GIFT,
- self::LIKE,
- ]);
- }
- /**
- * 获取行为分类
- */
- public function getCategory(): string
- {
- return match($this) {
- self::STEAL => 'steal',
- self::HELP_WATER, self::HELP_FERTILIZE, self::HELP_WEED,
- self::HELP_PEST, self::HELP_HARVEST => 'help',
- self::VISIT => 'visit',
- self::GIFT, self::LIKE => 'social',
- };
- }
- /**
- * 获取所有帮助类行为
- */
- public static function getHelpActions(): array
- {
- return [
- self::HELP_WATER,
- self::HELP_FERTILIZE,
- self::HELP_WEED,
- self::HELP_PEST,
- self::HELP_HARVEST,
- ];
- }
- /**
- * 获取所有行为选项(用于后台管理)
- */
- public static function getOptions(): array
- {
- return [
- self::STEAL->value => self::STEAL->getDescription(),
- self::HELP_WATER->value => self::HELP_WATER->getDescription(),
- self::HELP_FERTILIZE->value => self::HELP_FERTILIZE->getDescription(),
- self::HELP_WEED->value => self::HELP_WEED->getDescription(),
- self::HELP_PEST->value => self::HELP_PEST->getDescription(),
- self::HELP_HARVEST->value => self::HELP_HARVEST->getDescription(),
- self::VISIT->value => self::VISIT->getDescription(),
- self::GIFT->value => self::GIFT->getDescription(),
- self::LIKE->value => self::LIKE->getDescription(),
- ];
- }
- }
|