|
|
@@ -504,6 +504,57 @@ class UserController extends BaseController {
|
|
|
return static::notice(Yii::t('app', 'decUserNameIsWrong'), 400);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 实际推荐人必须是推荐人上级的校验
|
|
|
+ // 实际推荐人必须是推荐人的推荐网上级
|
|
|
+ $sqlUp =<<<SQL
|
|
|
+ WITH recursive t_rec AS
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ m.USER_ID,
|
|
|
+ U.USER_NAME,
|
|
|
+ m.PARENT_UID,
|
|
|
+ U2.USER_NAME AS PARENT_NAME,
|
|
|
+ 1 AS node_level
|
|
|
+ FROM
|
|
|
+ AR_USER_RELATION_NEW m
|
|
|
+ LEFT JOIN AR_USER U ON U.ID = m.USER_ID
|
|
|
+ LEFT JOIN AR_USER U2 ON U2.ID = m.PARENT_UID
|
|
|
+ WHERE
|
|
|
+ U.USER_NAME = :USER_NAME
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ t1.USER_ID,
|
|
|
+ U.USER_NAME,
|
|
|
+ t1.PARENT_UID,
|
|
|
+ U2.USER_NAME AS PARENT_NAME,
|
|
|
+ t2.node_level + 1 -- 结点层级
|
|
|
+
|
|
|
+ FROM
|
|
|
+ AR_USER_RELATION_NEW t1
|
|
|
+ JOIN t_rec t2 ON t2.PARENT_UID = t1.USER_ID
|
|
|
+ LEFT JOIN AR_USER U ON U.ID = t1.USER_ID
|
|
|
+ LEFT JOIN AR_USER U2 ON U2.ID = t1.PARENT_UID
|
|
|
+ )
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM
|
|
|
+ t_rec
|
|
|
+SQL;
|
|
|
+ // 查询推荐人的所有上级
|
|
|
+ $relationNodeUp = \Yii::$app->db->createCommand($sqlUp)
|
|
|
+ ->bindValue(':USER_NAME' , $post['recUserName'])
|
|
|
+ ->queryAll();
|
|
|
+
|
|
|
+ $relationNodeUp = array_column($relationNodeUp, 'USER_NAME');
|
|
|
+ unset($relationNodeUp[$post['recUserName']]);
|
|
|
+
|
|
|
+ if (!in_array($post['conUserName'], $relationNodeUp)) {
|
|
|
+ return static::notice(Yii::t('app', 'fillSponsorUpline'), 400);
|
|
|
+ }
|
|
|
+
|
|
|
// 根据支付方式区分逻辑
|
|
|
$payMethod = \Yii::$app->request->post('payType', '');
|
|
|
|