Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
cabbage 2025-06-13 14:33:56 +08:00
commit d2cdceec1c
1 changed files with 26 additions and 17 deletions

View File

@ -594,22 +594,31 @@
</select> </select>
<update id="recalculateTeamNewBoxNum"> <update id="recalculateTeamNewBoxNum">
UPDATE ${retailsTableName} MERGE INTO ${retailsTableName} s
SET ENABLE_STATUS = 0, TEAM_NEW_BOX_NUM = ( USING (
SELECT SUM(boxNum) SELECT SUM(boxNum) AS boxNum, SUM(pv) AS pv, pk_id
FROM ( FROM (
SELECT b.PK_ID, NVL(s.NEW_BOX_NUM, 0) AS boxNum SELECT b.PK_ID,
FROM ${retailsTableName} s NVL(s.NEW_BOX_NUM, 0) AS boxNum,
RIGHT JOIN ( NVL(s.NEW_CONSUME_PV, 0) AS pv
SELECT cm.PK_ID FROM ${retailsTableName} s
FROM cu_member cm RIGHT JOIN (
WHERE cm.PK_ID != #{pkId} SELECT cm.PK_ID
START WITH cm.PK_ID = #{pkId} FROM cu_member cm
CONNECT BY PRIOR cm.pk_id = cm.pk_parent WHERE cm.PK_ID != #{pkId}
ORDER BY LEVEL START WITH cm.PK_ID = #{pkId}
) b ON s.PK_MEMBER = b.PK_ID CONNECT BY PRIOR cm.pk_id = cm.pk_parent
) c ORDER BY LEVEL
) ) b ON s.PK_MEMBER = b.PK_ID
WHERE PK_MEMBER = #{pkId} ) c
GROUP BY pk_id
) result
ON (s.PK_MEMBER = result.PK_ID)
WHEN MATCHED THEN
UPDATE SET
s.ENABLE_STATUS = 0,
s.TEAM_NEW_BOX_NUM = result.boxNum,
s.TEAM_NEW_PV = result.pv
WHERE s.PK_MEMBER = #{pkId}
</update> </update>
</mapper> </mapper>