diff --git a/Application/Base/Service/PromoteService.class.php b/Application/Base/Service/PromoteService.class.php index 79fa51a05..3fe67e73d 100644 --- a/Application/Base/Service/PromoteService.class.php +++ b/Application/Base/Service/PromoteService.class.php @@ -330,12 +330,20 @@ class PromoteService { $map = []; $map['promote_id'] = $fromPromote['id']; + $spendMap = $map; if (count($shiftIds) > 0) { - $map['id'] = ['in', $shiftIds]; + $spendMap['user_id'] = $map['id'] = ['in', $shiftIds]; } $users = M('user', 'tab_')->field(['id', 'account', 'nickname'])->where($map)->select(); + $spendMap['pay_time'] = ['egt', $orderTime]; + $payAmountRows = M('spend', 'tab_') + ->field(['user_id', 'sum(pay_amount) payAmount']) + ->where($spendMap) + ->select(); + $payAmountRows = index_by_column('user_id', $payAmountRows); + $mends = []; foreach ($users as $item) { $mends[] = [ @@ -349,6 +357,7 @@ class PromoteService { 'remark' => $remark == '' ? ($task['creator_type'] == 0 ? '后台补链' : '玩家迁移') : $remark, 'order_time' => $orderTime, 'create_time' => time(), + 'pay_amount' => isset($payAmountRows[$item['id']]) ? $payAmountRows[$item['id']]['payAmount'] : 0, 'op_id' => $creator ? $creator['id'] : 0, 'op_account' => $opAccount, 'op_type' => $task['creator_type'], diff --git a/Data/update.sql b/Data/update.sql index c365cc758..3fd4261d7 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -656,3 +656,4 @@ ALTER TABLE tab_game ADD `supersign_status` tinyint(1) DEFAULT '1' COMMENT '超 -- 新旧IOS打包标识 ALTER TABLE `tab_game_source` add COLUMN `is_new_sdk` tinyint(2) DEFAULT '0' COMMENT '是否新SDK(IOS)'; +ALTER TABLE `tab_mend` ADD COLUMN `pay_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '换绑时归属前推广员的充值金额' AFTER `promote_account_to`;