|
@@ -171,7 +171,32 @@ class GameplayRuleService extends BaseService
|
|
|
*/
|
|
|
public static function bettingRuleVerify($input)
|
|
|
{
|
|
|
- $result = self::enum()::validateInput($input);
|
|
|
+ $result = self::validateInput($input);
|
|
|
return $result;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @description: 校验输入的内容
|
|
|
+ * @param {*} $input
|
|
|
+ * @return {*}
|
|
|
+ */
|
|
|
+ public static function validateInput($input)
|
|
|
+ {
|
|
|
+ // 获取所有玩法
|
|
|
+ $allRules = self::model()::pluck('keywords')->toArray();
|
|
|
+
|
|
|
+
|
|
|
+ // 玩法正则(防止玩法里有特殊符号出错)
|
|
|
+ $rulesPattern = implode('|', array_map('preg_quote', $allRules));
|
|
|
+
|
|
|
+ // 匹配玩法 + 金额
|
|
|
+ if (preg_match('/^(' . $rulesPattern . ')(\d+)$/u', $input, $matches)) {
|
|
|
+ return [
|
|
|
+ 'rule' => $matches[1],
|
|
|
+ 'amount' => (int)$matches[2]
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|