$this->user_id]], true, [], false, $userTeamStatisticsField ); $userTeamAchievementStatisticsField = 'team_order_num, team_goods_price_total, team_pay_selling_price'; $userTeamAchievementStatisticsData = UserTeamAchievementStatistics::getOne( [['user_id' => $this->user_id]], true, [], false, $userTeamAchievementStatisticsField ); $userStatisticsTotalData = UserAchievementStatisticsTotal::getOne( [['user_id' => $this->user_id]], true, [], false, 'pay_selling_price, user_goods_price_total, user_order_num' ); // 上级用户 $pUser = User::getUser([['id' => $this->user->parent_id]], 'id, nickname, mobile, level, avatar_url', [], true); $user = [ 'id' => $this->user->id, 'mobile' => $this->user->mobile, 'nickname' => $this->user->nickname, 'avatar_url' => $this->user->avatar_url, 'level' => $this->user->level, ]; $this->success( 'success', [ 'total_data' => [ 'user_indirect_total' => $userTeamStatisticsData['user_indirect_total'] ?? 0, 'user_direct_total' => $userTeamStatisticsData['user_direct_total'] ?? 0, 'user_team_total' => ($userTeamStatisticsData['user_team_total'] ?? 0) + 1, // 包含自己 'user_team_order_total' => bcadd( ($userTeamAchievementStatisticsData['team_order_num'] ?? 0), ($userStatisticsTotalData['user_order_num'] ?? 0), 2 ), 'team_goods_price_total' => bcadd( ($userTeamAchievementStatisticsData['team_goods_price_total'] ?? 0), ($userStatisticsTotalData['user_goods_price_total'] ?? 0), 2 ), 'team_pay_selling_price' => bcadd( ($userTeamAchievementStatisticsData['team_pay_selling_price'] ?? 0), ($userStatisticsTotalData['pay_selling_price'] ?? 0), 2 ), ], 'p_user' => $pUser, 'user' => $user ] ); } /** * 团队统计 * * @return void */ public function actionGetTeamStatistics() { $params = $this->request->get(); $params['user_id'] = $this->user_id; $params['date'] = []; !empty($params['startDate']) && !empty($params['endDate']) && $params['date'] = [$params['startDate'], $params['endDate']]; $params['limit'] = $params['limit'] ?? 10; $params['mall_id'] = $this->mall_id; $userAchievementService = new UserAchievementService; $this->success('success', $userAchievementService->getListByUserId($params)); } /** * 明细统计 * * @return void */ public function actionGetTeamDetail() { $userAchievementService = new UserAchievementService; $params = $this->request->get(); !empty($params['startDate']) && !empty($params['endDate']) && $params['date'] = [$params['startDate'], $params['endDate']]; // 订单会变化,所以需要到当前的23:59:59 $params['user_id'] = $this->user_id; $params['mall_id'] = $this->mall_id; $this->success('success', $userAchievementService->getGroupDetail($params)); } }