|
|
@@ -210,6 +210,48 @@ class TransferForm extends Model {
|
|
|
// 2. 如果发起人是普通会员,则只能转给自己推荐网的上级某个节点
|
|
|
$relation = new Relation();
|
|
|
if (!$initiatorIsDec) {
|
|
|
+ $sql =<<<SQL
|
|
|
+ WITH recursive t_rec AS -- recursive为关键字,可以不列出字段列表
|
|
|
+ (
|
|
|
+ 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 -- 递归生成的结果集t2的parent_id与之前的源表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;
|
|
|
+ $relationNodes = \Yii::$app->db->createCommand($sql)
|
|
|
+ ->bindValue(':USER_NAME' , $fromUser['USER_NAME'])
|
|
|
+ ->execute();
|
|
|
+ LoggerTool::debug(json_encode(['$relationNodes', $relationNodes]));
|
|
|
+ return null;
|
|
|
+
|
|
|
// 判断接受者是否是自己的推荐网上级某个节点
|
|
|
$allowable = $relation->loopRelationParentDo($initiatorId, function ($parent) use ($recipientId) {
|
|
|
$parentUser = CalcCache::getUserInfo($parent['PARENT_UID'], $this->_periodNum);
|