request->isGet) { return $this->error('请求方式错误'); } $user = $this->user; $info = [ 'user_id' => $user->id, 'nickname' => $user->nickname, 'avatar_url' => $user->avatar_url, 'mobile' => $user->mobile, 'settlement_cycle' => '', 'settlemented_income' => 0, 'not_settlement_income' => 0, 'all_income' => 0, ]; $configs = \Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_ACHIEVEMENT, 'basic'); // dd($configs); if (0 == $configs['settlement_cycle']) { $cycle = '每周一'; } elseif (1 == $configs['settlement_cycle']) { $cycle = '每月1号'; } elseif (2 == $configs['settlement_cycle']) { $cycle = '每自然季度'; } else { $cycle = ''; } $info['settlement_cycle'] = $cycle . ' ' . $configs['settlement_time']; $query = AchievementAwardLog::find() ->where(['mall_id' => $this->mall_id, 'user_id' => $this->user_id, 'status' => StatusEnum::ENABLED, 'is_skip_settlement' => 0]); $query_not = clone $query; $query_ed = clone $query; $info['not_settlement_income'] = $query_not->andWhere(['is_settlement' => 0])->asArray()->sum('award_money+equal_money'); $info['settlemented_income'] = $query_ed->andWhere(['is_settlement' => 1])->asArray()->sum('award_money+equal_money'); $info['all_income'] = $query->asArray()->sum('award_money+equal_money'); return $this->success('success', $info); } public function actionRewardList() { if (!\Yii::$app->request->isGet) { return $this->error('请求方式错误'); } $page = \Yii::$app->request->get('page'); $limit = \Yii::$app->request->get('limit'); // 列表类型,0:全部奖励明细,1:已结算;2:未结算 $type = \Yii::$app->request->get('type'); if (!in_array($type, [0, 1, 2])) return $this->error('参数错误'); $wheres[] = ['mall_id' => $this->mall_id, 'user_id' => $this->user_id, 'status' => StatusEnum::ENABLED, 'is_skip_settlement' => 0]; if (1 == $type) { $wheres[] = ['is_settlement' => 1]; } elseif (2 == $type) { $wheres[] = ['is_settlement' => 0]; } $params = [ 'select' => 'id,grant_id,mall_id,user_id,award_money,is_settlement,achievement_sum,team_achievement,personal_achievement,award_proportion,award_money,created_at,equal_money', 'where' => $wheres, 'order' => 'created_at desc', 'page' => $page, 'limit' => $limit, ]; $list = AchievementAwardLog::listPage($params); if(!empty($list['list'])){ $grant_ids = array_column($list['list'],'grant_id'); $arr = AchievementGrantLog::lists(['where'=>[['id'=>$grant_ids]],'select'=>'id,settlement_time','index'=>'id']); foreach ($list['list'] as &$item){ if(!empty($arr[$item['grant_id']])){ $item['created_at'] = $arr[$item['grant_id']]['settlement_time']??''; } $item['award_money'] = $item['award_money'] + $item['equal_money']; } } // $list = AchievementAwardLog::getStaticError(); return $this->success('success', $list); } }