'减少', self::INC => '增加', ]; if ($flag) { return $desc; } return $desc[$action] ?? ''; } /** * @notes 变动类型描述 * @param $changeType * @param false $flag * @return string|string[] * @author 段誉 * @date 2023/2/23 10:07 */ public static function getChangeTypeDesc($changeType, $flag = false) { $desc = [ self::UM_DEC_ADMIN => '平台减少余额', self::UM_INC_ADMIN => '平台增加余额', self::UM_INC_RECHARGE => '充值增加余额', self::UM_DEC_RECHARGE_REFUND => '充值订单退款减少余额', self::TOKENS_INC_REGISTER => '注册增加算力', self::TOKENS_INC_ADMIN => '平台增加算力', self::TOKENS_INC_RECHARGE => '购买算力加油包', self::TOKENS_DEC_ADMIN => '平台减少算力', self::TOKENS_DEC_RECHARGE_REFUND => '充值订单退款减少算力', self::TOKENS_DEC_COMMON_CHAT => '通用聊天减少算力', self::TOKENS_DEC_TEXT_TO_IMAGE => '文生图减少算力', self::TOKENS_DEC_IMAGE_TO_IMAGE => '图生图减少算力', self::TOKENS_DEC_GOODS_IMAGE => '商品图减少算力', self::TOKENS_DEC_MODEL_IMAGE => '模特图减少算力', self::TOKENS_DEC_MEETING => '会议减少算力', self::TOKENS_DEC_MIND_MAP => '思维导图减少算力', self::TOKENS_DEC_SCENE_CHAT => '场景聊天减少算力', self::TOKENS_DEC_IMAGE_PROMPT => '生图文案减少算力', self::TOKENS_DEC_EXPIRE => 'token 加油包过期', self::TOKENS_DEC_HUMAN_AVATAR => '数字人形象 - 标准版减少算力', self::TOKENS_DEC_HUMAN_AUDIO => '数字人音频 - 标准版减少算力', self::TOKENS_DEC_HUMAN_VOICE => '数字人音色 - 标准版减少算力', self::TOKENS_DEC_HUMAN_VIDEO => '数字人视频 - 标准版减少算力', self::TOKENS_DEC_HUMAN_AVATAR_PRO => '数字人形象 - 极致版减少算力', self::TOKENS_DEC_HUMAN_AUDIO_PRO => '数字人音频 - 极致版减少算力', self::TOKENS_DEC_HUMAN_VOICE_PRO => '数字人音色 - 极致版减少算力', self::TOKENS_DEC_HUMAN_VIDEO_PRO => '数字人视频 - 极致版减少算力', self::TOKENS_DEC_HUMAN_AVATAR_YM => '数字人形象 - 高级版减少算力', self::TOKENS_DEC_HUMAN_AUDIO_YM => '数字人音频 - 高级版减少算力', self::TOKENS_DEC_HUMAN_VOICE_YM => '数字人音色 - 高级版减少算力', self::TOKENS_DEC_HUMAN_VIDEO_YM => '数字人视频 - 高级版减少算力', self::TOKENS_DEC_HUMAN_PROMPT => '数字人口播文案提示词减少算力', self::TOKENS_DEC_HUMAN_COPYWRITING => '数字人口播文案减少算力', self::TOKENS_DEC_AI_LIANLIAN => 'AI陪练减少算力', self::TOKENS_DEC_AI_WECHAT => 'AI微信减少算力', self::TOKENS_DEC_AI_XHS => 'AI小红书减少算力', // self::TOKENS_DEC_AUDIO_TEXT => '音频转文字减少算力', self::TOKENS_DEC_AI_RESUME => 'AI简历分析减少算力', self::TOKENS_DEC_AI_MARK => 'AI面试评分减少算力', self::TOKENS_DEC_AI_INTERVIEW_CHAT => 'AI面试聊天减少算力', self::TOKENS_DEC_HUMAN_AVATAR_YMT => '数字人形象 - 通道六-减少算力', self::TOKENS_DEC_HUMAN_AUDIO_YMT => '数字人音频 - 通道六-减少算力', self::TOKENS_DEC_HUMAN_VOICE_YMT => '数字人音色 - 通道六-减少算力', self::TOKENS_DEC_HUMAN_VIDEO_YMT => '数字人视频 - 通道六-减少算力', self::TOKENS_DEC_KNOWLEDGE_RETRIEVE => '知识库检索减少算力', self::TOKENS_DEC_KNOWLEDGE_CREATE => '知识库创建减少算力', self::TOKENS_DEC_KNOWLEDGE_CHAT => '知识库聊天减少算力', self::KEYWORD_TO_TITLE => '关键词转标题减少算力', self::KEYWORD_TO_SUBTITLE => '关键词转副标题减少算力', self::KEYWORD_TO_COPYWRITING => '关键词转文案减少算力', self::TOKENS_INC_CARDCODE_GIVE => '卡密兑换增加算力', ]; if ($flag) { return $desc; } return $desc[$changeType] ?? ''; } /** * @notes 获取用户余额类型描述 * @return string|string[] * @author 段誉 * @date 2023/2/23 10:08 */ public static function getUserMoneyChangeTypeDesc() { $UMChangeType = self::getUserMoneyChangeType(); $changeTypeDesc = self::getChangeTypeDesc('', true); return array_filter($changeTypeDesc, function ($key) use ($UMChangeType) { return in_array($key, $UMChangeType); }, ARRAY_FILTER_USE_KEY); } /** * @notes 获取用户算力类型描述 * @return string|string[] * @author 段誉 * @date 2023/2/23 10:08 */ public static function getUserTokensChangeTypeDesc() { $UMChangeType = self::getUserTokensChangeType(); $changeTypeDesc = self::getChangeTypeDesc('', true); return array_filter($changeTypeDesc, function ($key) use ($UMChangeType) { return in_array($key, $UMChangeType); }, ARRAY_FILTER_USE_KEY); } /** * @notes 获取用户余额变动类型 * @return int[] * @author 段誉 * @date 2023/2/23 10:08 */ public static function getUserMoneyChangeType(): array { return array_merge(self::UM_DEC, self::UM_INC); } /** * @notes 获取用户算力变动类型 * @return int[] * @author 段誉 * @date 2023/2/23 10:08 */ public static function getUserTokensChangeType(): array { return array_merge(self::TOKENS_DEC, self::TOKENS_INC); } /** * @notes 获取变动对象 * @param $changeType * @return false * @author 段誉 * @date 2023/2/23 10:10 */ public static function getChangeObject($changeType) { // 用户余额 $um = self::getUserMoneyChangeType(); if (in_array($changeType, $um)) { return self::UM; } $tokens = self::getUserTokensChangeType(); if (in_array($changeType, $tokens)) { return self::TOKENS; } // 其他... return false; } /** * @notes 检查code是否存在 * @param int $code * @return bool * @author 段誉 * @date 2023/2/23 10:08 */ public static function checkCode(int $code): bool { $config = ModelConfig::where('code', $code)->findOrEmpty(); return $config->isEmpty() ? false : true; } }